module ActiveRecord::AttributeMethods::PrimaryKey

Active Record Attribute Methods Primary Key

Public Instance Methods

id() click to toggle source

Returns the primary key column’s value. If the primary key is composite, returns an array of the primary key column values.

# File lib/active_record/attribute_methods/primary_key.rb, line 18
def id
  _read_attribute(@primary_key)
end
id=(value) click to toggle source

Sets the primary key column’s value. If the primary key is composite, raises TypeError when the set value not enumerable.

# File lib/active_record/attribute_methods/primary_key.rb, line 28
def id=(value)
  _write_attribute(@primary_key, value)
end
id?() click to toggle source

Queries the primary key column’s value. If the primary key is composite, all primary key column values must be queryable.

# File lib/active_record/attribute_methods/primary_key.rb, line 34
def id?
  _query_attribute(@primary_key)
end
id_before_type_cast() click to toggle source

Returns the primary key column’s value before type cast. If the primary key is composite, returns an array of primary key column values before type cast.

# File lib/active_record/attribute_methods/primary_key.rb, line 40
def id_before_type_cast
  attribute_before_type_cast(@primary_key)
end
id_in_database() click to toggle source

Returns the primary key column’s value from the database. If the primary key is composite, returns an array of primary key column values from database.

# File lib/active_record/attribute_methods/primary_key.rb, line 52
def id_in_database
  attribute_in_database(@primary_key)
end
id_was() click to toggle source

Returns the primary key column’s previous value. If the primary key is composite, returns an array of primary key column previous values.

# File lib/active_record/attribute_methods/primary_key.rb, line 46
def id_was
  attribute_was(@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
  Array(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 61
def attribute_method?(attr_name)
  attr_name == "id" || super
end