Class: RestModel::Serialization::Boolean

Inherits:
Object
  • Object
show all
Defined in:
lib/rest_model/serialization/boolean.rb

Constant Summary collapse

MAPPINGS =
{
  true    => true,
  "true"  => true,
  "TRUE"  => true,
  "1"     => true,
  1       => true,
  1.0     => true,
  "x"     => true,
  "X"     => true,
  "t"     => true,
  "T"     => true,
  false   => false,
  "false" => false,
  "FALSE" => false,
  "0"     => false,
  0       => false,
  0.0     => false,
  ""      => false,
  " "     => false,
  "f"     => false,
  "F"     => false,
  nil     => false
}.freeze

Class Method Summary collapse

Class Method Details

.desserialize(value, options = {}) ⇒ Object



34
35
36
37
38
39
# File 'lib/rest_model/serialization/boolean.rb', line 34

def self.desserialize(value, options = {})
  fail SerializationError, "value '#{value}' is not boolean" unless boolean?(value)

  value ? RestModel::Configuration.true_value
        : RestModel::Configuration.false_value
end

.serialize(value, options = {}) ⇒ Object



28
29
30
31
32
# File 'lib/rest_model/serialization/boolean.rb', line 28

def self.serialize(value, options = {})
  MAPPINGS[value].tap do |bool|
    fail SerializationError, "value '#{value}' is not boolean" if bool.nil?
  end
end