Class: CollectionScaffoldGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- CollectionScaffoldGenerator
- Includes:
- Rails::Generators::Migration, Rails::Generators::ResourceHelpers
- Defined in:
- lib/generators/collection_scaffold/collection_scaffold_generator.rb
Class Method Summary collapse
-
.next_migration_number(dirname) ⇒ Object
Implement the required interface for Rails::Generators::Migration.
Instance Method Summary collapse
- #copy_view_files ⇒ Object
- #create_collection_file ⇒ Object
- #create_controller_files ⇒ Object
- #create_migration_file ⇒ Object
- #create_model_file ⇒ Object
- #create_root_folder ⇒ Object
- #create_route ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
Implement the required interface for Rails::Generators::Migration. taken for record collection from: activerecord/lib/rails/generators/active_record/migration.rb
48 49 50 51 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 48 def next_migration_number(dirname) next_migration_number = current_migration_number(dirname) + 1 ActiveRecord::Migration.next_migration_number(next_migration_number) end |
Instance Method Details
#copy_view_files ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 32 def copy_view_files available_views.each do |view| formats.each do |format| filename = filename_with_extensions(view, format) template filename, File.join("app/views", controller_file_path, filename) end end end |
#create_collection_file ⇒ Object
24 25 26 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 24 def create_collection_file template 'collection.rb', File.join('app/models', class_path, file_name, "collection.rb") end |
#create_controller_files ⇒ Object
16 17 18 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 16 def create_controller_files template "controller.rb", File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb") end |
#create_migration_file ⇒ Object
41 42 43 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 41 def create_migration_file migration_template "create_table_migration.rb", "db/migrate/create_#{table_name}.rb" end |
#create_model_file ⇒ Object
20 21 22 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 20 def create_model_file template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb") end |
#create_root_folder ⇒ Object
28 29 30 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 28 def create_root_folder empty_directory File.join("app/views", controller_file_path) end |
#create_route ⇒ Object
12 13 14 |
# File 'lib/generators/collection_scaffold/collection_scaffold_generator.rb', line 12 def create_route route "collection_resources :#{plural_name}" end |