Sha256: a770cdb9f1570372c360a0029e37c5a1c3c96d319f709fa91bd2a9f200e329ba

Contents?: true

Size: 820 Bytes

Versions: 10

Compression:

Stored size: 820 Bytes

Contents

require 'singleton'

module PageModels  
  class Configuration
    include Singleton
    attr_writer :driver
    attr_accessor :base_url
    
    def initialize
      reset!
    end
    
    def reset!
      @driver = :capybara
      @base_url = "http://localhost:3000"
      @frameworks = []
      @driver_instance = nil
    end
        
    def integrate(framework)
      @frameworks << framework
    end
    
    def integrate!      
      @frameworks.each { |framework| require "page_models/integration/#{framework}" }
    end
    
    def driver
      @driver_instance ||= begin
        case @driver
          when :capybara
            Capybara.current_session
          when :celerity
            Celerity::Browser.new
          else
            Watir::Browser.new(@driver)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
pagemodels-0.2.3 lib/page_models/configuration.rb
pagemodels-0.2.2 lib/page_models/configuration.rb
pagemodels-0.2.1 lib/page_models/configuration.rb
pagemodels-0.2.0 lib/page_models/configuration.rb
pagemodels-0.1.8 lib/page_models/configuration.rb
pagemodels-0.1.7 lib/page_models/configuration.rb
pagemodels-0.1.6 lib/page_models/configuration.rb
pagemodels-0.1.4 lib/page_models/configuration.rb
pagemodels-0.1.3 lib/page_models/configuration.rb
pagemodels-0.1.2 lib/page_models/configuration.rb