Sha256: e6b014629814884fae703722744ef422f4ebca4d1388fb60b3af66312fdba59b

Contents?: true

Size: 608 Bytes

Versions: 9

Compression:

Stored size: 608 Bytes

Contents

module ActiveRecord
  module AttributeMethods
    module PrimaryKey
      silence_warnings do
        # Returns the primary key previous value.
        def id_was
          sync_with_transaction_state
          # CPK
          # attribute_was(self.class.primary_key)
          if self.composite?
            self.class.primary_keys.map do |key_attr|
              attribute_changed?(key_attr) ? changed_attributes[key_attr] : self.ids_hash[key_attr]
            end
          else
            attribute_was(self.class.primary_key)
          end

        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
composite_primary_keys-9.0.8 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.7 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.6 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.5 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.4 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.2 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.1 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.0 lib/composite_primary_keys/attribute_methods/primary_key.rb
composite_primary_keys-9.0.0.beta1 lib/composite_primary_keys/attribute_methods/primary_key.rb