Sha256: aaf212c7264cf177ce794d15b4fc5db55c0574a74fb0ed6824bb9e38110cc6bc

Contents?: true

Size: 872 Bytes

Versions: 1

Compression:

Stored size: 872 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(:javascript_exceptions => true, :log_level => :all)
          else
            Watir::Browser.new(@driver)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pagemodels-0.1.5 lib/page_models/configuration.rb