123456789_123456789_123456789_123456789_123456789_

Class: ActiveModel::Attribute::FromDatabase

Do not use. This class is for internal use only.
Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveModel::Attribute
Defined in: activemodel/lib/active_model/attribute.rb

Class Method Summary

::ActiveModel::Attribute - Inherited

.from_database, .from_user,
.new

This method should not be called directly.

.null, .uninitialized, .with_cast_value

Instance Attribute Summary

Instance Method Summary

Constructor Details

This class inherits a constructor from ActiveModel::Attribute

Instance Method Details

#_original_value_for_database (private)

[ GitHub ]

  
# File 'activemodel/lib/active_model/attribute.rb', line 192

def _original_value_for_database
  value_before_type_cast
end

#forgetting_assignment

[ GitHub ]

  
# File 'activemodel/lib/active_model/attribute.rb', line 178

def forgetting_assignment
  # If this attribute was not persisted (with a `value_for_database`
  # that might differ from `value_before_type_cast`) and `value` has not
  # changed in place, we can use the existing `value_before_type_cast`
  # to avoid deserialize / cast / serialize calls from computing the new
  # attribute's `value_before_type_cast`.
  if !defined?(@value_for_database) && !changed_in_place?
    with_value_from_database(value_before_type_cast)
  else
    super
  end
end

#type_cast(value)

[ GitHub ]

  
# File 'activemodel/lib/active_model/attribute.rb', line 174

def type_cast(value)
  type.deserialize(value)
end