Sha256: d0d61d2e554e7437b858fc3794a7bf13a3755d87c7017d052f4c44b7778e6dbe
Contents?: true
Size: 822 Bytes
Versions: 12
Compression:
Stored size: 822 Bytes
Contents
module DbCharmer module ActiveRecord module RelationMethod def self.extended(base) class << base alias_method_chain :relation, :db_charmer alias_method_chain :arel_engine, :db_charmer end end # Create a relation object and initialize its default connection def relation_with_db_charmer(*args, &block) relation_without_db_charmer(*args, &block).tap do |rel| rel.db_charmer_connection = self.connection rel.db_charmer_enable_slaves = self.db_charmer_slaves.any? rel.db_charmer_connection_is_forced = !db_charmer_top_level_connection? end end # Use the model itself an engine for Arel, do not fall back to AR::Base def arel_engine_with_db_charmer(*) self end end end end
Version data entries
12 entries across 12 versions & 2 rubygems