Class/Module Index [+]

Quicksearch

ModelGenerator

Public Instance Methods

manifest() click to toggle source
# File lib/rails_generator/generators/components/model/model_generator.rb, line 4
def manifest
  record do |m|
    # Check for class naming collisions.
    m.class_collisions class_name, "#{class_name}Test"

    # Model, test, and fixture directories.
    m.directory File.join('app/models', class_path)
    m.directory File.join('test/unit', class_path)
    m.directory File.join('test/fixtures', class_path)

    # Model class, unit test, and fixtures.
    m.template 'model.rb',      File.join('app/models', class_path, "#{file_name}.rb")
    m.template 'unit_test.rb',  File.join('test/unit', class_path, "#{file_name}_test.rb")

    unless options[:skip_fixture] 
      m.template 'fixtures.yml',  File.join('test/fixtures', "#{table_name}.yml")
    end

    migration_file_path = file_path.gsub(/\//, '_')
    migration_name = class_name
    if ActiveRecord::Base.pluralize_table_names
      migration_name = migration_name.pluralize
      migration_file_path = migration_file_path.pluralize
    end

    unless options[:skip_migration]
      m.migration_template 'migration.rb', 'db/migrate', :assigns => {
        :migration_name => "Create#{migration_name.gsub(/::/, '')}"
      }, :migration_file_name => "create_#{migration_file_path}"
    end
  end
end

Protected Instance Methods

add_options!(opt) click to toggle source
# File lib/rails_generator/generators/components/model/model_generator.rb, line 42
def add_options!(opt)
  opt.separator ''
  opt.separator 'Options:'
  opt.on("--skip-timestamps",
         "Don't add timestamps to the migration file for this model") { |v| options[:skip_timestamps] = v }
  opt.on("--skip-migration", 
         "Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
  opt.on("--skip-fixture",
         "Don't generation a fixture file for this model") { |v| options[:skip_fixture] = v}
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.