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

Version Path
db-charmer-1.9.1 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.9.0 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.4 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.3 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.2 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.1 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.0 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.8.0.pre1 lib/db_charmer/rails3/active_record/relation_method.rb
yam-db-charmer-1.7.01 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.7.1 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.7.0 lib/db_charmer/rails3/active_record/relation_method.rb
db-charmer-1.7.0.pre7 lib/db_charmer/rails3/active_record/relation_method.rb