Class: Svix::MessageAttemptFailingEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/svix/models/message_attempt_failing_event.rb

Overview

Sent after a message has been failing for a few times. It's sent on the fourth failure. It complements message.attempt.exhausted which is sent after the last failure.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ MessageAttemptFailingEvent

Returns a new instance of MessageAttemptFailingEvent.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/svix/models/message_attempt_failing_event.rb', line 15

def initialize(attributes = {})
  unless attributes.is_a?(Hash)
    fail(
      ArgumentError,
      "The input argument (attributes) must be a hash in `Svix::MessageAttemptFailingEvent` new method"
    )
  end

  attributes.each do |k, v|
    unless ALL_FIELD.include?(k.to_s)
      fail(ArgumentError, "The field #{k} is not part of Svix::MessageAttemptFailingEvent")
    end

    instance_variable_set("@#{k}", v)
    instance_variable_set("@__#{k}_is_defined", true)
  end
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



9
10
11
# File 'lib/svix/models/message_attempt_failing_event.rb', line 9

def data
  @data
end

#typeObject

Returns the value of attribute type.



10
11
12
# File 'lib/svix/models/message_attempt_failing_event.rb', line 10

def type
  @type
end

Class Method Details

.deserialize(attributes = {}) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/svix/models/message_attempt_failing_event.rb', line 33

def self.deserialize(attributes = {})
  attributes = attributes.transform_keys(&:to_s)
  attrs = Hash.new
  attrs["data"] = Svix::MessageAttemptFailingEventData.deserialize(attributes["data"])
  attrs["type"] = attributes["type"]
  new(attrs)
end

Instance Method Details

#serializeObject



41
42
43
44
45
46
# File 'lib/svix/models/message_attempt_failing_event.rb', line 41

def serialize
  out = Hash.new
  out["data"] = Svix::serialize_schema_ref(@data) if @data
  out["type"] = Svix::serialize_primitive(@type) if @type
  out
end

#to_jsonObject

Serializes the object to a json string

Returns:

  • String



50
51
52
# File 'lib/svix/models/message_attempt_failing_event.rb', line 50

def to_json
  JSON.dump(serialize)
end