Sha256: 0d6c6759aa9b43e1bd3adcd5f865923b3e19bef3736a539a5700c547f3c3580e

Contents?: true

Size: 429 Bytes

Versions: 2

Compression:

Stored size: 429 Bytes

Contents

module PageModels
  def self.configure
    config = PageModels::Configuration.instance
    yield(config)
    config.integrate!
  end
  
  def self.create(page, args)
    args = args.scan(/"([^"]+)"/).map(&:first)
    page_model_class_name = page.gsub(/(?:^|[^\w])([a-z])/) { $1.upcase }
    Kernel.const_get(page_model_class_name).new(*args)
  rescue NameError
    raise MissingPageModelError.new(page_model_class_name)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pagemodels-0.1.2 lib/page_models/core.rb
pagemodels-0.1.1 lib/page_models/core.rb