class RailsAsyncMigrations::Connection::ActiveRecord

Attributes

current_direction[R]

Public Class Methods

new(current_direction) click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 6
def initialize(current_direction)
  @current_direction = current_direction
end

Public Instance Methods

allowed_direction?() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 30
def allowed_direction?
  current_direction == :up
end
current_migration() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 20
def current_migration
  @current_migration ||= migration_from current_version
end
current_version() click to toggle source

NOTE : down isn't available from the public API of the gem

# File lib/rails_async_migrations/connection/active_record.rb, line 12
def current_version
  if current_direction == :down
    migration_context.current_version
  elsif current_direction == :up
    pending_migrations.first
  end
end
migration_from(version) click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 24
def migration_from(version)
  migration_context.migrations.find do |migration|
    migration.version.to_s == version.to_s
  end
end

Private Instance Methods

achieved_migrations() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 40
def achieved_migrations
  migration_context.migrations.collect(&:version)
end
all_migrations() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 44
def all_migrations
  migration_context.get_all_versions
end
connection() click to toggle source

NOTE: seems at it was ActiveRecord::Migrator in anterior versions

# File lib/rails_async_migrations/connection/active_record.rb, line 54
def connection
  @connection || ::ActiveRecord::Base.connection
end
migration_context() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 48
def migration_context
  connection.migration_context
end
pending_migrations() click to toggle source
# File lib/rails_async_migrations/connection/active_record.rb, line 36
def pending_migrations
  achieved_migrations - all_migrations
end