Class: Cloudflare::Email::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudflare/email/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw, status: 200) ⇒ Response

Returns a new instance of Response.



6
7
8
9
# File 'lib/cloudflare/email/response.rb', line 6

def initialize(raw, status: 200)
  @raw    = raw.is_a?(Hash) ? raw : {}
  @status = status
end

Instance Attribute Details

#rawObject (readonly)

Returns the value of attribute raw.



4
5
6
# File 'lib/cloudflare/email/response.rb', line 4

def raw
  @raw
end

#statusObject (readonly)

Returns the value of attribute status.



4
5
6
# File 'lib/cloudflare/email/response.rb', line 4

def status
  @status
end

Instance Method Details

#deliveredObject



26
27
28
# File 'lib/cloudflare/email/response.rb', line 26

def delivered
  Array(result["delivered"])
end

#errorsObject



38
39
40
# File 'lib/cloudflare/email/response.rb', line 38

def errors
  Array(@raw["errors"])
end

#message_idObject



20
21
22
23
24
# File 'lib/cloudflare/email/response.rb', line 20

def message_id
  result["message_id"] ||
    dig_message_id(result["delivered"]) ||
    dig_message_id(result["queued"])
end

#messagesObject



42
43
44
# File 'lib/cloudflare/email/response.rb', line 42

def messages
  Array(@raw["messages"])
end

#permanent_bouncesObject



34
35
36
# File 'lib/cloudflare/email/response.rb', line 34

def permanent_bounces
  Array(result["permanent_bounces"])
end

#queuedObject



30
31
32
# File 'lib/cloudflare/email/response.rb', line 30

def queued
  Array(result["queued"])
end

#resultObject



16
17
18
# File 'lib/cloudflare/email/response.rb', line 16

def result
  @raw["result"].is_a?(Hash) ? @raw["result"] : {}
end

#success?Boolean

Returns:

  • (Boolean)


11
12
13
14
# File 'lib/cloudflare/email/response.rb', line 11

def success?
  return !!@raw["success"] if @raw.key?("success") && !@raw["success"].nil?
  @status >= 200 && @status < 300
end

#to_hObject



46
47
48
# File 'lib/cloudflare/email/response.rb', line 46

def to_h
  @raw
end