Module: AnyVali::Defaults

Defined in:
lib/anyvali/parse/defaults.rb

Class Method Summary collapse

Class Method Details

.portable?(value) ⇒ Boolean

Check if a default value is JSON-serializable (portable)

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/anyvali/parse/defaults.rb', line 8

def portable?(value)
  case value
  when NilClass, TrueClass, FalseClass, Integer, Float, String
    true
  when Array
    value.all? { |v| portable?(v) }
  when Hash
    value.all? { |k, v| k.is_a?(String) && portable?(v) }
  else
    false
  end
end