Module: ActiveRecord::AttributeMethods::PrimaryKey

Extended by:
ActiveSupport::Concern
Defined in:
lib/active_record/attribute_methods/primary_key.rb

Overview

Active Record Attribute Methods Primary Key

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#idObject

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



18
19
20
# File 'lib/active_record/attribute_methods/primary_key.rb', line 18

def id
  _read_attribute(@primary_key)
end

#id=(value) ⇒ Object

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



28
29
30
# File 'lib/active_record/attribute_methods/primary_key.rb', line 28

def id=(value)
  _write_attribute(@primary_key, value)
end

#id?Boolean

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

Returns:

  • (Boolean)


34
35
36
# File 'lib/active_record/attribute_methods/primary_key.rb', line 34

def id?
  _query_attribute(@primary_key)
end

#id_before_type_castObject

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.



40
41
42
# File 'lib/active_record/attribute_methods/primary_key.rb', line 40

def id_before_type_cast
  attribute_before_type_cast(@primary_key)
end

#id_for_databaseObject

:nodoc:



56
57
58
# File 'lib/active_record/attribute_methods/primary_key.rb', line 56

def id_for_database # :nodoc:
  @attributes[@primary_key].value_for_database
end

#id_in_databaseObject

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.



52
53
54
# File 'lib/active_record/attribute_methods/primary_key.rb', line 52

def id_in_database
  attribute_in_database(@primary_key)
end

#id_wasObject

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



46
47
48
# File 'lib/active_record/attribute_methods/primary_key.rb', line 46

def id_was
  attribute_was(@primary_key)
end

#primary_key_values_present?Boolean

:nodoc:

Returns:

  • (Boolean)


22
23
24
# File 'lib/active_record/attribute_methods/primary_key.rb', line 22

def primary_key_values_present? # :nodoc:
  !!id
end

#to_keyObject

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



11
12
13
14
# File 'lib/active_record/attribute_methods/primary_key.rb', line 11

def to_key
  key = id
  Array(key) if key
end