Sha256: 47cfbd61b7b1bf961ba85c3d3d44a951f891ef2a4c58f33e92a56904b0cfb687

Contents?: true

Size: 881 Bytes

Versions: 16

Compression:

Stored size: 881 Bytes

Contents

module DbCharmer
  module ActiveRecord
    module AssociationPreload
      ASSOCIATION_TYPES = [ :has_one, :has_many, :belongs_to, :has_and_belongs_to_many ]

      def self.extended(base)
        ASSOCIATION_TYPES.each do |association_type|
          base.class_eval <<-EOF, __FILE__, __LINE__ + 1
            def self.preload_#{association_type}_association(records, reflection, preload_options = {})
              if self.db_charmer_top_level_connection? || reflection.options[:polymorphic] ||
                    self.db_charmer_default_connection != reflection.klass.db_charmer_default_connection
                return super(records, reflection, preload_options)
              end
              reflection.klass.on_db(self) do
                super(records, reflection, preload_options)
              end
            end
          EOF
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
db-charmer-1.9.1 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.9.0 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.4 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.3 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.2 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.1 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.0 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.8.0.pre1 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.14 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.13 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.10 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.9 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.8 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.4.0 lib/db_charmer/active_record/association_preload.rb
yam-db-charmer-1.7.01 lib/db_charmer/active_record/association_preload.rb
db-charmer-1.7.1 lib/db_charmer/active_record/association_preload.rb