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 template_path, 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 37
def data_migrations_file_path
  File.join(data_migrations_path, "#{file_name}.rb")
end
data_migrations_path() click to toggle source

Use the first path in the data_migrations_path as the target directory

# File lib/generators/data_migration/data_migration_generator.rb, line 42
def data_migrations_path
  Array.wrap(DataMigrate.config.data_migrations_path).first
end
migration_base_class_name() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 33
def migration_base_class_name
  "ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]"
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
template_path() click to toggle source
# File lib/generators/data_migration/data_migration_generator.rb, line 29
def template_path
  DataMigrate.config.data_template_path
end