class DataMigrate::Generators::DataMigrationGenerator

Public Instance Methods

create_data_migration() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 15
def create_data_migration
  set_local_assigns!
  migration_template "data_migration.rb", data_migrations_file_path
end

Protected Instance Methods

data_migrations_file_path() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 39
def data_migrations_file_path
  File.join(data_migrations_path, "#{file_name}.rb")
end
data_migrations_path() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 43
def data_migrations_path
  DataMigrate.config.data_migrations_path
end
migration_base_class_name() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 29
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 22
def set_local_assigns!
  if file_name =~ /^(add|remove)_.*_(?:to|from)_(.*)/
    @migration_action = $1
    @table_name       = $2.pluralize
  end
end