Module: AsyncStorage::JSON

Defined in:
lib/async_storage/json.rb

Class Method Summary collapse

Class Method Details

.as_json(value) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/async_storage/json.rb', line 31

def as_json(value)
  case value
  when Hash
    value.transform_values { |val| as_json(val) }
  when Enumerable
    value.map { |val| as_json(val) }
  else
    value
  end
end

.dump(object, **options) ⇒ String

Generates JSON.

Raises:

  • (MultiJson::DecodeError)

    MultiJson error classes



25
26
27
28
29
# File 'lib/async_storage/json.rb', line 25

def dump(object, **options)
  object = as_json(object)

  MultiJson.dump(object, **options)
end

.load(data, **options) ⇒ Object

Parses JSON data.

Raises:

  • (MultiJson::ParseError)

    MultiJson error classes



15
16
17
# File 'lib/async_storage/json.rb', line 15

def load(data, **options)
  MultiJson.load(data, **options)
end