Class: ActiveModel::Type::Boolean

Inherits:
Value show all
Defined in:
activemodel/lib/active_model/type/boolean.rb

Overview

A class that behaves like a boolean type, including rules for coercion of user input.

  • "false", "f", "0", 0 or any other value in FALSE_VALUES will be coerced to false.

  • Empty strings are coerced to nil.

  • All other values will be coerced to true.

Constant Summary collapse

FALSE_VALUES =
[
  false, 0,
  "0", :"0",
  "f", :f,
  "F", :F,
  "false", :false,
  "FALSE", :FALSE,
  "off", :off,
  "OFF", :OFF,
].to_set.freeze

Instance Attribute Summary

Attributes inherited from Value

#limit, #precision, #scale

Instance Method Summary collapse

Methods inherited from Value

#==, #as_json, #assert_valid_value, #binary?, #cast, #changed?, #changed_in_place?, #deserialize, #force_equality?, #hash, #immutable_value, #initialize, #map, #serializable?, #type_cast_for_schema, #value_constructed_by_mass_assignment?

Constructor Details

This class inherits a constructor from ActiveModel::Type::Value

Instance Method Details

#serialize(value) ⇒ Object

:nodoc:



28
29
30
# File 'activemodel/lib/active_model/type/boolean.rb', line 28

def serialize(value) # :nodoc:
  cast(value)
end

#serialize_cast_value(value) ⇒ Object

:nodoc:



32
33
34
# File 'activemodel/lib/active_model/type/boolean.rb', line 32

def serialize_cast_value(value) # :nodoc:
  value
end

#typeObject

:nodoc:



24
25
26
# File 'activemodel/lib/active_model/type/boolean.rb', line 24

def type # :nodoc:
  :boolean
end