Module: Riffer::Helpers::Boolean

Extended by:
Boolean
Included in:
Boolean
Defined in:
lib/riffer/helpers/boolean.rb

Overview

Coercion for boolean-ish configuration values.

Instance Method Summary collapse

Instance Method Details

#coerce(value, attribute:) ⇒ Object

Coerces value to a boolean so an env-var “false” (truthy in Ruby) doesn’t silently read as true. Raises Riffer::ArgumentError on an unrecognized value, naming attribute in the message. – : (untyped, attribute: String) -> bool



13
14
15
16
17
18
19
20
21
# File 'lib/riffer/helpers/boolean.rb', line 13

def coerce(value, attribute:)
  case value
  when true, "true", 1, "1" then true
  when false, "false", 0, "0", nil then false
  else
    raise Riffer::ArgumentError,
      "#{attribute} must be a boolean (or 'true'/'false'/'1'/'0'/1/0), got #{value.inspect}"
  end
end