Class: DynamicImage::Generators::ResourceGenerator
- Inherits:
-
Rails::Generators::ResourceGenerator
- Object
- Rails::Generators::ResourceGenerator
- DynamicImage::Generators::ResourceGenerator
- Includes:
- ActiveRecord::Generators::Migration
- Defined in:
- lib/rails/generators/dynamic_image/resource/resource_generator.rb
Overview
Creates a DynamicImage resource: a model including Model, a controller including
Controller, a migration with the columns DynamicImage needs, and an image_resources route.
bin/rails generate dynamic_image:resource image
Additional attributes are passed through to the migration, letting a resource carry fields of its own.
bin/rails generate dynamic_image:resource photo caption:string
The migration is rendered from Schema. The Active Record generator can't express nullability
or indexes through its name:type arguments.
Instance Method Summary collapse
- #add_controller_extension ⇒ Object
- #add_model_extension ⇒ Object
- #alter_resource_routes ⇒ Object
- #create_dynamic_image_migration ⇒ Object
-
#initialize(args, *options) ⇒ ResourceGenerator
constructor
A new instance of ResourceGenerator.
Constructor Details
#initialize(args, *options) ⇒ ResourceGenerator
Returns a new instance of ResourceGenerator.
28 29 30 31 |
# File 'lib/rails/generators/dynamic_image/resource/resource_generator.rb', line 28 def initialize(args, *) @orm_args = args super end |
Instance Method Details
#add_controller_extension ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/rails/generators/dynamic_image/resource/resource_generator.rb', line 53 def add_controller_extension inject_into_class( File.join("app/controllers", class_path, "#{file_name.pluralize}_controller.rb"), "#{class_name.pluralize}Controller" ) do " include DynamicImage::Controller\n\n private\n\n " \ "def model\n #{class_name}\n end\n" end end |
#add_model_extension ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/rails/generators/dynamic_image/resource/resource_generator.rb', line 65 def add_model_extension inject_into_class( File.join("app/models", class_path, "#{file_name}.rb"), class_name ) do " include DynamicImage::Model\n" end end |
#alter_resource_routes ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/rails/generators/dynamic_image/resource/resource_generator.rb', line 74 def alter_resource_routes gsub_file( File.join("config", "routes.rb"), " resources :#{file_name.pluralize}", " image_resources :#{file_name.pluralize}" ) end |
#create_dynamic_image_migration ⇒ Object
46 47 48 49 50 51 |
# File 'lib/rails/generators/dynamic_image/resource/resource_generator.rb', line 46 def create_dynamic_image_migration migration_template( "create_table_migration.rb", File.join(db_migrate_path, "create_#{table_name}.rb") ) end |