Module: ActiveRecord::AttributeMethods::PrimaryKey

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

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#idObject

Returns the primary key value.



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

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

#id=(value) ⇒ Object

Sets the primary key value.



25
26
27
28
29
# File 'lib/active_record/attribute_methods/primary_key.rb', line 25

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

#id?Boolean

Queries the primary key value.

Returns:

  • (Boolean)


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

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

#id_before_type_castObject

Returns the primary key value before type cast.



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

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

#id_in_databaseObject



49
50
51
52
# File 'lib/active_record/attribute_methods/primary_key.rb', line 49

def id_in_database
  sync_with_transaction_state
  attribute_in_database(self.class.primary_key)
end

#id_wasObject

Returns the primary key previous value.



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

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

#to_keyObject

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



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

def to_key
  key = id
  [key] if key
end