Class: Spud::Cms::LayoutGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/spud/cms/layout_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_layoutObject



10
11
12
# File 'lib/generators/spud/cms/layout_generator.rb', line 10

def create_layout
  template 'layout.html.erb', "app/views/layouts/#{template_name.downcase.underscore}.html.erb"
end

#create_layout_actionObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/generators/spud/cms/layout_generator.rb', line 14

def create_layout_action
  concern_path = 'app/controllers/concerns/spud_cms_layout_actions.rb'
  unless File.exist?(File.join(Rails.root, concern_path))
    template 'layout_actions.rb', 'app/controllers/concerns/spud_cms_layout_actions.rb'
  end
  inject_into_file concern_path, after: "extend ActiveSupport::Concern\n" do
    "\ndef \#{template_name.downcase.underscore}_action(method)\n  # this action is called when the \#{template_name} cms layout is used\nend\n"
  end
end