module MigrationValidators::Spec::Support::DB

Public Class Methods

up() click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 20
def self.up
  up_migrate 
end

Public Instance Methods

chg_table(table_name = :test_table) { |t| ... } click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 42
def chg_table table_name = :test_table, &block
  migrate do
    change_table(table_name) do |t|
      yield t
    end
  end

  table(table_name)
end
db() click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 14
def db
  ::ActiveRecord::Base.connection 
end
migrate(&block) click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 18
def migrate &block
  migration_class = Class.new(::ActiveRecord::Migration) do
    def self.up
      up_migrate 
    end
  end

  migration_class.class.instance_eval  do
    define_method :up_migrate, &block
  end

  migration_class.migrate(:up)
end
new_table(table_name = :test_table) { |t| ... } click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 32
def new_table table_name = :test_table, &block
  migrate do
    create_table(table_name) do |t|
      yield t
    end
  end

  table(table_name)
end
table(table_name) click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 52
def table table_name
  MigrationValidators::Spec::Support::TableWrapper.new(table_name, db)
end
use_db(config) click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 5
def use_db config
  ::ActiveRecord::Base.remove_connection if ::ActiveRecord::Base.connected?
  ::ActiveRecord::Base.establish_connection config
end
use_memory_db() click to toggle source
# File lib/migration_validators/spec/support/db.rb, line 10
def use_memory_db
  use_db :adapter => "sqlite3", :database => ":memory:"
end