Class: Prague::Generators::ScaffoldGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Prague::Generators::ScaffoldGenerator
- Includes:
- Rails::Generators::ResourceHelpers
- Defined in:
- lib/generators/prague/scaffold/scaffold_generator.rb
Instance Method Summary collapse
- #add_display_link_to_show_view ⇒ Object
- #add_meta_tags_to_application_layout ⇒ Object
- #add_routes ⇒ Object
- #create_controller ⇒ Object
- #create_display_helper ⇒ Object
- #create_display_view ⇒ Object
- #create_model_and_migration ⇒ Object
Instance Method Details
#add_display_link_to_show_view ⇒ Object
25 26 27 28 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 25 def add_display_link_to_show_view append_to_file "app/views/#{plural_name}/show.html.erb", "| <%= link_to 'Display', display_#{singular_name}_path(permalink: @#{singular_name}.permalink) %>" end |
#add_meta_tags_to_application_layout ⇒ Object
30 31 32 33 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 30 def gsub_file 'app/views/layouts/application.html.erb', '</head>', " <%= content_for :meta_tags if content_for? :meta_tags %>\n</head>" end |
#add_routes ⇒ Object
39 40 41 42 43 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 39 def add_routes route "\n resources :#{plural_name}" gsub_file 'config/routes.rb', /end\Z/, "\n match ':permalink' => '#{plural_name}#display', as: 'display_#{singular_name}'\nend" end |
#create_controller ⇒ Object
14 15 16 17 18 19 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 14 def create_controller generate 'scaffold_controller', singular_name.classify + ' title permalink link_title sort_value head:text body:text online:boolean' inject_into_class "app/controllers/#{plural_name}_controller.rb", "#{controller_class_name}Controller", erb('action.rb.erb') end |
#create_display_helper ⇒ Object
35 36 37 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 35 def create_display_helper template 'helper.rb.erb', "app/helpers/#{plural_name}_display_helper.rb" end |
#create_display_view ⇒ Object
21 22 23 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 21 def create_display_view template 'view.html.erb.erb', "app/views/#{plural_name}/display.html.erb" end |
#create_model_and_migration ⇒ Object
10 11 12 |
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 10 def create_model_and_migration invoke 'prague:model', [singular_name] end |