Class: DjiMqttConnect::Thing::Product::EventsMarshal

Inherits:
MessageMarshal show all
Includes:
Utils::MessageParsing
Defined in:
lib/dji_mqtt_connect/marshals/thing/product/events_marshal.rb

Defined Under Namespace

Classes: EventsTransformer

Instance Method Summary collapse

Methods inherited from MessageMarshal

#dump

Instance Method Details

#load(raw_message) ⇒ Object

Attempts to look a the method attribute, and builds a specific Message class for the message



70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/dji_mqtt_connect/marshals/thing/product/events_marshal.rb', line 70

def load(raw_message)
  # Parse the message from JSON
  parsed_message = parse_json(raw_message)

  # Transform the message
  transformed_message = events_transformer.call(parsed_message)
  message_method = transformed_message["_method"]

  # Build an instance of the class, or a generic message from the current class
  message_class = message_class_from_message_method(message_method, EventsMessage)
  build_message(message_class, transformed_message)
end