Sha256: 01fde083472456f1d82c5540fe91a195696b5f31e570be2de6ba3b23510286ea

Contents?: true

Size: 1 KB

Versions: 13

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

require 'activemodel/associations'
require 'eac_rails_utils/patches/rails_4'
require 'eac_rails_utils/patches/rails_5_2'

module ActiveModel
  module Associations
    module Hooks
      class << self
        def init
          init_rails_4 if ::EacRailsUtils::Patches::Rails4.enabled?
          init_rails_5_2 if ::EacRailsUtils::Patches::Rails52.enabled?
        end

        def init_rails_4
          ActiveSupport.on_load(:active_record) do
            ActiveRecord::Associations::AssociationScope.prepend(
              ::EacRailsUtils::Patches::Rails4::ActiveRecordAssociationsAssociationScope
            )
          end
        end

        def init_rails_5_2
          rails_5_2_fix_activemodel_associations_methods
        end

        def rails_5_2_fix_activemodel_associations_methods
          %i[belongs_to has_many].each do |method|
            ::EacRailsUtils::Patches::Rails52::ActiveModelAssociationMethodFix.new(method)
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
eac_rails_utils-0.20.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.19.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.18.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.17.2 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.17.1 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.17.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.16.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.15.2 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.15.1 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.15.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.14.1 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.14.0 lib/eac_rails_utils/patches/active_model_associations.rb
eac_rails_utils-0.13.5 lib/eac_rails_utils/patches/active_model_associations.rb