Module: PageFactory::PagesControllerExtensions
- Defined in:
- lib/page_factory/pages_controller_extensions.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/page_factory/pages_controller_extensions.rb', line 3 def self.included(base) base.class_eval do around_filter :set_page_factory, :only => :new before_filter { |c| c.include_stylesheet 'admin/dropdown' } before_filter { |c| c.include_javascript 'admin/dropdown' } before_filter { |c| c.include_javascript 'admin/pagefactory' } responses do |r| r.singular.default { set_page_defaults if 'new' == action_name } end end end |
Instance Method Details
#set_page_defaults ⇒ Object
26 27 28 29 30 |
# File 'lib/page_factory/pages_controller_extensions.rb', line 26 def set_page_defaults model.class_name = PageFactory.current_factory.page_class model.layout = Layout.find_by_name(PageFactory.current_factory.layout) model.page_factory = PageFactory.current_factory.name unless PageFactory::Base == PageFactory.current_factory end |
#set_page_factory ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/page_factory/pages_controller_extensions.rb', line 15 def set_page_factory begin PageFactory.current_factory = params[:factory] rescue NameError => e # bad factory name passed logger.error "Tried to create page with invalid factory: #{e.}" ensure yield PageFactory.current_factory = nil end end |