module ActiveRecord::AttributeMethods::PrimaryKey

Public Instance Methods

id() click to toggle source

Returns the primary key value.

# File lib/active_record/attribute_methods/primary_key.rb, line 17
def id
  sync_with_transaction_state
  primary_key = self.class.primary_key
  _read_attribute(primary_key) if primary_key
end
id=(value) click to toggle source

Sets the primary key value.

# File lib/active_record/attribute_methods/primary_key.rb, line 24
def id=(value)
  sync_with_transaction_state
  primary_key = self.class.primary_key
  _write_attribute(primary_key, value) if primary_key
end
id?() click to toggle source

Queries the primary key value.

# File lib/active_record/attribute_methods/primary_key.rb, line 31
def id?
  sync_with_transaction_state
  query_attribute(self.class.primary_key)
end
id_before_type_cast() click to toggle source

Returns the primary key value before type cast.

# File 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_in_database() click to toggle source
# File lib/active_record/attribute_methods/primary_key.rb, line 48
def id_in_database
  sync_with_transaction_state
  attribute_in_database(self.class.primary_key)
end
id_was() click to toggle source

Returns the primary key previous value.

# File 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() click to toggle source

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

# File lib/active_record/attribute_methods/primary_key.rb, line 11
def to_key
  key = id
  [key] if key
end

Private Instance Methods

attribute_method?(attr_name) click to toggle source
Calls superclass method
# File lib/active_record/attribute_methods/primary_key.rb, line 55
def attribute_method?(attr_name)
  attr_name == "id" || super
end