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, next_migration_number

Instance Method Details

#accessible_attributesObject



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

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

#attributes_with_indexObject



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

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

#create_migration_fileObject



15
16
17
18
19
# File 'lib/rails/generators/active_record/model/model_generator.rb', line 15

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



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

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

#create_module_fileObject



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

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