Class: Rails::Generator::NamedBase
- Defined in:
- lib/rails_generator/base.rb
Overview
The base generator for named components: models, controllers, mailers, etc. The target name is taken as the first argument and inflected to singular, plural, class, file, and table forms for your convenience. The remaining arguments are aliased to actions
as an array for controller and mailer convenience.
Several useful local variables and methods are populated in the initialize
method. See below for a list of Attributes and External Aliases available to both the manifest and to all templates.
If no name is provided, the generator raises a usage error with content optionally read from the USAGE file in the generator’s base path.
For example, the controller
generator takes the first argument as the name of the class and subsequent arguments as the names of actions to be generated:
./script/generate controller Article index new create
See Rails::Generator::Base for a discussion of manifests, Rails::Generator::Commands::Create for methods available to the manifest, and Rails::Generator for a general discussion of generators.
Direct Known Subclasses
ControllerGenerator, HelperGenerator, IntegrationTestGenerator, MailerGenerator, MetalGenerator, MigrationGenerator, ModelGenerator, ObserverGenerator, PerformanceTestGenerator, PluginGenerator, ResourceGenerator, ScaffoldGenerator, SessionMigrationGenerator
Instance Attribute Summary collapse
-
#class_name ⇒ Object
readonly
Returns the value of attribute class_name.
-
#class_nesting ⇒ Object
readonly
Returns the value of attribute class_nesting.
-
#class_nesting_depth ⇒ Object
readonly
Returns the value of attribute class_nesting_depth.
-
#class_path ⇒ Object
readonly
Returns the value of attribute class_path.
-
#file_path ⇒ Object
readonly
Returns the value of attribute file_path.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#plural_name ⇒ Object
readonly
Returns the value of attribute plural_name.
-
#singular_name ⇒ Object
(also: #file_name)
readonly
Returns the value of attribute singular_name.
-
#table_name ⇒ Object
readonly
Returns the value of attribute table_name.
Attributes inherited from Base
#args, #destination_root, #source_root
Attributes included from Options
Instance Method Summary collapse
-
#initialize(runtime_args, runtime_options = {}) ⇒ NamedBase
constructor
A new instance of NamedBase.
Methods inherited from Base
#after_generate, #destination_path, #manifest, #source_path
Methods included from Options
Constructor Details
#initialize(runtime_args, runtime_options = {}) ⇒ NamedBase
Returns a new instance of NamedBase.
206 207 208 209 210 211 212 213 214 215 |
# File 'lib/rails_generator/base.rb', line 206 def initialize(runtime_args, = {}) super # Name argument is required. usage if runtime_args.empty? @args = runtime_args.dup base_name = @args.shift assign_names!(base_name) end |
Instance Attribute Details
#class_name ⇒ Object (readonly)
Returns the value of attribute class_name.
201 202 203 |
# File 'lib/rails_generator/base.rb', line 201 def class_name @class_name end |
#class_nesting ⇒ Object (readonly)
Returns the value of attribute class_nesting.
202 203 204 |
# File 'lib/rails_generator/base.rb', line 202 def class_nesting @class_nesting end |
#class_nesting_depth ⇒ Object (readonly)
Returns the value of attribute class_nesting_depth.
202 203 204 |
# File 'lib/rails_generator/base.rb', line 202 def class_nesting_depth @class_nesting_depth end |
#class_path ⇒ Object (readonly)
Returns the value of attribute class_path.
202 203 204 |
# File 'lib/rails_generator/base.rb', line 202 def class_path @class_path end |
#file_path ⇒ Object (readonly)
Returns the value of attribute file_path.
202 203 204 |
# File 'lib/rails_generator/base.rb', line 202 def file_path @file_path end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
201 202 203 |
# File 'lib/rails_generator/base.rb', line 201 def name @name end |
#plural_name ⇒ Object (readonly)
Returns the value of attribute plural_name.
201 202 203 |
# File 'lib/rails_generator/base.rb', line 201 def plural_name @plural_name end |
#singular_name ⇒ Object (readonly) Also known as: file_name
Returns the value of attribute singular_name.
201 202 203 |
# File 'lib/rails_generator/base.rb', line 201 def singular_name @singular_name end |
#table_name ⇒ Object (readonly)
Returns the value of attribute table_name.
201 202 203 |
# File 'lib/rails_generator/base.rb', line 201 def table_name @table_name end |