Module: SendGrid4r::REST::Sm::Suppressions
- Includes:
- Request
- Included in:
- API
- Defined in:
- lib/sendgrid4r/rest/sm/suppressions.rb
Overview
SendGrid Web API v3 Suppression Management - Suppressions
Defined Under Namespace
Classes: Suppression, Suppressions
Constant Summary
Constants included
from Request
Request::BASE_URL
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Request
#create_args, #delete, #execute, #finish, #get, #patch, #post, #process_array_params, #process_url_params, #put
Class Method Details
.create_suppression(resp) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 28
def self.create_suppression(resp)
return resp if resp.nil?
Suppression.new(
resp['id'], resp['name'], resp['description'], resp['suppressed']
)
end
|
.create_suppressions(resp) ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 20
def self.create_suppressions(resp)
return resp if resp.nil?
suppressions = resp['suppressions'].map do |suppression|
Sm::Suppressions.create_suppression(suppression)
end
Suppressions.new(suppressions)
end
|
.url(group_id, email_address = nil) ⇒ Object
14
15
16
17
18
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 14
def self.url(group_id, email_address = nil)
url = "#{BASE_URL}/asm/groups/#{group_id}/suppressions"
url = "#{url}/#{email_address}" unless email_address.nil?
url
end
|
Instance Method Details
#delete_suppressed_email(group_id:, email_address:, &block) ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 59
def delete_suppressed_email(group_id:, email_address:, &block)
delete(
@auth,
Sm::Suppressions.url(group_id, email_address),
&block
)
end
|
#get_suppressed_emails(group_id:, &block) ⇒ Object
45
46
47
48
49
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 45
def get_suppressed_emails(group_id:, &block)
endpoint = Sm::Suppressions.url(group_id)
resp = get(@auth, endpoint, &block)
finish(resp, @raw_resp) { |r| r }
end
|
#get_suppressions(email_address:, &block) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 51
def get_suppressions(email_address:, &block)
endpoint = "#{BASE_URL}/asm/suppressions/#{email_address}"
resp = get(@auth, endpoint, &block)
finish(resp, @raw_resp) do |r|
Sm::Suppressions.create_suppressions(r)
end
end
|
#post_suppressed_emails(group_id:, recipient_emails:, &block) ⇒ Object
35
36
37
38
39
40
41
42
43
|
# File 'lib/sendgrid4r/rest/sm/suppressions.rb', line 35
def post_suppressed_emails(group_id:, recipient_emails:, &block)
resp = post(
@auth,
Sm::Suppressions.url(group_id),
recipient_emails: recipient_emails,
&block
)
finish(resp, @raw_resp) { |r| Sm.create_recipient_emails(r) }
end
|