Class: Courier::Profiles::Discord
- Inherits:
-
Object
- Object
- Courier::Profiles::Discord
- Defined in:
- lib/trycourier/profiles/types/discord.rb
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Profiles::Discord
Deserialize a JSON object to an instance of Discord.
-
.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:) ⇒ Profiles::Discord
Deserialize a JSON object to an instance of Discord
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/trycourier/profiles/types/discord.rb', line 14 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) begin Profiles::SendToChannel.validate_raw(obj: struct) return Profiles::SendToChannel.from_json(json_object: json_object) rescue StandardError # noop end begin Profiles::SendDirectMessage.validate_raw(obj: struct) return Profiles::SendDirectMessage.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/profiles/types/discord.rb', line 35 def self.validate_raw(obj:) begin return Profiles::SendToChannel.validate_raw(obj: obj) rescue StandardError # noop end begin return Profiles::SendDirectMessage.validate_raw(obj: obj) rescue StandardError # noop end raise("Passed value matched no type within the union, validation failed.") end |