Sha256: 36feae5009e3badb0f907b1f8cc785dc6b8668517a1dcf00bd9ed36fb2dd03e0

Contents?: true

Size: 664 Bytes

Versions: 1

Compression:

Stored size: 664 Bytes

Contents

module Paranoid
  module JoinAssociation
    extend ActiveSupport::Concern

    included do
      alias_method_chain :initialize, :paranoid
    end

    # Add conditions for eager loading
    def initialize_with_paranoid(reflection, join_dependency, parent = nil)
      result = initialize_without_paranoid(reflection, join_dependency, parent)
      chain.reverse.each_with_index do |reflection, i|
        if reflection.klass.paranoid?
          conditions[i] << reflection.klass.paranoid_condition
        end
      end
      result
    end

  end
end

ActiveRecord::Associations::JoinDependency::JoinAssociation.class_eval { include Paranoid::JoinAssociation }

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paranoid_create-0.1.0 lib/paranoid/join_association.rb