Module: PageModels

Defined in:
lib/page_models/base.rb,
lib/page_models/core.rb,
lib/page_models/errors.rb,
lib/page_models/version.rb,
lib/page_models/configuration.rb,
lib/page_models/integration/rspec.rb,
lib/page_models/integration/capybara.rb,
lib/page_models/integration/cucumber.rb

Defined Under Namespace

Modules: PageModelMethodDelegation, RSpecIntegration Classes: Base, Configuration, ConfigurationError, ImplementationError, MissingPageModelError

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configure {|config| ... } ⇒ Object

Yields:

  • (config)


2
3
4
5
6
# File 'lib/page_models/core.rb', line 2

def self.configure
  config = PageModels::Configuration.instance
  yield(config)
  config.integrate!
end

.create(page, args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/page_models/core.rb', line 8

def self.create(page, args)
  args = args.scan(/"([^"]+)"/).map(&:first)
  page_model_class_name = page.gsub(/(?:^|[^\w])(\w)/) { $1.upcase }
  Kernel.const_get(page_model_class_name).new(*args)
rescue NameError => e
  if e.instance_of?(NameError) # Could be a NoMethodError
    raise MissingPageModelError.new(page_model_class_name)
  else
    raise e
  end
end