Module: ActiveRecord::AttributeMethods::PrimaryKey

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

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary (collapse)

Methods included from ActiveSupport::Concern

append_features, class_methods, extended, included

Instance Method Details

- (Object) id

Returns the primary key value.



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

def id
  sync_with_transaction_state
  read_attribute(self.class.primary_key)
end

- (Object) id=(value)

Sets the primary key value.



23
24
25
26
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 23

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

- (Boolean) id?

Queries the primary key value.



29
30
31
32
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 29

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

- (Object) id_before_type_cast

Returns the primary key value before type cast.



35
36
37
38
# File 'activerecord/lib/active_record/attribute_methods/primary_key.rb', line 35

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

- (Object) to_key

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



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

def to_key
  sync_with_transaction_state
  key = self.id
  [key] if key
end