module ActiveRecord::AttributeMethods::PrimaryKey
Active Record Attribute Methods Primary Key
Public instance methods
Returns the primary key column’s value. If the primary key is composite, returns an array of the primary key column values.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 20
def id
_read_attribute(@primary_key)
end
Sets the primary key column’s value. If the primary key is composite, raises TypeError when the set value not enumerable.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 30
def id=(value)
_write_attribute(@primary_key, value)
end
Queries the primary key column’s value. If the primary key is composite, all primary key column values must be queryable.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 36
def id?
_query_attribute(@primary_key)
end
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.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 42
def id_before_type_cast
attribute_before_type_cast(@primary_key)
end
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.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 54
def id_in_database
attribute_in_database(@primary_key)
end
Returns the primary key column’s previous value. If the primary key is composite, returns an array of primary key column previous values.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 48
def id_was
attribute_was(@primary_key)
end
Returns this record’s primary key value wrapped in an array if one is available.
Source code GitHub
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 13
def to_key
key = id
Array(key) if key
end