sendgrid4r 1.8.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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