Class: Courier::Send::Expiry
- Inherits:
-
Object
- Object
- Courier::Send::Expiry
- Defined in:
- lib/trycourier/send/types/expiry.rb
Instance Attribute Summary collapse
-
#additional_properties ⇒ Object
readonly
Returns the value of attribute additional_properties.
-
#expires_at ⇒ Object
readonly
Returns the value of attribute expires_at.
-
#expires_in ⇒ Object
readonly
Returns the value of attribute expires_in.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Send::Expiry
Deserialize a JSON object to an instance of Expiry.
-
.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.
Instance Method Summary collapse
- #initialize(expires_in:, expires_at: nil, additional_properties: nil) ⇒ Send::Expiry constructor
-
#to_json(*_args) ⇒ JSON
Serialize an instance of Expiry to a JSON object.
Constructor Details
#initialize(expires_in:, expires_at: nil, additional_properties: nil) ⇒ Send::Expiry
15 16 17 18 19 20 21 22 |
# File 'lib/trycourier/send/types/expiry.rb', line 15 def initialize(expires_in:, expires_at: nil, additional_properties: nil) # @type [String] An epoch timestamp or ISO8601 timestamp with timezone `(YYYY-MM-DDThh:mm:ss.sTZD)` that describes the time in which a message expires. @expires_at = expires_at # @type [Send::ExpiresInType] A duration in the form of milliseconds or an ISO8601 Duration format (i.e. P1DT4H). @expires_in = expires_in # @type [OpenStruct] Additional properties unmapped to the current class definition @additional_properties = additional_properties end |
Instance Attribute Details
#additional_properties ⇒ Object (readonly)
Returns the value of attribute additional_properties.
9 10 11 |
# File 'lib/trycourier/send/types/expiry.rb', line 9 def additional_properties @additional_properties end |
#expires_at ⇒ Object (readonly)
Returns the value of attribute expires_at.
9 10 11 |
# File 'lib/trycourier/send/types/expiry.rb', line 9 def expires_at @expires_at end |
#expires_in ⇒ Object (readonly)
Returns the value of attribute expires_in.
9 10 11 |
# File 'lib/trycourier/send/types/expiry.rb', line 9 def expires_in @expires_in end |
Class Method Details
.from_json(json_object:) ⇒ Send::Expiry
Deserialize a JSON object to an instance of Expiry
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/trycourier/send/types/expiry.rb', line 28 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) expires_at = struct.expires_at if parsed_json["expires_in"].nil? expires_in = nil else expires_in = parsed_json["expires_in"].to_json expires_in = Send::ExpiresInType.from_json(json_object: expires_in) end new(expires_at: expires_at, expires_in: expires_in, additional_properties: 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.
52 53 54 55 |
# File 'lib/trycourier/send/types/expiry.rb', line 52 def self.validate_raw(obj:) obj.expires_at&.is_a?(String) != false || raise("Passed value for field obj.expires_at is not the expected type, validation failed.") Send::ExpiresInType.validate_raw(obj: obj.expires_in) end |
Instance Method Details
#to_json(*_args) ⇒ JSON
Serialize an instance of Expiry to a JSON object
44 45 46 |
# File 'lib/trycourier/send/types/expiry.rb', line 44 def to_json(*_args) { "expires_at": @expires_at, "expires_in": @expires_in }.to_json end |