Class: Cloudflare::EmailService::Response

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

Overview

Wraps the JSON body returned by the Cloudflare send endpoint.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, body:) ⇒ Response

Returns a new instance of Response.



12
13
14
15
# File 'lib/cloudflare/email_service/response.rb', line 12

def initialize(status:, body:)
  @status = status
  @body = body || {}
end

Instance Attribute Details

#bodyHash (readonly)

Returns the parsed JSON body.

Returns:

  • (Hash)

    the parsed JSON body.



10
11
12
# File 'lib/cloudflare/email_service/response.rb', line 10

def body
  @body
end

#statusInteger (readonly)

Returns the HTTP status code.

Returns:

  • (Integer)

    the HTTP status code.



8
9
10
# File 'lib/cloudflare/email_service/response.rb', line 8

def status
  @status
end

Instance Method Details

#deliveredArray<String>

Returns addresses Cloudflare accepted for delivery.

Returns:

  • (Array<String>)

    addresses Cloudflare accepted for delivery.



39
40
41
# File 'lib/cloudflare/email_service/response.rb', line 39

def delivered
  result["delivered"] || []
end

#errorsArray

Returns Cloudflare error objects, e.g. [{ “code” => 1001, “message” => “…” }].

Returns:

  • (Array)

    Cloudflare error objects, e.g. [{ “code” => 1001, “message” => “…” }].



24
25
26
# File 'lib/cloudflare/email_service/response.rb', line 24

def errors
  body["errors"] || []
end

#messagesArray

Returns informational messages from the API.

Returns:

  • (Array)

    informational messages from the API.



29
30
31
# File 'lib/cloudflare/email_service/response.rb', line 29

def messages
  body["messages"] || []
end

#permanent_bouncesArray<String>

Returns addresses that permanently bounced.

Returns:

  • (Array<String>)

    addresses that permanently bounced.



49
50
51
# File 'lib/cloudflare/email_service/response.rb', line 49

def permanent_bounces
  result["permanent_bounces"] || []
end

#queuedArray<String>

Returns addresses queued for later delivery.

Returns:

  • (Array<String>)

    addresses queued for later delivery.



44
45
46
# File 'lib/cloudflare/email_service/response.rb', line 44

def queued
  result["queued"] || []
end

#resultHash

Returns the “result” object.

Returns:

  • (Hash)

    the “result” object.



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

def result
  body["result"] || {}
end

#success?Boolean

Returns whether Cloudflare reported success.

Returns:

  • (Boolean)

    whether Cloudflare reported success.



18
19
20
# File 'lib/cloudflare/email_service/response.rb', line 18

def success?
  body["success"] == true
end