Class: ActiveModel::Type::Boolean

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

Overview

Active Model Type Boolean

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

Coercion

Values set from user input will first be coerced into the appropriate ruby type. Coercion behavior is roughly mapped to Ruby’s boolean semantics.

  • “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

#==, #assert_valid_value, #binary?, #cast, #changed?, #changed_in_place?, #deserialize, #force_equality?, #hash, #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:



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

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

#typeObject

:nodoc:



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

def type # :nodoc:
  :boolean
end