Class: PageMagic::Drivers
- Inherits:
-
Object
- Object
- PageMagic::Drivers
- Defined in:
- lib/page_magic/drivers.rb
Overview
class Drivers - creates an object that can be used to hold driver definitions These PageMagic gets the user's chosen driver from this object.
Constant Summary collapse
- Selenium =
PageMagic::Driver.new(:chrome, :firefox) do |app, , browser| require 'watir-webdriver' Capybara::Selenium::Driver.new(app, .dup.merge(browser: browser)) end
- RackTest =
PageMagic::Driver.new(:rack_test) do |app, | Capybara::RackTest::Driver.new(app, ) end
- Poltergeist =
PageMagic::Driver.new(:poltergeist) do |app, | require 'capybara/poltergeist' Capybara::Poltergeist::Driver.new(app, ) end
Instance Method Summary collapse
-
#==(other) ⇒ Boolean
returns true if this driver instance is equal to the supplied object.
- #all ⇒ Object
-
#find(browser) ⇒ Object
Find a driver definition based on its registered name.
-
#load(path = "#{__dir__}/drivers") ⇒ Object
Loads drivers defined in files at the given path.
-
#register(driver) ⇒ Object
Make a driver available for selection when creating calling session.
Instance Method Details
#==(other) ⇒ Boolean
returns true if this driver instance is equal to the supplied object
37 38 39 |
# File 'lib/page_magic/drivers.rb', line 37 def ==(other) other.is_a?(Drivers) && all == other.all end |
#all ⇒ Object
6 7 8 |
# File 'lib/page_magic/drivers.rb', line 6 def all @all ||= [] end |
#find(browser) ⇒ Object
Find a driver definition based on its registered name
12 13 14 |
# File 'lib/page_magic/drivers.rb', line 12 def find(browser) all.find { |driver| driver.support?(browser) } end |
#load(path = "#{__dir__}/drivers") ⇒ Object
Loads drivers defined in files at the given path
18 19 20 21 22 23 24 25 26 |
# File 'lib/page_magic/drivers.rb', line 18 def load(path = "#{__dir__}/drivers") require 'active_support/inflector' Dir["#{path}/*.rb"].each do |driver_file| require driver_file driver_name = File.basename(driver_file)[/(.*)\.rb$/, 1] register self.class.const_get(driver_name.classify) end end |
#register(driver) ⇒ Object
Make a driver available for selection when creating calling PageMagic.session
30 31 32 |
# File 'lib/page_magic/drivers.rb', line 30 def register(driver) all << driver end |