Class: DjiMqttConnect::Thing::Product::RequestsMarshal

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

Defined Under Namespace

Classes: RequestsTransformer

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



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/dji_mqtt_connect/marshals/thing/product/requests_marshal.rb', line 32

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

  # Transform the message
  transformed_message = requests_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, RequestsMessage)
  build_message(message_class, transformed_message)
end