Class: PageModels::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/page_models/base.rb,
lib/page_models/integration/capybara.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



12
13
14
15
16
# File 'lib/page_models/base.rb', line 12

def method_missing(name, *args, &block)
  config.driver.send(name, *args, &block)
rescue NoMethodError
  super(name, *args, &block)
end

Instance Method Details

#open!Object



3
4
5
6
7
8
9
10
# File 'lib/page_models/base.rb', line 3

def open!
  if config.driver.class.to_s == "Capybara::Session"
    visit(full_url)
  else
    goto(full_url)
  end
  verify!
end

#select(*args) ⇒ Object

Capybara’s select method is far more likely than Kernel#select.



4
5
6
# File 'lib/page_models/integration/capybara.rb', line 4

def select(*args)
  config.driver.select(*args)
end

#urlObject



18
19
20
# File 'lib/page_models/base.rb', line 18

def url
   raise ImplementationError.new(self, __method__)
end

#verify!Object



22
23
24
# File 'lib/page_models/base.rb', line 22

def verify!
   raise ImplementationError.new(self, __method__)
end