Class: Prague::Generators::ScaffoldGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/generators/prague/scaffold/scaffold_generator.rb

Instance Method Summary collapse

Instance Method Details



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_layoutObject



30
31
32
33
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 30

def add_meta_tags_to_application_layout
  gsub_file 'app/views/layouts/application.html.erb', '</head>',
      "  <%= content_for :meta_tags if content_for? :meta_tags %>\n</head>"
end

#add_routesObject



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_controllerObject



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_helperObject



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_viewObject



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_migrationObject



10
11
12
# File 'lib/generators/prague/scaffold/scaffold_generator.rb', line 10

def create_model_and_migration
  invoke 'prague:model', [singular_name]
end