class Migration::FromGenerator

Public Instance Methods

create_migrations() click to toggle source
# File lib/generators/migration/from_generator.rb, line 30
def create_migrations
  models.each do |current_model|
    @current_model = current_model
    migration_file_name = "#{migration_prefix}_#{current_model.name.underscore.gsub('/', '_').pluralize}"
    migration_template "migration_from_model.rb.erb", "db/migrate/#{migration_file_name}.rb"
  end
end
preload_models() click to toggle source
# File lib/generators/migration/from_generator.rb, line 23
def preload_models
  ActiveRecordSchema.autoload_paths.each do |p|
    load(p)
  end
  
end

Protected Instance Methods

inherits?() click to toggle source
# File lib/generators/migration/from_generator.rb, line 44
def inherits?
  model.superclass < ActiveRecord::Base
end
migration_prefix() click to toggle source
# File lib/generators/migration/from_generator.rb, line 54
def migration_prefix
  if options[:add].any?
    "add_#{options[:add].join('_and_')}_to"
  else
    "create"
  end      
end
model() click to toggle source
# File lib/generators/migration/from_generator.rb, line 40
def model
  @current_model
end
models() click to toggle source
# File lib/generators/migration/from_generator.rb, line 48
def models
  @models ||= model_names.map {|name|
    name.singularize.camelize.constantize
  } 
end