class DataMigrater::Migration

Attributes

filename[R]
name[R]
version[R]

Public Class Methods

new(version, name, filename, path = " click to toggle source
# File lib/data_migrater/migration.rb, line 7
def initialize(version, name, filename, path = "#{Rails.root}/db/data_migrate")
  @filename = filename
  @name     = name
  @path     = path
  @version  = version
end

Public Instance Methods

execute() click to toggle source
# File lib/data_migrater/migration.rb, line 14
def execute
  data_migration = DataMigration.new version: @version

  return false unless data_migration.valid?

  begin
    data_migration.save!
    migration.execute
  rescue StandardError => e
    data_migration.destroy

    raise e
  end
end

Private Instance Methods

migration() click to toggle source
# File lib/data_migrater/migration.rb, line 31
def migration
  require_dependency "#{@path}/#{filename}.rb"

  name.camelize.constantize.new
end