class DataMigrate::Generators::DataMigrationGenerator

Public Instance Methods

create_data_migration() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 14
def create_data_migration
  set_local_assigns!
  migration_template "data_migration.rb", "db/data/#{file_name}.rb"
end

Protected Instance Methods

migration_base_class_name() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 28
def migration_base_class_name
  if ActiveRecord.version >= Gem::Version.new("5.0")
    "ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]"
  elsif ActiveRecord.version >= Gem::Version.new("5.2")
    "DataMigrate::MigrationContext"
  else
    "ActiveRecord::Migration"
  end
end
set_local_assigns!() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 21
def set_local_assigns!
  if file_name =~ /^(add|remove)_.*_(?:to|from)_(.*)/
    @migration_action = $1
    @table_name       = $2.pluralize
  end
end