Class: Courier::Send::Message
- Inherits:
-
Object
- Object
- Courier::Send::Message
- Defined in:
- lib/trycourier/send/types/message.rb
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Send::Message
Deserialize a JSON object to an instance of Message.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
Class Method Details
.from_json(json_object:) ⇒ Send::Message
Deserialize a JSON object to an instance of Message
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/trycourier/send/types/message.rb', line 14 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) begin Send::ContentMessage.validate_raw(obj: struct) return Send::ContentMessage.from_json(json_object: json_object) rescue StandardError # noop end begin Send::TemplateMessage.validate_raw(obj: struct) return Send::TemplateMessage.from_json(json_object: json_object) rescue StandardError # noop end struct end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/trycourier/send/types/message.rb', line 35 def self.validate_raw(obj:) begin return Send::ContentMessage.validate_raw(obj: obj) rescue StandardError # noop end begin return Send::TemplateMessage.validate_raw(obj: obj) rescue StandardError # noop end raise("Passed value matched no type within the union, validation failed.") end |