Sha256: d38ac3fcbb1fc822202b43ae7850a324cd995f4ae6a2d32ff57762b9145731c9
Contents?: true
Size: 1.08 KB
Versions: 6
Compression:
Stored size: 1.08 KB
Contents
module ActiveModel::Associations module ActiveRecordReflection extend ActiveSupport::Concern included do if ActiveRecord.version >= Gem::Version.new("4.1.2") class_attribute :_reflections self._reflections = ActiveSupport::HashWithIndifferentAccess.new else class_attribute :reflections self.reflections = {} end end module ClassMethods if ActiveRecord.version < Gem::Version.new("4.1") def create_reflection(macro, name, scope, options, active_record) case macro when :has_many, :belongs_to klass = ActiveRecord::Reflection::AssociationReflection reflection = klass.new(macro, name, scope, options, active_record) end self.reflections = self.reflections.merge(name => reflection) reflection end end def reflect_on_association(association) if ActiveRecord.version >= Gem::Version.new("4.1.2") _reflections[association.to_s] else reflections[association] end end end end end
Version data entries
6 entries across 6 versions & 2 rubygems