Sha256: b754e07867a8005ac5bc33f2f9200614fd44f3768aacc28c3fac4d06cadc3810

Contents?: true

Size: 777 Bytes

Versions: 7

Compression:

Stored size: 777 Bytes

Contents

module ActiveRecord::Associations::Builder
  class HasManyForActiveModel < HasMany
    if ActiveRecord.version >= Gem::Version.new("5.0.0.beta")
      AR_CALLBACK_METHODS = %i(define_callback before_validation after_validation before_save after_save before_update after_update)

      def self.valid_options(_options)
        super + [:active_model, :target_ids] - [:through, :dependent, :source, :source_type, :counter_cache, :as]
      end

      def self.define_callbacks(model, reflection)
        if AR_CALLBACK_METHODS.all? { |meth| self.respond_to?(meth) }
          super
        end
      end
    else
      def valid_options
        super + [:active_model, :target_ids] - [:through, :dependent, :source, :source_type, :counter_cache, :as]
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
eac_rails_utils-0.22.2 lib/active_record/associations/builder/has_many_for_active_model.rb
eac_rails_utils-0.22.1 lib/active_record/associations/builder/has_many_for_active_model.rb
eac_rails_utils-0.22.0 lib/active_record/associations/builder/has_many_for_active_model.rb
eac_rails_utils-0.21.0 lib/active_record/associations/builder/has_many_for_active_model.rb
eac_rails_utils-0.20.0 lib/active_record/associations/builder/has_many_for_active_model.rb
activemodel-associations-0.2.0 lib/active_record/associations/builder/has_many_for_active_model.rb
activemodel-associations-0.2.0.beta2 lib/active_record/associations/builder/has_many_for_active_model.rb