Sha256: 898a3c8891adb9bafad7bbe8c965a102d05c81192d613bc3b6af1834909db563

Contents?: true

Size: 1.62 KB

Versions: 3

Compression:

Stored size: 1.62 KB

Contents

puts "Loading DbCharmer..."

module DbCharmer
  @@migration_connections_should_exist = Rails.env.production?
  mattr_accessor :migration_connections_should_exist

  def self.migration_connections_should_exist?
    !! migration_connections_should_exist
  end

  @@connections_should_exist = Rails.env.production?
  mattr_accessor :connections_should_exist

  def self.connections_should_exist?
    !! connections_should_exist
  end
  
  def self.logger
    return Rails.logger if defined?(Rails)
    @logger ||= Logger.new(STDERR)
  end
end

puts "Extending AR..."

require 'db_charmer/active_record_extensions'
require 'db_charmer/connection_factory'
require 'db_charmer/connection_proxy'
require 'db_charmer/connection_switch'
require 'db_charmer/association_proxy'

# Enable misc AR extensions
ActiveRecord::Base.extend(DbCharmer::ActiveRecordExtensions::ClassMethods)

# Enable connections switching in AR
ActiveRecord::Base.extend(DbCharmer::ConnectionSwitch::ClassMethods)

# Enable connection proxy in AR
ActiveRecord::Base.extend(DbCharmer::MultiDbProxy::ClassMethods)
#ActiveRecord::Base.send(:include, DbCharmer::MultiDbProxy::InstanceMethods)

# Enable connection proxy for associations
ActiveRecord::Associations::AssociationProxy.send(:include, DbCharmer::AssociationProxy::InstanceMethods)

puts "Doing the magic..."

require 'db_charmer/db_magic'
require 'db_charmer/finder_overrides'
require 'db_charmer/multi_db_migrations'
require 'db_charmer/multi_db_proxy'

# Enable multi-db migrations
ActiveRecord::Migration.extend(DbCharmer::MultiDbMigrations::ClassMethods)

# Enable the magic
ActiveRecord::Base.extend(DbCharmer::DbMagic::ClassMethods)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kovyrin-db-charmer-1.1.0 lib/db_charmer.rb
kovyrin-db-charmer-1.1.2 lib/db_charmer.rb
kovyrin-db-charmer-1.1.3 lib/db_charmer.rb