Class: Apes::Serializers::JSON

Inherits:
Object
  • Object
show all
Defined in:
lib/apes/serializers.rb

Overview

JSON encoded serialized value.

Class Method Summary (collapse)

Class Method Details

+ (String) dump(data)

Saves serialized data.

Parameters:

  • data (Object)

    The data to serialize.

Returns:

  • (String)

    Serialized data.



50
51
52
# File 'lib/apes/serializers.rb', line 50

def self.dump(data)
  ActiveSupport::JSON.encode(data.as_json)
end

+ (Object) load(data, raise_errors = false, default = {})

Saves serialized data.

Parameters:

  • data (String)

    The serialized data.

  • raise_errors (Boolean) (defaults to: false)

    Whether to raise decoding errors.

  • default (Object) (defaults to: {})

    A fallback value to return when not raising errors.

Returns:

  • (Object)

    A deserialized value.



37
38
39
40
41
42
43
44
# File 'lib/apes/serializers.rb', line 37

def self.load(data, raise_errors = false, default = {})
  data = ActiveSupport::JSON.decode(data)
  data = data.with_indifferent_access if data.is_a?(Hash)
  data
rescue => e
  raise(e) if raise_errors
  default
end