class Axe::FindsPage
Constants
- WEBDRIVER_NAMES
Public Class Methods
new(world)
click to toggle source
# File lib/axe/finds_page.rb, line 11 def initialize(world) @world = world end
Public Instance Methods
page()
click to toggle source
# File lib/axe/finds_page.rb, line 15 def page from_configuration || implicit or raise "A page/browser/webdriver must be configured" end
Private Instance Methods
configuration()
click to toggle source
# File lib/axe/finds_page.rb, line 21 def configuration Axe::Configuration.instance end
ensure_ivar_format(name)
click to toggle source
# File lib/axe/finds_page.rb, line 50 def ensure_ivar_format(name) # ensure leading '@' name.to_s.sub(/^([^@])/, '@\1').to_sym end
from_configuration()
click to toggle source
# File lib/axe/finds_page.rb, line 25 def from_configuration if configuration.page.is_a?(String) || configuration.page.is_a?(Symbol) from_world(configuration.page) else configuration.page end end
from_world(name)
click to toggle source
# File lib/axe/finds_page.rb, line 37 def from_world(name) via_method(name) || via_ivar(name) end
implicit()
click to toggle source
# File lib/axe/finds_page.rb, line 33 def implicit WEBDRIVER_NAMES.map(&method(:from_world)).drop_while(&:nil?).first end
via_ivar(name)
click to toggle source
# File lib/axe/finds_page.rb, line 45 def via_ivar(name) name = ensure_ivar_format(name) @world.instance_variable_get(name) if @world.instance_variables.include?(name) end
via_method(name)
click to toggle source
# File lib/axe/finds_page.rb, line 41 def via_method(name) @world.__send__(name) if @world.respond_to?(name) end