module ActiveRecord::AttributeMethods::PrimaryKey

Public Instance Methods

# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 17
def id
  if pk = self.class.primary_key
    sync_with_transaction_state
    _read_attribute(pk)
  end
end

Returns the primary key value.

id=(value) Show source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 25
def id=(value)
  sync_with_transaction_state
  write_attribute(self.class.primary_key, value) if self.class.primary_key
end

Sets the primary key value.

id?() Show source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 31
def id?
  sync_with_transaction_state
  query_attribute(self.class.primary_key)
end

Queries the primary key value.

id_before_type_cast() Show source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 37
def id_before_type_cast
  sync_with_transaction_state
  read_attribute_before_type_cast(self.class.primary_key)
end

Returns the primary key value before type cast.

id_was() Show source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 43
def id_was
  sync_with_transaction_state
  attribute_was(self.class.primary_key)
end

Returns the primary key previous value.

to_key() Show source
# 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

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

Protected Instance Methods

attribute_method?(attr_name) Show source
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 50
def attribute_method?(attr_name)
  attr_name == 'id' || super
end
Calls superclass method

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.