module DbCharmer::ActiveRecord::RelationMethod

Public Class Methods

extended(base) click to toggle source
# File lib/db_charmer/rails3/active_record/relation_method.rb, line 5
def self.extended(base)
  class << base
    alias_method_chain :relation, :db_charmer
    alias_method_chain :arel_engine, :db_charmer
  end
end

Public Instance Methods

arel_engine_with_db_charmer(*) click to toggle source

Use the model itself an engine for Arel, do not fall back to AR::Base

# File lib/db_charmer/rails3/active_record/relation_method.rb, line 22
def arel_engine_with_db_charmer(*)
  self
end
relation_with_db_charmer(*args, &block) click to toggle source

Create a relation object and initialize its default connection

# File lib/db_charmer/rails3/active_record/relation_method.rb, line 13
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