123456789_123456789_123456789_123456789_123456789_

Module: ActiveRecord::AttributeMethods::Read

Relationships & Source Files
Namespace Children
Modules:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activerecord/lib/active_record/attribute_methods/read.rb

Overview

=====================================

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

append_features, prepend_features

Instance Method Summary

Instance Method Details

#_read_attr(attr_name)

This method is for internal use only.

Like #_read_attribute, but a missing attribute raises ::ActiveModel::MissingAttributeError.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/read.rb', line 57

def _read_attr(attr_name) # :nodoc:
  @attributes.fetch_value!(attr_name)
end

#_read_attribute(attr_name, &block) Also known as: #attribute

This method is for internal use only.

This method exists to avoid the expensive primary_key check internally, without breaking compatibility with the read_attribute API

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/read.rb', line 51

def _read_attribute(attr_name, &block) # :nodoc:
  @attributes.fetch_value(attr_name, &block)
end

#attribute(attr_name, &block) (private)

Alias for #_read_attribute.

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/read.rb', line 61

alias :attribute :_read_attribute

#read_attr(attr_name)

This method is for internal use only.

Like #read_attribute, but attr_name must be a ::String, and a missing attribute raises ::ActiveModel::MissingAttributeError. We assume that attribute name is a string. This is an internal method, don't call it!

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/read.rb', line 45

def read_attr(attr_name) # :nodoc:
  @attributes.fetch_value!(resolve_alias(attr_name))
end

#read_attribute(attr_name, &block)

Returns the value of the attribute identified by attr_name after it has been type cast. For example, a date attribute will cast "2004-12-12" to Date.new(2004, 12, 12). (For information about specific type casting behavior, see the types under ::ActiveModel::Type.)

[ GitHub ]

  
# File 'activerecord/lib/active_record/attribute_methods/read.rb', line 35

def read_attribute(attr_name, &block)
  name = resolve_alias(attr_name.to_s)

  @attributes.fetch_value(name, &block)
end