class Portunus::TypeCasters::Boolean

Attributes

value[R]

Public Class Methods

cast(value:) click to toggle source
# File lib/portunus/type_casters/boolean.rb, line 4
def self.cast(value:)
  new(value: value).cast
end
new(value:) click to toggle source
# File lib/portunus/type_casters/boolean.rb, line 12
def initialize(value:)
  @value = value
end
uncast(value:) click to toggle source
# File lib/portunus/type_casters/boolean.rb, line 8
def self.uncast(value:)
  new(value: value).uncast
end

Public Instance Methods

cast() click to toggle source
# File lib/portunus/type_casters/boolean.rb, line 16
def cast
  if [false, nil, "false", 0].include?(value)
    "false"
  else
    "true"
  end
end
uncast() click to toggle source
# File lib/portunus/type_casters/boolean.rb, line 24
def uncast
  if value == "true"
    true
  elsif value == "false"
    false
  else
    raise ::Portunus::Error.new("Invalid boolean value")
  end
end