sendgrid4r 1.8.1 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -2
  3. data/README.md +1 -0
  4. data/lib/sendgrid4r/factory/campaign_factory.rb +18 -5
  5. data/lib/sendgrid4r/factory/condition_factory.rb +1 -1
  6. data/lib/sendgrid4r/factory/mail_factory.rb +57 -0
  7. data/lib/sendgrid4r/factory/segment_factory.rb +2 -5
  8. data/lib/sendgrid4r/factory/version_factory.rb +1 -1
  9. data/lib/sendgrid4r/rest/api.rb +48 -49
  10. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +75 -0
  11. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +31 -0
  12. data/lib/sendgrid4r/rest/blocks.rb +49 -68
  13. data/lib/sendgrid4r/rest/bounces.rb +45 -64
  14. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +53 -72
  15. data/lib/sendgrid4r/rest/categories.rb +31 -0
  16. data/lib/sendgrid4r/rest/email_activity.rb +72 -0
  17. data/lib/sendgrid4r/rest/invalid_emails.rb +50 -68
  18. data/lib/sendgrid4r/rest/ip_access_management.rb +86 -111
  19. data/lib/sendgrid4r/rest/ips/addresses.rb +50 -59
  20. data/lib/sendgrid4r/rest/ips/pools.rb +42 -53
  21. data/lib/sendgrid4r/rest/ips/warmup.rb +46 -55
  22. data/lib/sendgrid4r/rest/mail/address.rb +14 -0
  23. data/lib/sendgrid4r/rest/mail/attachment.rb +22 -0
  24. data/lib/sendgrid4r/rest/mail/content.rb +10 -0
  25. data/lib/sendgrid4r/rest/mail/mail.rb +28 -0
  26. data/lib/sendgrid4r/rest/mail/mail_settings.rb +62 -0
  27. data/lib/sendgrid4r/rest/mail/params.rb +64 -0
  28. data/lib/sendgrid4r/rest/mail/personalization.rb +33 -0
  29. data/lib/sendgrid4r/rest/mail/tracking_settings.rb +74 -0
  30. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/custom_fields.rb +12 -27
  31. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/lists.rb +20 -34
  32. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +134 -0
  33. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/reserved_fields.rb +6 -9
  34. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +86 -0
  35. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +119 -0
  36. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +101 -0
  37. data/lib/sendgrid4r/rest/request.rb +61 -63
  38. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +23 -26
  39. data/lib/sendgrid4r/rest/settings/mail.rb +167 -183
  40. data/lib/sendgrid4r/rest/settings/partner.rb +33 -36
  41. data/lib/sendgrid4r/rest/settings/settings.rb +17 -22
  42. data/lib/sendgrid4r/rest/settings/tracking.rb +97 -107
  43. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +52 -60
  44. data/lib/sendgrid4r/rest/sm/groups.rb +52 -58
  45. data/lib/sendgrid4r/rest/sm/sm.rb +15 -17
  46. data/lib/sendgrid4r/rest/sm/suppressions.rb +50 -67
  47. data/lib/sendgrid4r/rest/spam_reports.rb +49 -69
  48. data/lib/sendgrid4r/rest/stats/advanced.rb +100 -102
  49. data/lib/sendgrid4r/rest/stats/category.rb +31 -33
  50. data/lib/sendgrid4r/rest/stats/global.rb +17 -19
  51. data/lib/sendgrid4r/rest/stats/parse.rb +18 -20
  52. data/lib/sendgrid4r/rest/stats/stats.rb +59 -69
  53. data/lib/sendgrid4r/rest/stats/subuser.rb +70 -32
  54. data/lib/sendgrid4r/rest/subusers.rb +106 -134
  55. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +63 -0
  56. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +90 -0
  57. data/lib/sendgrid4r/rest/users.rb +125 -57
  58. data/lib/sendgrid4r/rest/webhooks/event.rb +36 -42
  59. data/lib/sendgrid4r/rest/webhooks/parse.rb +28 -37
  60. data/lib/sendgrid4r/rest/whitelabel/domains.rb +176 -222
  61. data/lib/sendgrid4r/rest/whitelabel/ips.rb +107 -128
  62. data/lib/sendgrid4r/rest/whitelabel/links.rb +131 -167
  63. data/lib/sendgrid4r/version.rb +1 -1
  64. data/lib/sendgrid4r.rb +23 -13
  65. data/sendgrid4r.gemspec +1 -1
  66. data/spec/client_spec.rb +12 -1
  67. data/spec/factory/campaign_factory_spec.rb +75 -35
  68. data/spec/factory/condition_factory_spec.rb +19 -18
  69. data/spec/factory/segment_factory_spec.rb +28 -21
  70. data/spec/factory/version_factory_spec.rb +28 -27
  71. data/spec/photo.jpg +0 -0
  72. data/spec/rest/api_keys_management/api_keys_spec.rb +174 -0
  73. data/spec/rest/api_keys_management/permissions_spec.rb +54 -0
  74. data/spec/rest/blocks_spec.rb +78 -106
  75. data/spec/rest/bounces_spec.rb +91 -118
  76. data/spec/rest/cancel_scheduled_sends_spec.rb +94 -149
  77. data/spec/rest/categories_spec.rb +77 -0
  78. data/spec/rest/email_activity_spec.rb +151 -0
  79. data/spec/rest/invalid_emails_spec.rb +85 -119
  80. data/spec/rest/ip_access_management_spec.rb +157 -195
  81. data/spec/rest/ips/addresses_spec.rb +94 -122
  82. data/spec/rest/ips/pools_spec.rb +84 -112
  83. data/spec/rest/ips/warmup_spec.rb +63 -71
  84. data/spec/rest/mail/address_spec.rb +28 -0
  85. data/spec/rest/mail/attachment_spec.rb +48 -0
  86. data/spec/rest/mail/content_spec.rb +32 -0
  87. data/spec/rest/mail/mail_settings_spec.rb +51 -0
  88. data/spec/rest/mail/mail_spec.rb +136 -0
  89. data/spec/rest/mail/params_spec.rb +152 -0
  90. data/spec/rest/mail/personalization_spec.rb +66 -0
  91. data/spec/rest/mail/tracking_settings_spec.rb +63 -0
  92. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +146 -0
  93. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +307 -0
  94. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +331 -0
  95. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +119 -0
  96. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +268 -0
  97. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +427 -0
  98. data/spec/rest/marketing_campaigns/senders_spec.rb +230 -0
  99. data/spec/rest/settings/enforced_tls_spec.rb +38 -54
  100. data/spec/rest/settings/mail_spec.rb +227 -330
  101. data/spec/rest/settings/partner_spec.rb +40 -59
  102. data/spec/rest/settings/settings_spec.rb +44 -42
  103. data/spec/rest/settings/tracking_spec.rb +130 -189
  104. data/spec/rest/sm/global_unsubscribes_spec.rb +47 -72
  105. data/spec/rest/sm/groups_spec.rb +88 -123
  106. data/spec/rest/sm/sm_spec.rb +32 -30
  107. data/spec/rest/sm/suppressions_spec.rb +105 -140
  108. data/spec/rest/spam_reports_spec.rb +81 -109
  109. data/spec/rest/stats/advanced_spec.rb +67 -125
  110. data/spec/rest/stats/category_spec.rb +27 -45
  111. data/spec/rest/stats/global_spec.rb +34 -42
  112. data/spec/rest/stats/parse_spec.rb +32 -30
  113. data/spec/rest/stats/stats_spec.rb +174 -172
  114. data/spec/rest/stats/subuser_spec.rb +97 -57
  115. data/spec/rest/subusers_spec.rb +156 -209
  116. data/spec/rest/transactional_templates/templates_spec.rb +199 -0
  117. data/spec/rest/transactional_templates/versions_spec.rb +228 -0
  118. data/spec/rest/users_spec.rb +176 -91
  119. data/spec/rest/webhooks/event_spec.rb +59 -85
  120. data/spec/rest/webhooks/parse_spec.rb +51 -71
  121. data/spec/rest/whitelabel/domains_spec.rb +333 -513
  122. data/spec/rest/whitelabel/ips_spec.rb +109 -147
  123. data/spec/rest/whitelabel/links_spec.rb +181 -265
  124. metadata +70 -40
  125. data/lib/sendgrid4r/rest/api_keys/api_keys.rb +0 -80
  126. data/lib/sendgrid4r/rest/api_keys/permissions.rb +0 -33
  127. data/lib/sendgrid4r/rest/campaigns/campaigns.rb +0 -126
  128. data/lib/sendgrid4r/rest/categories/categories.rb +0 -43
  129. data/lib/sendgrid4r/rest/contacts/recipients.rb +0 -150
  130. data/lib/sendgrid4r/rest/contacts/segments.rb +0 -97
  131. data/lib/sendgrid4r/rest/email_activity/email_activity.rb +0 -81
  132. data/lib/sendgrid4r/rest/templates/templates.rb +0 -69
  133. data/lib/sendgrid4r/rest/templates/versions.rb +0 -95
  134. data/spec/rest/api_keys/api_keys_spec.rb +0 -210
  135. data/spec/rest/api_keys/permissions_spec.rb +0 -65
  136. data/spec/rest/campaigns/campaigns_spec.rb +0 -492
  137. data/spec/rest/categories/categories_spec.rb +0 -96
  138. data/spec/rest/contacts/custom_fields_spec.rb +0 -174
  139. data/spec/rest/contacts/lists_spec.rb +0 -372
  140. data/spec/rest/contacts/recipients_spec.rb +0 -343
  141. data/spec/rest/contacts/reserved_fields_spec.rb +0 -146
  142. data/spec/rest/contacts/segments_spec.rb +0 -307
  143. data/spec/rest/email_activity/email_activity_spec.rb +0 -179
  144. data/spec/rest/templates/templates_spec.rb +0 -222
  145. data/spec/rest/templates/versions_spec.rb +0 -252
@@ -1,81 +1,64 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- module Sm
6
- #
7
- # SendGrid Web API v3 Suppression Management - Suppressions
8
- #
9
- module Suppressions
10
- include SendGrid4r::REST::Request
3
+ module SendGrid4r::REST
4
+ module Sm
5
+ #
6
+ # SendGrid Web API v3 Suppression Management - Suppressions
7
+ #
8
+ module Suppressions
9
+ include Request
11
10
 
12
- Suppression = Struct.new(:id, :name, :description, :suppressed)
13
- Suppressions = Struct.new(:suppressions)
11
+ Suppression = Struct.new(:id, :name, :description, :suppressed)
12
+ Suppressions = Struct.new(:suppressions)
14
13
 
15
- def self.url(group_id, email_address = nil)
16
- url = "#{BASE_URL}/asm/groups/#{group_id}/suppressions"
17
- url = "#{url}/#{email_address}" unless email_address.nil?
18
- url
19
- end
20
-
21
- def self.create_suppressions(resp)
22
- return resp if resp.nil?
23
- suppressions = []
24
- resp['suppressions'].each do |suppression|
25
- suppressions.push(
26
- SendGrid4r::REST::Sm::Suppressions.create_suppression(
27
- suppression
28
- )
29
- )
30
- end
31
- Suppressions.new(suppressions)
32
- end
14
+ def self.url(group_id, email_address = nil)
15
+ url = "#{BASE_URL}/asm/groups/#{group_id}/suppressions"
16
+ url = "#{url}/#{email_address}" unless email_address.nil?
17
+ url
18
+ end
33
19
 
34
- def self.create_suppression(resp)
35
- return resp if resp.nil?
36
- Suppression.new(
37
- resp['id'], resp['name'], resp['description'], resp['suppressed']
38
- )
20
+ def self.create_suppressions(resp)
21
+ return resp if resp.nil?
22
+ suppressions = resp['suppressions'].map do |suppression|
23
+ Sm::Suppressions.create_suppression(suppression)
39
24
  end
25
+ Suppressions.new(suppressions)
26
+ end
40
27
 
41
- def self.create_emails(resp)
42
- return resp if resp.nil?
43
- emails = []
44
- resp.each do |email|
45
- emails.push(email)
46
- end
47
- emails
48
- end
28
+ def self.create_suppression(resp)
29
+ return resp if resp.nil?
30
+ Suppression.new(
31
+ resp['id'], resp['name'], resp['description'], resp['suppressed']
32
+ )
33
+ end
49
34
 
50
- def post_suppressed_emails(group_id:, recipient_emails:, &block)
51
- resp = post(
52
- @auth,
53
- SendGrid4r::REST::Sm::Suppressions.url(group_id),
54
- recipient_emails: recipient_emails,
55
- &block
56
- )
57
- SendGrid4r::REST::Sm.create_recipient_emails(resp)
58
- end
35
+ def post_suppressed_emails(group_id:, recipient_emails:, &block)
36
+ resp = post(
37
+ @auth,
38
+ Sm::Suppressions.url(group_id),
39
+ recipient_emails: recipient_emails,
40
+ &block
41
+ )
42
+ Sm.create_recipient_emails(resp)
43
+ end
59
44
 
60
- def get_suppressed_emails(group_id:, &block)
61
- endpoint = SendGrid4r::REST::Sm::Suppressions.url(group_id)
62
- resp = get(@auth, endpoint, &block)
63
- SendGrid4r::REST::Sm::Suppressions.create_emails(resp)
64
- end
45
+ def get_suppressed_emails(group_id:, &block)
46
+ endpoint = Sm::Suppressions.url(group_id)
47
+ get(@auth, endpoint, &block)
48
+ end
65
49
 
66
- def get_suppressions(email_address:, &block)
67
- endpoint = "#{BASE_URL}/asm/suppressions/#{email_address}"
68
- resp = get(@auth, endpoint, &block)
69
- SendGrid4r::REST::Sm::Suppressions.create_suppressions(resp)
70
- end
50
+ def get_suppressions(email_address:, &block)
51
+ endpoint = "#{BASE_URL}/asm/suppressions/#{email_address}"
52
+ resp = get(@auth, endpoint, &block)
53
+ Sm::Suppressions.create_suppressions(resp)
54
+ end
71
55
 
72
- def delete_suppressed_email(group_id:, email_address:, &block)
73
- delete(
74
- @auth,
75
- SendGrid4r::REST::Sm::Suppressions.url(group_id, email_address),
76
- &block
77
- )
78
- end
56
+ def delete_suppressed_email(group_id:, email_address:, &block)
57
+ delete(
58
+ @auth,
59
+ Sm::Suppressions.url(group_id, email_address),
60
+ &block
61
+ )
79
62
  end
80
63
  end
81
64
  end
@@ -1,81 +1,61 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- #
6
- # SendGrid Web API v3 SpamReports
7
- #
8
- module SpamReports
9
- include SendGrid4r::REST::Request
10
-
11
- SpamReport = Struct.new(
12
- :created, :email, :ip
13
- )
14
-
15
- def self.url(email = nil)
16
- url = "#{BASE_URL}/suppression/spam_reports"
17
- url = "#{url}/#{email}" unless email.nil?
18
- url
19
- end
3
+ module SendGrid4r::REST
4
+ #
5
+ # SendGrid Web API v3 SpamReports
6
+ #
7
+ module SpamReports
8
+ include Request
9
+
10
+ SpamReport = Struct.new(:created, :email, :ip)
11
+
12
+ def self.url(email = nil)
13
+ url = "#{BASE_URL}/suppression/spam_reports"
14
+ url = "#{url}/#{email}" unless email.nil?
15
+ url
16
+ end
20
17
 
21
- def self.create_spam_reports(resp)
22
- return resp if resp.nil?
23
- spam_reports = []
24
- resp.each do |spam_report|
25
- spam_reports.push(
26
- SendGrid4r::REST::SpamReports.create_spam_report(spam_report)
27
- )
28
- end
29
- spam_reports
30
- end
18
+ def self.create_spam_reports(resp)
19
+ return resp if resp.nil?
20
+ resp.map { |spam_report| SpamReports.create_spam_report(spam_report) }
21
+ end
31
22
 
32
- def self.create_spam_report(resp)
33
- return resp if resp.nil?
34
- created = Time.at(resp['created']) unless resp['created'].nil?
35
- SpamReport.new(
36
- created,
37
- resp['email'],
38
- resp['ip']
39
- )
40
- end
23
+ def self.create_spam_report(resp)
24
+ return resp if resp.nil?
25
+ created = Time.at(resp['created']) unless resp['created'].nil?
26
+ SpamReport.new(created, resp['email'], resp['ip'])
27
+ end
41
28
 
42
- def get_spam_reports(
43
- start_time: nil, end_time: nil, limit: nil, offset: nil, &block
44
- )
45
- params = {}
46
- params['start_time'] = start_time.to_i unless start_time.nil?
47
- params['end_time'] = end_time.to_i unless end_time.nil?
48
- params['limit'] = limit.to_i unless limit.nil?
49
- params['offset'] = offset.to_i unless offset.nil?
50
- resp = get(@auth, SendGrid4r::REST::SpamReports.url, params, &block)
51
- SendGrid4r::REST::SpamReports.create_spam_reports(resp)
52
- end
29
+ def get_spam_reports(
30
+ start_time: nil, end_time: nil, limit: nil, offset: nil, &block
31
+ )
32
+ params = {}
33
+ params[:start_time] = start_time.to_i unless start_time.nil?
34
+ params[:end_time] = end_time.to_i unless end_time.nil?
35
+ params[:limit] = limit.to_i unless limit.nil?
36
+ params[:offset] = offset.to_i unless offset.nil?
37
+ resp = get(@auth, SpamReports.url, params, &block)
38
+ SpamReports.create_spam_reports(resp)
39
+ end
53
40
 
54
- def delete_spam_reports(delete_all: nil, emails: nil, &block)
55
- endpoint = SendGrid4r::REST::SpamReports.url
56
- payload = {}
57
- if delete_all == true
58
- payload['delete_all'] = delete_all
59
- else
60
- payload['emails'] = emails
61
- end
62
- delete(@auth, endpoint, nil, payload, &block)
41
+ def delete_spam_reports(delete_all: nil, emails: nil, &block)
42
+ if delete_all == true
43
+ payload = { delete_all: delete_all }
44
+ else
45
+ payload = { emails: emails }
63
46
  end
47
+ delete(@auth, SpamReports.url, nil, payload, &block)
48
+ end
64
49
 
65
- def get_spam_report(email:, &block)
66
- endpoint = SendGrid4r::REST::SpamReports.url(email)
67
- params = {}
68
- params['email'] = email
69
- resp = get(@auth, endpoint, params, &block)
70
- SendGrid4r::REST::SpamReports.create_spam_reports(resp)
71
- end
50
+ def get_spam_report(email:, &block)
51
+ params = { email: email }
52
+ resp = get(@auth, SpamReports.url(email), params, &block)
53
+ SpamReports.create_spam_reports(resp)
54
+ end
72
55
 
73
- def delete_spam_report(email:, &block)
74
- endpoint = SendGrid4r::REST::SpamReports.url(email)
75
- params = {}
76
- params['email'] = email
77
- delete(@auth, endpoint, params, &block)
78
- end
56
+ def delete_spam_report(email:, &block)
57
+ params = { email: email }
58
+ delete(@auth, SpamReports.url(email), params, &block)
79
59
  end
80
60
  end
81
61
  end
@@ -1,113 +1,111 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- module Stats
6
- #
7
- # SendGrid Web API v3 Stats - Advanced
8
- #
9
- module Advanced
10
- include SendGrid4r::REST::Request
3
+ module SendGrid4r::REST
4
+ module Stats
5
+ #
6
+ # SendGrid Web API v3 Stats - Advanced
7
+ #
8
+ module Advanced
9
+ include Request
11
10
 
12
- def get_geo_stats(
13
- start_date:,
14
- end_date: nil,
15
- aggregated_by: nil,
16
- country: nil,
17
- &block
18
- )
19
- params = {
20
- start_date: start_date,
21
- end_date: end_date,
22
- aggregated_by: aggregated_by,
23
- country: country
24
- }
25
- resp = get(@auth, "#{BASE_URL}/geo/stats", params, &block)
26
- SendGrid4r::REST::Stats.create_top_stats(resp)
27
- end
11
+ def get_geo_stats(
12
+ start_date:,
13
+ end_date: nil,
14
+ aggregated_by: nil,
15
+ country: nil,
16
+ &block
17
+ )
18
+ params = {
19
+ start_date: start_date,
20
+ end_date: end_date,
21
+ aggregated_by: aggregated_by,
22
+ country: country
23
+ }
24
+ resp = get(@auth, "#{BASE_URL}/geo/stats", params, &block)
25
+ Stats.create_top_stats(resp)
26
+ end
28
27
 
29
- def get_devices_stats(
30
- start_date:,
31
- end_date: nil,
32
- aggregated_by: nil,
33
- &block
34
- )
35
- params = {
36
- start_date: start_date,
37
- end_date: end_date,
38
- aggregated_by: aggregated_by
39
- }
40
- resp = get(@auth, "#{BASE_URL}/devices/stats", params, &block)
41
- SendGrid4r::REST::Stats.create_top_stats(resp)
42
- end
28
+ def get_devices_stats(
29
+ start_date:,
30
+ end_date: nil,
31
+ aggregated_by: nil,
32
+ &block
33
+ )
34
+ params = {
35
+ start_date: start_date,
36
+ end_date: end_date,
37
+ aggregated_by: aggregated_by
38
+ }
39
+ resp = get(@auth, "#{BASE_URL}/devices/stats", params, &block)
40
+ Stats.create_top_stats(resp)
41
+ end
43
42
 
44
- def get_clients_stats(
45
- start_date:,
46
- end_date: nil,
47
- aggregated_by: nil,
48
- &block
49
- )
50
- params = {
51
- start_date: start_date,
52
- end_date: end_date,
53
- aggregated_by: aggregated_by
54
- }
55
- resp = get(@auth, "#{BASE_URL}/clients/stats", params, &block)
56
- SendGrid4r::REST::Stats.create_top_stats(resp)
57
- end
43
+ def get_clients_stats(
44
+ start_date:,
45
+ end_date: nil,
46
+ aggregated_by: nil,
47
+ &block
48
+ )
49
+ params = {
50
+ start_date: start_date,
51
+ end_date: end_date,
52
+ aggregated_by: aggregated_by
53
+ }
54
+ resp = get(@auth, "#{BASE_URL}/clients/stats", params, &block)
55
+ Stats.create_top_stats(resp)
56
+ end
58
57
 
59
- def get_clients_type_stats(
60
- start_date:,
61
- end_date: nil,
62
- aggregated_by: nil,
63
- client_type:,
64
- &block
65
- )
66
- params = {
67
- start_date: start_date,
68
- end_date: end_date,
69
- aggregated_by: aggregated_by,
70
- client_type: client_type
71
- }
72
- endpoint = "#{BASE_URL}/clients/#{client_type}/stats"
73
- resp = get(@auth, endpoint, params, &block)
74
- SendGrid4r::REST::Stats.create_top_stats(resp)
75
- end
58
+ def get_clients_type_stats(
59
+ start_date:,
60
+ end_date: nil,
61
+ aggregated_by: nil,
62
+ client_type:,
63
+ &block
64
+ )
65
+ params = {
66
+ start_date: start_date,
67
+ end_date: end_date,
68
+ aggregated_by: aggregated_by,
69
+ client_type: client_type
70
+ }
71
+ endpoint = "#{BASE_URL}/clients/#{client_type}/stats"
72
+ resp = get(@auth, endpoint, params, &block)
73
+ Stats.create_top_stats(resp)
74
+ end
76
75
 
77
- def get_mailbox_providers_stats(
78
- start_date:,
79
- end_date: nil,
80
- aggregated_by: nil,
81
- esps: nil,
82
- &block
83
- )
84
- params = {
85
- start_date: start_date,
86
- end_date: end_date,
87
- aggregated_by: aggregated_by,
88
- esps: esps
89
- }
90
- endpoint = "#{BASE_URL}/mailbox_providers/stats"
91
- resp = get(@auth, endpoint, params, &block)
92
- SendGrid4r::REST::Stats.create_top_stats(resp)
93
- end
76
+ def get_mailbox_providers_stats(
77
+ start_date:,
78
+ end_date: nil,
79
+ aggregated_by: nil,
80
+ esps: nil,
81
+ &block
82
+ )
83
+ params = {
84
+ start_date: start_date,
85
+ end_date: end_date,
86
+ aggregated_by: aggregated_by,
87
+ esps: esps
88
+ }
89
+ endpoint = "#{BASE_URL}/mailbox_providers/stats"
90
+ resp = get(@auth, endpoint, params, &block)
91
+ Stats.create_top_stats(resp)
92
+ end
94
93
 
95
- def get_browsers_stats(
96
- start_date:,
97
- end_date: nil,
98
- aggregated_by: nil,
99
- browsers: nil,
100
- &block
101
- )
102
- params = {
103
- start_date: start_date,
104
- end_date: end_date,
105
- aggregated_by: aggregated_by,
106
- browsers: browsers
107
- }
108
- resp = get(@auth, "#{BASE_URL}/browsers/stats", params, &block)
109
- SendGrid4r::REST::Stats.create_top_stats(resp)
110
- end
94
+ def get_browsers_stats(
95
+ start_date:,
96
+ end_date: nil,
97
+ aggregated_by: nil,
98
+ browsers: nil,
99
+ &block
100
+ )
101
+ params = {
102
+ start_date: start_date,
103
+ end_date: end_date,
104
+ aggregated_by: aggregated_by,
105
+ browsers: browsers
106
+ }
107
+ resp = get(@auth, "#{BASE_URL}/browsers/stats", params, &block)
108
+ Stats.create_top_stats(resp)
111
109
  end
112
110
  end
113
111
  end
@@ -1,40 +1,38 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- module Stats
6
- #
7
- # SendGrid Web API v3 Stats - Category
8
- #
9
- module Category
10
- include SendGrid4r::REST::Request
3
+ module SendGrid4r::REST
4
+ module Stats
5
+ #
6
+ # SendGrid Web API v3 Stats - Category
7
+ #
8
+ module Category
9
+ include Request
11
10
 
12
- def get_categories_stats(
13
- start_date:, end_date: nil, aggregated_by: nil, categories:, &block)
14
- params = {
15
- start_date: start_date,
16
- end_date: end_date,
17
- aggregated_by: aggregated_by,
18
- categories: categories
19
- }
20
- resp = get(@auth, "#{BASE_URL}/categories/stats", params, &block)
21
- SendGrid4r::REST::Stats.create_top_stats(resp)
22
- end
11
+ def get_categories_stats(
12
+ start_date:, end_date: nil, aggregated_by: nil, categories:, &block)
13
+ params = {
14
+ start_date: start_date,
15
+ end_date: end_date,
16
+ aggregated_by: aggregated_by,
17
+ categories: categories
18
+ }
19
+ resp = get(@auth, "#{BASE_URL}/categories/stats", params, &block)
20
+ Stats.create_top_stats(resp)
21
+ end
23
22
 
24
- def get_categories_stats_sums(
25
- start_date:, end_date: nil, sort_by_metric: nil,
26
- sort_by_direction: nil, limit: nil, offset: nil, &block)
27
- params = {
28
- start_date: start_date,
29
- end_date: end_date,
30
- sort_by_metric: sort_by_metric,
31
- sort_by_direction: sort_by_direction,
32
- limit: limit,
33
- offset: offset
34
- }
35
- resp = get(@auth, "#{BASE_URL}/categories/stats/sums", params, &block)
36
- SendGrid4r::REST::Stats.create_top_stat(resp)
37
- end
23
+ def get_categories_stats_sums(
24
+ start_date:, end_date: nil, sort_by_metric: nil,
25
+ sort_by_direction: nil, limit: nil, offset: nil, &block)
26
+ params = {
27
+ start_date: start_date,
28
+ end_date: end_date,
29
+ sort_by_metric: sort_by_metric,
30
+ sort_by_direction: sort_by_direction,
31
+ limit: limit,
32
+ offset: offset
33
+ }
34
+ resp = get(@auth, "#{BASE_URL}/categories/stats/sums", params, &block)
35
+ Stats.create_top_stat(resp)
38
36
  end
39
37
  end
40
38
  end
@@ -1,25 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- module Stats
6
- #
7
- # SendGrid Web API v3 Stats - Global
8
- #
9
- module Global
10
- include SendGrid4r::REST::Request
3
+ module SendGrid4r::REST
4
+ module Stats
5
+ #
6
+ # SendGrid Web API v3 Stats - Global
7
+ #
8
+ module Global
9
+ include Request
11
10
 
12
- def get_global_stats(
13
- start_date:, end_date: nil, aggregated_by: nil, &block
14
- )
15
- params = {
16
- start_date: start_date,
17
- end_date: end_date,
18
- aggregated_by: aggregated_by
19
- }
20
- resp = get(@auth, "#{BASE_URL}/stats", params, &block)
21
- SendGrid4r::REST::Stats.create_top_stats(resp)
22
- end
11
+ def get_global_stats(
12
+ start_date:, end_date: nil, aggregated_by: nil, &block
13
+ )
14
+ params = {
15
+ start_date: start_date,
16
+ end_date: end_date,
17
+ aggregated_by: aggregated_by
18
+ }
19
+ resp = get(@auth, "#{BASE_URL}/stats", params, &block)
20
+ Stats.create_top_stats(resp)
23
21
  end
24
22
  end
25
23
  end
@@ -1,26 +1,24 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- module SendGrid4r
4
- module REST
5
- module Stats
6
- #
7
- # SendGrid Web API v3 Stats - Parse
8
- #
9
- module Parse
10
- include SendGrid4r::REST::Request
3
+ module SendGrid4r::REST
4
+ module Stats
5
+ #
6
+ # SendGrid Web API v3 Stats - Parse
7
+ #
8
+ module Parse
9
+ include Request
11
10
 
12
- def get_parse_stats(
13
- start_date:, end_date: nil, aggregated_by: nil, &block
14
- )
15
- params = {
16
- start_date: start_date,
17
- end_date: end_date,
18
- aggregated_by: aggregated_by
19
- }
20
- endpoint = "#{BASE_URL}/user/webhooks/parse/stats"
21
- resp = get(@auth, endpoint, params, &block)
22
- SendGrid4r::REST::Stats.create_top_stats(resp)
23
- end
11
+ def get_parse_stats(
12
+ start_date:, end_date: nil, aggregated_by: nil, &block
13
+ )
14
+ params = {
15
+ start_date: start_date,
16
+ end_date: end_date,
17
+ aggregated_by: aggregated_by
18
+ }
19
+ endpoint = "#{BASE_URL}/user/webhooks/parse/stats"
20
+ resp = get(@auth, endpoint, params, &block)
21
+ Stats.create_top_stats(resp)
24
22
  end
25
23
  end
26
24
  end