Class: Mongoid::Generators::ModelGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Mongoid::Generators::ModelGenerator
- Defined in:
- lib/generators/mongoid/model/model_generator.rb
Instance Attribute Summary collapse
-
#model_attributes ⇒ Object
Returns the value of attribute model_attributes.
Class Method Summary collapse
Instance Method Summary collapse
- #create_model_file ⇒ Object
-
#initialize(*args, &block) ⇒ ModelGenerator
constructor
A new instance of ModelGenerator.
Constructor Details
#initialize(*args, &block) ⇒ ModelGenerator
Returns a new instance of ModelGenerator.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generators/mongoid/model/model_generator.rb', line 15 def initialize(*args, &block) super @model_attributes = [] attributes.each do |arg| if arg.include?(':') @model_attributes << Rails::Generators::GeneratedAttribute.new(*arg.split(':')) else @model_attributes << Rails::Generators::GeneratedAttribute.new(arg, "string") end end @model_attributes.uniq! if @model_attributes.empty? if model_exists? model_columns_for_attributes.each do |column| @model_attributes << Rails::Generators::GeneratedAttribute.new(column.name.to_s, column.type.to_s) end else @model_attributes << Rails::Generators::GeneratedAttribute.new('name', 'string') end end end |
Instance Attribute Details
#model_attributes ⇒ Object
Returns the value of attribute model_attributes.
13 14 15 |
# File 'lib/generators/mongoid/model/model_generator.rb', line 13 def model_attributes @model_attributes end |
Class Method Details
.banner ⇒ Object
70 71 72 |
# File 'lib/generators/mongoid/model/model_generator.rb', line 70 def self. "#{$0} mongoid:#{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]" end |
.source_root ⇒ Object
66 67 68 |
# File 'lib/generators/mongoid/model/model_generator.rb', line 66 def self.source_root @source_root ||= File.('../templates', __FILE__) end |
Instance Method Details
#create_model_file ⇒ Object
41 42 43 |
# File 'lib/generators/mongoid/model/model_generator.rb', line 41 def create_model_file template 'model.rb', "app/models/#{singular_name}.rb" end |