Active Model ImmutableString Type¶ ↑
Attribute type to represent immutable strings. It casts incoming values to frozen strings.
class Person include ActiveModel::Attributes attribute :name, :immutable_string end person = Person.new person.name = 1 person.name # => "1" person.name.frozen? # => true
Values are coerced to strings using their to_s
method. Boolean
values are treated differently, however: true
will be cast to "t"
and false
will be cast to "f"
. These strings can be customized when declaring an attribute:
class Person include ActiveModel::Attributes attribute :active, :immutable_string, true: "aye", false: "nay" end person = Person.new person.active = true person.active # => "aye"
Methods
Included Modules