Sha256: 9c67601571a371d7ba8452a1ce17aa4fd61c5ceeaf16b52faff5f01ac6c0907d

Contents?: true

Size: 654 Bytes

Versions: 27

Compression:

Stored size: 654 Bytes

Contents

module ActiveRecord
  module Associations
    class Association
      def creation_attributes
        attributes = {}

        if reflection.macro.in?([:has_one, :has_many]) && !options[:through]
          # CPK
          # attributes[reflection.foreign_key] = owner[reflection.active_record_primary_key]
          Array(reflection.foreign_key).zip(Array(reflection.active_record_primary_key)).each do |key1, key2|
            attributes[key1] = owner[key2]
          end

          if reflection.options[:as]
            attributes[reflection.type] = owner.class.base_class.name
          end
        end

        attributes
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
composite_primary_keys-4.0.0.beta6 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-4.0.0.beta5 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-4.0.0.beta4 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-4.0.0.beta3 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-4.0.0.beta2 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-4.0.0.beta1 lib/composite_primary_keys/associations/association.rb
composite_primary_keys-3.1.8 lib/composite_primary_keys/associations/association.rb