123456789_123456789_123456789_123456789_123456789_

Module: ActiveRecord::AttributeMethods::PrimaryKey

Relationships & Source Files
Namespace Children
Modules:
Extension / Inclusion / Inheritance Descendants
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activerecord/lib/active_record/attribute_methods/primary_key.rb

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Instance Attribute Details

#id (rw)

Returns the primary key value.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 17

def id
  if pk = self.class.primary_key
    sync_with_transaction_state
    _read_attribute(pk)
  end
end

#id=(value) (rw)

Sets the primary key value.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 25

def id=(value)
  sync_with_transaction_state
  write_attribute(self.class.primary_key, value) if self.class.primary_key
end

#id?Boolean (rw)

Queries the primary key value.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 31

def id?
  sync_with_transaction_state
  query_attribute(self.class.primary_key)
end

Instance Method Details

#id_before_type_cast

Returns the primary key value before type cast.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 37

def id_before_type_cast
  sync_with_transaction_state
  read_attribute_before_type_cast(self.class.primary_key)
end

#id_was

Returns the primary key previous value.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 43

def id_was
  sync_with_transaction_state
  attribute_was(self.class.primary_key)
end

#to_key

Returns this record's primary key value wrapped in an ::Array if one is available.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 10

def to_key
  sync_with_transaction_state
  key = self.id
  [key] if key
end