Sha256: ef876a068660d39c661a8b07c2fd574d117ba60f3dac063d5f220ab23ce347e6

Contents?: true

Size: 774 Bytes

Versions: 2

Compression:

Stored size: 774 Bytes

Contents

module ActiveModel::Associations
  module ActiveRecordReflection
    extend ActiveSupport::Concern

    included do
      class_attribute :reflections
      self.reflections = {}
    end

    module ClassMethods
      if ActiveRecord.version.to_s < "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)
        reflections[association]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activemodel-associations-0.0.2 lib/active_model/associations/active_record_reflection.rb
activemodel-associations-0.0.1 lib/active_model/associations/active_record_reflection.rb