Class: ActiveRecord::Generators::ModelGenerator

Inherits:
Base
  • Object
show all
Defined in:
lib/rails/generators/active_record/model/model_generator.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from Base

base_root

Instance Method Details

#accessible_attributesObject



37
38
39
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 37

def accessible_attributes
  attributes.reject(&:reference?)
end

#attributes_with_indexObject



33
34
35
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 33

def attributes_with_index
  attributes.select { |a| !a.reference? && a.has_index? }
end

#create_migration_fileObject

creates the migration file for the model.



18
19
20
21
22
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 18

def create_migration_file
  return unless options[:migration] && options[:parent].nil?
  attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false
  migration_template "../../migration/templates/create_table_migration.rb", "db/migrate/create_#{table_name}.rb"
end

#create_model_fileObject



24
25
26
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 24

def create_model_file
  template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
end

#create_module_fileObject



28
29
30
31
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 28

def create_module_file
  return if regular_class_path.empty?
  template 'module.rb', File.join('app/models', "#{class_path.join('/')}.rb") if behavior == :invoke
end