Module: Mimi::Messaging::JsonSerializer

Defined in:
lib/mimi/messaging/json_serializer.rb

Overview

JSON serializer.

De/Serializes a message (Hash) from/into a JSON object

Class Method Summary collapse

Class Method Details

.deserialize(message) ⇒ Hash

Deserializes a JSON into a message

Parameters:

  • message (String)

Returns:

  • (Hash)


34
35
36
37
38
39
40
41
42
# File 'lib/mimi/messaging/json_serializer.rb', line 34

def self.deserialize(message)
  unless message.is_a?(String)
    raise ArgumentError, "Invalid message passed to #{self}#deserialize, String is expected"
  end

  JSON.parse(message)
rescue StandardError => e
  raise "#{self} failed to deserialize a message: #{e}"
end

.serialize(message) ⇒ String

Serialize given message into JSON object

Parameters:

  • message (Hash)

Returns:

  • (String)


19
20
21
22
23
24
25
26
27
# File 'lib/mimi/messaging/json_serializer.rb', line 19

def self.serialize(message)
  unless message.is_a?(Hash)
    raise ArgumentError, "Invalid message passed to #{self}#serialize, Hash is expected"
  end

  message.to_json
rescue StandardError => e
  raise "#{self} failed to serialize a message: #{e}"
end