Sha256: 46aecf408f475dbc225812f1252ea62a7616d102366b16ebd20bc0f24701f9d0

Contents?: true

Size: 765 Bytes

Versions: 3

Compression:

Stored size: 765 Bytes

Contents

require 'page_engine/class_methods'
require 'page_engine/instance_methods'
require 'page_engine/exceptions'

class << ActionController::Base
  def page_engine(options = {})
    
    # Check options
    raise PageEngine::PageEngineException.new("Options for page_engine must be in a hash.") unless options.is_a? Hash
    options.each do |key, value|
      unless [:layouts].include?(key)
        raise PageEngine::PageEngineException.new("Unknown option for page_engine: #{key.inspect} => #{value.inspect}.")
      end
    end
  
    include PageEngine::InstanceMethods
    extend PageEngine::ClassMethods
    
    before_filter :find_page
    layout :get_layout
    
    Page.layouts = options[:layouts].is_a?(Array) ? options[:layouts] : ['application']
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
page_engine-0.0.3 lib/page_engine/extensions.rb
page_engine-0.0.2 lib/page_engine/extensions.rb
page_engine-0.0.1 lib/page_engine/extensions.rb