Class: ActiveModel::Type::String
- Inherits:
-
ImmutableString
- Object
- Value
- ImmutableString
- ActiveModel::Type::String
- Defined in:
- activemodel/lib/active_model/type/string.rb
Overview
Attribute type for strings. It is registered under the :string
key.
This class is a specialization of ActiveModel::Type::ImmutableString. It performs coercion in the same way, and can be configured in the same way. However, it accounts for mutable strings, so dirty tracking can properly check if a string has changed.
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Value
Instance Method Summary collapse
Methods inherited from ImmutableString
#initialize, #serialize, #serialize_cast_value, #type
Methods inherited from Value
#==, #as_json, #assert_valid_value, #binary?, #cast, #changed?, #deserialize, #force_equality?, #hash, #immutable_value, #initialize, #map, #serializable?, #serialize, #type, #type_cast_for_schema, #value_constructed_by_mass_assignment?
Constructor Details
This class inherits a constructor from ActiveModel::Type::ImmutableString
Instance Method Details
#changed_in_place?(raw_old_value, new_value) ⇒ Boolean
14 15 16 17 18 |
# File 'activemodel/lib/active_model/type/string.rb', line 14 def changed_in_place?(raw_old_value, new_value) if new_value.is_a?(::String) raw_old_value != new_value end end |
#to_immutable_string ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'activemodel/lib/active_model/type/string.rb', line 20 def to_immutable_string ImmutableString.new( true: @true, false: @false, limit: limit, precision: precision, scale: scale, ) end |