braze_ruby 0.4.1 → 0.7.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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +26 -0
  3. data/.github/workflows/gem_credentials +2 -0
  4. data/.github/workflows/release.yml +20 -0
  5. data/.gitignore +12 -19
  6. data/.standard.yml +1 -0
  7. data/Gemfile +1 -2
  8. data/LICENSE.txt +17 -18
  9. data/README.md +39 -2
  10. data/Rakefile +2 -1
  11. data/bin/release +16 -0
  12. data/braze_ruby.gemspec +28 -31
  13. data/lib/braze_ruby/api.rb +16 -10
  14. data/lib/braze_ruby/deprecated.rb +4 -5
  15. data/lib/braze_ruby/endpoints/campaigns.rb +4 -0
  16. data/lib/braze_ruby/endpoints/remove_email_addresses_from_spam.rb +19 -0
  17. data/lib/braze_ruby/endpoints/remove_external_ids.rb +19 -0
  18. data/lib/braze_ruby/endpoints/rename_external_ids.rb +19 -0
  19. data/lib/braze_ruby/endpoints/subscription.rb +0 -1
  20. data/lib/braze_ruby/endpoints.rb +11 -8
  21. data/lib/braze_ruby/http.rb +12 -9
  22. data/lib/braze_ruby/rest/base.rb +3 -3
  23. data/lib/braze_ruby/rest/canvas_details.rb +1 -1
  24. data/lib/braze_ruby/rest/create_user_aliases.rb +2 -2
  25. data/lib/braze_ruby/rest/delete_users.rb +2 -2
  26. data/lib/braze_ruby/rest/email_hard_bounces.rb +1 -1
  27. data/lib/braze_ruby/rest/email_status.rb +3 -3
  28. data/lib/braze_ruby/rest/email_unsubscribes.rb +1 -1
  29. data/lib/braze_ruby/rest/export_users.rb +7 -7
  30. data/lib/braze_ruby/rest/identify_users.rb +2 -2
  31. data/lib/braze_ruby/rest/list_segments.rb +1 -1
  32. data/lib/braze_ruby/rest/remove_email_addresses_from_spam.rb +13 -0
  33. data/lib/braze_ruby/rest/remove_external_ids.rb +13 -0
  34. data/lib/braze_ruby/rest/rename_external_ids.rb +13 -0
  35. data/lib/braze_ruby/rest/schedule_messages.rb +6 -6
  36. data/lib/braze_ruby/rest/send_messages.rb +3 -3
  37. data/lib/braze_ruby/rest/subscription_status_get.rb +1 -1
  38. data/lib/braze_ruby/rest/subscription_status_set.rb +1 -1
  39. data/lib/braze_ruby/rest/subscription_user_status.rb +1 -1
  40. data/lib/braze_ruby/rest/track_users.rb +4 -4
  41. data/lib/braze_ruby/rest/trigger_campaign_schedule.rb +18 -0
  42. data/lib/braze_ruby/rest/trigger_campaign_send.rb +1 -1
  43. data/lib/braze_ruby/rest/trigger_canvas_send.rb +1 -1
  44. data/lib/braze_ruby/rest.rb +22 -18
  45. data/lib/braze_ruby/version.rb +1 -1
  46. data/lib/braze_ruby.rb +4 -4
  47. metadata +52 -177
  48. data/.github/workflows/ci.yml +0 -30
  49. data/Gemfile.lock +0 -78
  50. data/spec/braze_ruby/api_spec.rb +0 -6
  51. data/spec/braze_ruby/endpoints/delete_users_spec.rb +0 -31
  52. data/spec/braze_ruby/endpoints/track_users_spec.rb +0 -74
  53. data/spec/braze_ruby/http_spec.rb +0 -48
  54. data/spec/braze_ruby/rest/create_user_aliases_spec.rb +0 -23
  55. data/spec/braze_ruby/rest/delete_users_spec.rb +0 -22
  56. data/spec/braze_ruby/rest/email_status_spec.rb +0 -20
  57. data/spec/braze_ruby/rest/export_users_spec.rb +0 -21
  58. data/spec/braze_ruby/rest/identify_users_spec.rb +0 -23
  59. data/spec/braze_ruby/rest/schedule_messages_spec.rb +0 -37
  60. data/spec/braze_ruby/rest/send_messages_spec.rb +0 -30
  61. data/spec/braze_ruby/rest/track_users_spec.rb +0 -27
  62. data/spec/factories.rb +0 -38
  63. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +0 -71
  64. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +0 -69
  65. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +0 -71
  66. data/spec/fixtures/responses/create_user_aliases/unauthorized/responds_with_unauthorized.yml +0 -67
  67. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_created.yml +0 -71
  68. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_success_message.yml +0 -71
  69. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +0 -68
  70. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +0 -71
  71. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +0 -71
  72. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +0 -71
  73. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +0 -71
  74. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +0 -71
  75. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +0 -71
  76. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +0 -75
  77. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +0 -75
  78. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +0 -75
  79. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +0 -72
  80. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +0 -71
  81. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +0 -68
  82. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +0 -71
  83. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +0 -71
  84. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +0 -81
  85. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +0 -81
  86. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +0 -68
  87. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +0 -71
  88. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +0 -71
  89. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +0 -68
  90. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +0 -71
  91. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +0 -71
  92. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +0 -71
  93. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +0 -68
  94. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +0 -139
  95. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml +0 -211
  96. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +0 -199
  97. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +0 -211
  98. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +0 -70
  99. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +0 -73
  100. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +0 -73
  101. data/spec/integrations/campaigns_spec.rb +0 -19
  102. data/spec/integrations/canvas_spec.rb +0 -28
  103. data/spec/integrations/create_user_aliases_spec.rb +0 -32
  104. data/spec/integrations/delete_users_spec.rb +0 -32
  105. data/spec/integrations/email_status_spec.rb +0 -38
  106. data/spec/integrations/email_sync_spec.rb +0 -31
  107. data/spec/integrations/export_users_spec.rb +0 -29
  108. data/spec/integrations/identify_users_spec.rb +0 -32
  109. data/spec/integrations/list_segments_spec.rb +0 -21
  110. data/spec/integrations/schedule_messages_spec.rb +0 -34
  111. data/spec/integrations/send_messages_spec.rb +0 -33
  112. data/spec/integrations/subscription_spec.rb +0 -149
  113. data/spec/integrations/track_users_spec.rb +0 -38
  114. data/spec/spec_helper.rb +0 -25
  115. data/spec/support/factory_bot.rb +0 -12
  116. data/spec/support/integrations.rb +0 -27
  117. data/spec/support/vcr.rb +0 -20
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braze_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Nussbaum
8
8
  - Hugo Bastien
9
9
  - Justin Boltz
10
+ - Jonathan Allured
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2021-01-31 00:00:00.000000000 Z
14
+ date: 2021-09-29 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: faraday
@@ -27,134 +28,138 @@ dependencies:
27
28
  - !ruby/object:Gem::Version
28
29
  version: '0'
29
30
  - !ruby/object:Gem::Dependency
30
- name: bundler
31
+ name: dotenv
31
32
  requirement: !ruby/object:Gem::Requirement
32
33
  requirements:
33
34
  - - ">="
34
35
  - !ruby/object:Gem::Version
35
- version: '1.3'
36
+ version: '0'
36
37
  type: :development
37
38
  prerelease: false
38
39
  version_requirements: !ruby/object:Gem::Requirement
39
40
  requirements:
40
41
  - - ">="
41
42
  - !ruby/object:Gem::Version
42
- version: '1.3'
43
+ version: '0'
43
44
  - !ruby/object:Gem::Dependency
44
- name: rake
45
+ name: factory_bot
45
46
  requirement: !ruby/object:Gem::Requirement
46
47
  requirements:
47
48
  - - ">="
48
49
  - !ruby/object:Gem::Version
49
- version: 12.3.3
50
+ version: '0'
50
51
  type: :development
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
55
  - - ">="
55
56
  - !ruby/object:Gem::Version
56
- version: 12.3.3
57
+ version: '0'
57
58
  - !ruby/object:Gem::Dependency
58
- name: rspec
59
+ name: pry
59
60
  requirement: !ruby/object:Gem::Requirement
60
61
  requirements:
61
- - - "~>"
62
+ - - ">="
62
63
  - !ruby/object:Gem::Version
63
- version: '3.8'
64
+ version: '0'
64
65
  type: :development
65
66
  prerelease: false
66
67
  version_requirements: !ruby/object:Gem::Requirement
67
68
  requirements:
68
- - - "~>"
69
+ - - ">="
69
70
  - !ruby/object:Gem::Version
70
- version: '3.8'
71
+ version: '0'
71
72
  - !ruby/object:Gem::Dependency
72
- name: dotenv
73
+ name: rake
73
74
  requirement: !ruby/object:Gem::Requirement
74
75
  requirements:
75
- - - "~>"
76
+ - - ">="
76
77
  - !ruby/object:Gem::Version
77
- version: 2.7.5
78
+ version: '0'
78
79
  type: :development
79
80
  prerelease: false
80
81
  version_requirements: !ruby/object:Gem::Requirement
81
82
  requirements:
82
- - - "~>"
83
+ - - ">="
83
84
  - !ruby/object:Gem::Version
84
- version: 2.7.5
85
+ version: '0'
85
86
  - !ruby/object:Gem::Dependency
86
- name: vcr
87
+ name: rspec
87
88
  requirement: !ruby/object:Gem::Requirement
88
89
  requirements:
89
90
  - - ">="
90
91
  - !ruby/object:Gem::Version
91
- version: 5.0.0
92
+ version: '0'
92
93
  type: :development
93
94
  prerelease: false
94
95
  version_requirements: !ruby/object:Gem::Requirement
95
96
  requirements:
96
97
  - - ">="
97
98
  - !ruby/object:Gem::Version
98
- version: 5.0.0
99
+ version: '0'
99
100
  - !ruby/object:Gem::Dependency
100
- name: webmock
101
+ name: standard
101
102
  requirement: !ruby/object:Gem::Requirement
102
103
  requirements:
103
104
  - - ">="
104
105
  - !ruby/object:Gem::Version
105
- version: 3.7.5
106
+ version: '0'
106
107
  type: :development
107
108
  prerelease: false
108
109
  version_requirements: !ruby/object:Gem::Requirement
109
110
  requirements:
110
111
  - - ">="
111
112
  - !ruby/object:Gem::Version
112
- version: 3.7.5
113
+ version: '0'
113
114
  - !ruby/object:Gem::Dependency
114
- name: pry
115
+ name: vcr
115
116
  requirement: !ruby/object:Gem::Requirement
116
117
  requirements:
117
118
  - - ">="
118
119
  - !ruby/object:Gem::Version
119
- version: 0.12.2
120
+ version: '0'
120
121
  type: :development
121
122
  prerelease: false
122
123
  version_requirements: !ruby/object:Gem::Requirement
123
124
  requirements:
124
125
  - - ">="
125
126
  - !ruby/object:Gem::Version
126
- version: 0.12.2
127
+ version: '0'
127
128
  - !ruby/object:Gem::Dependency
128
- name: factory_bot
129
+ name: webmock
129
130
  requirement: !ruby/object:Gem::Requirement
130
131
  requirements:
131
132
  - - ">="
132
133
  - !ruby/object:Gem::Version
133
- version: 5.1.0
134
+ version: '0'
134
135
  type: :development
135
136
  prerelease: false
136
137
  version_requirements: !ruby/object:Gem::Requirement
137
138
  requirements:
138
139
  - - ">="
139
140
  - !ruby/object:Gem::Version
140
- version: 5.1.0
141
- description: Braze wrapper
141
+ version: '0'
142
+ description: Wrapper for Braze API
142
143
  email:
143
144
  - josh@godynamo.com
144
145
  - hugo@godynamo.com
145
146
  - justin.boltz@takl.com
147
+ - jon.allured@gmail.com
146
148
  executables: []
147
149
  extensions: []
148
150
  extra_rdoc_files: []
149
151
  files:
150
- - ".github/workflows/ci.yml"
152
+ - ".circleci/config.yml"
153
+ - ".github/workflows/gem_credentials"
154
+ - ".github/workflows/release.yml"
151
155
  - ".gitignore"
152
156
  - ".rspec"
157
+ - ".standard.yml"
153
158
  - Gemfile
154
- - Gemfile.lock
155
159
  - LICENSE.txt
156
160
  - README.md
157
161
  - Rakefile
162
+ - bin/release
158
163
  - braze_ruby.gemspec
159
164
  - lib/braze_ruby.rb
160
165
  - lib/braze_ruby/api.rb
@@ -167,6 +172,9 @@ files:
167
172
  - lib/braze_ruby/endpoints/email_status.rb
168
173
  - lib/braze_ruby/endpoints/email_sync.rb
169
174
  - lib/braze_ruby/endpoints/identify_users.rb
175
+ - lib/braze_ruby/endpoints/remove_email_addresses_from_spam.rb
176
+ - lib/braze_ruby/endpoints/remove_external_ids.rb
177
+ - lib/braze_ruby/endpoints/rename_external_ids.rb
170
178
  - lib/braze_ruby/endpoints/schedule_messages.rb
171
179
  - lib/braze_ruby/endpoints/send_messages.rb
172
180
  - lib/braze_ruby/endpoints/subscription.rb
@@ -183,89 +191,25 @@ files:
183
191
  - lib/braze_ruby/rest/export_users.rb
184
192
  - lib/braze_ruby/rest/identify_users.rb
185
193
  - lib/braze_ruby/rest/list_segments.rb
194
+ - lib/braze_ruby/rest/remove_email_addresses_from_spam.rb
195
+ - lib/braze_ruby/rest/remove_external_ids.rb
196
+ - lib/braze_ruby/rest/rename_external_ids.rb
186
197
  - lib/braze_ruby/rest/schedule_messages.rb
187
198
  - lib/braze_ruby/rest/send_messages.rb
188
199
  - lib/braze_ruby/rest/subscription_status_get.rb
189
200
  - lib/braze_ruby/rest/subscription_status_set.rb
190
201
  - lib/braze_ruby/rest/subscription_user_status.rb
191
202
  - lib/braze_ruby/rest/track_users.rb
203
+ - lib/braze_ruby/rest/trigger_campaign_schedule.rb
192
204
  - lib/braze_ruby/rest/trigger_campaign_send.rb
193
205
  - lib/braze_ruby/rest/trigger_canvas_send.rb
194
206
  - lib/braze_ruby/version.rb
195
- - spec/braze_ruby/api_spec.rb
196
- - spec/braze_ruby/endpoints/delete_users_spec.rb
197
- - spec/braze_ruby/endpoints/track_users_spec.rb
198
- - spec/braze_ruby/http_spec.rb
199
- - spec/braze_ruby/rest/create_user_aliases_spec.rb
200
- - spec/braze_ruby/rest/delete_users_spec.rb
201
- - spec/braze_ruby/rest/email_status_spec.rb
202
- - spec/braze_ruby/rest/export_users_spec.rb
203
- - spec/braze_ruby/rest/identify_users_spec.rb
204
- - spec/braze_ruby/rest/schedule_messages_spec.rb
205
- - spec/braze_ruby/rest/send_messages_spec.rb
206
- - spec/braze_ruby/rest/track_users_spec.rb
207
- - spec/factories.rb
208
- - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
209
- - spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml
210
- - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
211
- - spec/fixtures/responses/create_user_aliases/unauthorized/responds_with_unauthorized.yml
212
- - spec/fixtures/responses/create_user_aliases/with_success/responds_with_created.yml
213
- - spec/fixtures/responses/create_user_aliases/with_success/responds_with_success_message.yml
214
- - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
215
- - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
216
- - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
217
- - spec/fixtures/responses/email_status/existing_email/responds_with_created.yml
218
- - spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml
219
- - spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml
220
- - spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml
221
- - spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml
222
- - spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml
223
- - spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml
224
- - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
225
- - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
226
- - spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml
227
- - spec/fixtures/responses/identify_users/with_success/responds_with_created.yml
228
- - spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml
229
- - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
230
- - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
231
- - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
232
- - spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml
233
- - spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml
234
- - spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml
235
- - spec/fixtures/responses/send_messages/with_success/responds_with_created.yml
236
- - spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml
237
- - spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml
238
- - spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml
239
- - spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml
240
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml
241
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml
242
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml
243
- - spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml
244
- - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
245
- - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
246
- - spec/integrations/campaigns_spec.rb
247
- - spec/integrations/canvas_spec.rb
248
- - spec/integrations/create_user_aliases_spec.rb
249
- - spec/integrations/delete_users_spec.rb
250
- - spec/integrations/email_status_spec.rb
251
- - spec/integrations/email_sync_spec.rb
252
- - spec/integrations/export_users_spec.rb
253
- - spec/integrations/identify_users_spec.rb
254
- - spec/integrations/list_segments_spec.rb
255
- - spec/integrations/schedule_messages_spec.rb
256
- - spec/integrations/send_messages_spec.rb
257
- - spec/integrations/subscription_spec.rb
258
- - spec/integrations/track_users_spec.rb
259
- - spec/spec_helper.rb
260
- - spec/support/factory_bot.rb
261
- - spec/support/integrations.rb
262
- - spec/support/vcr.rb
263
- homepage: https://www.braze.com/
207
+ homepage: https://github.com/jonallured/braze_ruby
264
208
  licenses:
265
209
  - MIT
266
210
  metadata:
267
- homepage_uri: https://www.braze.com/
268
- source_code_uri: https://github.com/jboltz88/braze_ruby
211
+ homepage_uri: https://github.com/jonallured/braze_ruby
212
+ source_code_uri: https://github.com/jonallured/braze_ruby
269
213
  post_install_message:
270
214
  rdoc_options: []
271
215
  require_paths:
@@ -274,84 +218,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
218
  requirements:
275
219
  - - ">="
276
220
  - !ruby/object:Gem::Version
277
- version: '2.0'
221
+ version: 2.6.0
278
222
  required_rubygems_version: !ruby/object:Gem::Requirement
279
223
  requirements:
280
224
  - - ">="
281
225
  - !ruby/object:Gem::Version
282
226
  version: '0'
283
227
  requirements: []
284
- rubygems_version: 3.1.4
228
+ rubygems_version: 3.1.2
285
229
  signing_key:
286
230
  specification_version: 4
287
- summary: A wrapper for the Braze REST API forked from the appboy gem, track users/events/purchases,
288
- send & schedule messages
289
- test_files:
290
- - spec/braze_ruby/api_spec.rb
291
- - spec/braze_ruby/endpoints/delete_users_spec.rb
292
- - spec/braze_ruby/endpoints/track_users_spec.rb
293
- - spec/braze_ruby/http_spec.rb
294
- - spec/braze_ruby/rest/create_user_aliases_spec.rb
295
- - spec/braze_ruby/rest/delete_users_spec.rb
296
- - spec/braze_ruby/rest/email_status_spec.rb
297
- - spec/braze_ruby/rest/export_users_spec.rb
298
- - spec/braze_ruby/rest/identify_users_spec.rb
299
- - spec/braze_ruby/rest/schedule_messages_spec.rb
300
- - spec/braze_ruby/rest/send_messages_spec.rb
301
- - spec/braze_ruby/rest/track_users_spec.rb
302
- - spec/factories.rb
303
- - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
304
- - spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml
305
- - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
306
- - spec/fixtures/responses/create_user_aliases/unauthorized/responds_with_unauthorized.yml
307
- - spec/fixtures/responses/create_user_aliases/with_success/responds_with_created.yml
308
- - spec/fixtures/responses/create_user_aliases/with_success/responds_with_success_message.yml
309
- - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
310
- - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
311
- - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
312
- - spec/fixtures/responses/email_status/existing_email/responds_with_created.yml
313
- - spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml
314
- - spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml
315
- - spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml
316
- - spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml
317
- - spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml
318
- - spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml
319
- - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
320
- - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
321
- - spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml
322
- - spec/fixtures/responses/identify_users/with_success/responds_with_created.yml
323
- - spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml
324
- - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
325
- - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
326
- - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
327
- - spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml
328
- - spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml
329
- - spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml
330
- - spec/fixtures/responses/send_messages/with_success/responds_with_created.yml
331
- - spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml
332
- - spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml
333
- - spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml
334
- - spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml
335
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml
336
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml
337
- - spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml
338
- - spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml
339
- - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
340
- - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
341
- - spec/integrations/campaigns_spec.rb
342
- - spec/integrations/canvas_spec.rb
343
- - spec/integrations/create_user_aliases_spec.rb
344
- - spec/integrations/delete_users_spec.rb
345
- - spec/integrations/email_status_spec.rb
346
- - spec/integrations/email_sync_spec.rb
347
- - spec/integrations/export_users_spec.rb
348
- - spec/integrations/identify_users_spec.rb
349
- - spec/integrations/list_segments_spec.rb
350
- - spec/integrations/schedule_messages_spec.rb
351
- - spec/integrations/send_messages_spec.rb
352
- - spec/integrations/subscription_spec.rb
353
- - spec/integrations/track_users_spec.rb
354
- - spec/spec_helper.rb
355
- - spec/support/factory_bot.rb
356
- - spec/support/integrations.rb
357
- - spec/support/vcr.rb
231
+ summary: A wrapper gem for the Braze REST API.
232
+ test_files: []
@@ -1,30 +0,0 @@
1
- name: CI
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
-
9
- steps:
10
- - uses: actions/checkout@v2
11
-
12
- - name: Set up Ruby
13
- uses: ruby/setup-ruby@v1
14
- with:
15
- ruby-version: 2.6
16
-
17
- - name: Cache gems
18
- uses: actions/cache@v1
19
- with:
20
- path: vendor/bundle
21
- key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
22
- restore-keys: |
23
- ${{ runner.os }}-gems-
24
-
25
- - name: Build and test
26
- run: |
27
- gem install bundler
28
- bundle config path vendor/bundle
29
- bundle install --jobs 4 --retry 3
30
- bundle exec rake spec
data/Gemfile.lock DELETED
@@ -1,78 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- braze_ruby (0.4.0)
5
- faraday
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activesupport (6.0.3.2)
11
- concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 0.7, < 2)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
15
- zeitwerk (~> 2.2, >= 2.2.2)
16
- addressable (2.7.0)
17
- public_suffix (>= 2.0.2, < 5.0)
18
- coderay (1.1.3)
19
- concurrent-ruby (1.1.6)
20
- crack (0.4.3)
21
- safe_yaml (~> 1.0.0)
22
- diff-lcs (1.3)
23
- dotenv (2.7.5)
24
- factory_bot (5.2.0)
25
- activesupport (>= 4.2.0)
26
- faraday (1.0.1)
27
- multipart-post (>= 1.2, < 3)
28
- hashdiff (1.0.1)
29
- i18n (1.8.3)
30
- concurrent-ruby (~> 1.0)
31
- method_source (1.0.0)
32
- minitest (5.14.1)
33
- multipart-post (2.1.1)
34
- pry (0.13.1)
35
- coderay (~> 1.1)
36
- method_source (~> 1.0)
37
- public_suffix (4.0.5)
38
- rake (13.0.1)
39
- rspec (3.9.0)
40
- rspec-core (~> 3.9.0)
41
- rspec-expectations (~> 3.9.0)
42
- rspec-mocks (~> 3.9.0)
43
- rspec-core (3.9.2)
44
- rspec-support (~> 3.9.3)
45
- rspec-expectations (3.9.2)
46
- diff-lcs (>= 1.2.0, < 2.0)
47
- rspec-support (~> 3.9.0)
48
- rspec-mocks (3.9.1)
49
- diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.9.0)
51
- rspec-support (3.9.3)
52
- safe_yaml (1.0.5)
53
- thread_safe (0.3.6)
54
- tzinfo (1.2.7)
55
- thread_safe (~> 0.1)
56
- vcr (6.0.0)
57
- webmock (3.8.3)
58
- addressable (>= 2.3.6)
59
- crack (>= 0.3.2)
60
- hashdiff (>= 0.4.0, < 2.0.0)
61
- zeitwerk (2.3.0)
62
-
63
- PLATFORMS
64
- ruby
65
-
66
- DEPENDENCIES
67
- braze_ruby!
68
- bundler (>= 1.3)
69
- dotenv (~> 2.7.5)
70
- factory_bot (>= 5.1.0)
71
- pry (>= 0.12.2)
72
- rake (>= 12.3.3)
73
- rspec (~> 3.8)
74
- vcr (>= 5.0.0)
75
- webmock (>= 3.7.5)
76
-
77
- BUNDLED WITH
78
- 2.1.4
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe BrazeRuby::API do
6
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- class API
6
- include BrazeRuby::Endpoints::DeleteUsers
7
-
8
- def api_key
9
- :api_key
10
- end
11
- end
12
-
13
- describe BrazeRuby::Endpoints::DeleteUsers do
14
- let(:api) { API.new }
15
- let(:delete_users_service) { double(:delete_users_service) }
16
-
17
- before { api.delete_users_service = delete_users_service }
18
-
19
- describe '#delete_users' do
20
- let(:payload) { [1, 2, 3] }
21
-
22
- subject(:delete_users!) { api.delete_users(payload) }
23
-
24
- it 'deletes users' do
25
- expect(delete_users_service).to receive(:perform)
26
- .with(external_ids: payload)
27
-
28
- delete_users!
29
- end
30
- end
31
- end
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- class API
6
- include BrazeRuby::Endpoints::TrackUsers
7
-
8
- def api_key
9
- :api_key
10
- end
11
- end
12
-
13
- describe BrazeRuby::Endpoints::TrackUsers do
14
- let(:api) { API.new }
15
- let(:track_users_service) { double(:track_users_service) }
16
-
17
- before { api.track_users_service = track_users_service }
18
-
19
- describe '#track_users' do
20
- let(:payload) {{
21
- attributes: [build(:attribute)],
22
- events: [build(:event)],
23
- purchases: [build(:purchase)]
24
- }}
25
-
26
- subject(:track_users!) { api.track_users(**payload) }
27
-
28
- it 'tracks attributes, events and purchases' do
29
- expect(track_users_service).to receive(:perform)
30
- .with(payload)
31
-
32
- track_users!
33
- end
34
- end
35
-
36
- describe '#track_purchase' do
37
- let(:payload) { build(:purchase) }
38
-
39
- subject(:track_purchase!) { api.track_purchase(**payload) }
40
-
41
- it 'tracks a single purchase' do
42
- expect(track_users_service).to receive(:perform)
43
- .with(purchases: [payload])
44
-
45
- track_purchase!
46
- end
47
- end
48
-
49
- describe '#track_event' do
50
- let(:payload) { build(:event) }
51
-
52
- subject(:track_event!) { api.track_event(**payload) }
53
-
54
- it 'tracks a single purchase' do
55
- expect(track_users_service).to receive(:perform)
56
- .with(events: [payload])
57
-
58
- track_event!
59
- end
60
- end
61
-
62
- describe '#track_attribute' do
63
- let(:payload) { build(:attribute) }
64
-
65
- subject(:track_attribute!) { api.track_attribute(**payload) }
66
-
67
- it 'tracks a single purchase' do
68
- expect(track_users_service).to receive(:perform)
69
- .with(attributes: [payload])
70
-
71
- track_attribute!
72
- end
73
- end
74
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
- require 'braze_ruby/http'
5
-
6
- describe BrazeRuby::HTTP do
7
- describe "#connection" do
8
- let(:options) { double("options", :"[]=" => nil) }
9
- let(:headers) { double("headers", :"[]=" => nil) }
10
- let(:conn) { double("conn", adapter: nil, options: options, headers: headers) }
11
- let(:api_key) { "braze-api-key" }
12
- let(:braze_url) { "http://example.com" }
13
-
14
- before :each do
15
- allow(Faraday).to receive(:new).and_yield(conn)
16
- allow(Faraday).to receive(:default_adapter).and_return(:default_adapter)
17
- end
18
-
19
- it "it defaults to the timeout option" do
20
- described_class.new(api_key, braze_url).connection
21
-
22
- expect(options).to have_received(:"[]=").with(:timeout, described_class::DEFAULT_TIMEOUT)
23
- end
24
-
25
- it "it sets the default timeout option when given" do
26
- timeout = 5
27
- described_class.new(api_key, braze_url, {timeout: timeout}).connection
28
-
29
- expect(options).to have_received(:"[]=").with(:timeout, timeout)
30
- end
31
-
32
- it "sets the headers" do
33
- described_class.new(api_key, braze_url).connection
34
-
35
-
36
- expect(headers).to have_received(:"[]=").with("Content-Type", "application/json")
37
- expect(headers).to have_received(:"[]=").with("Accept", "application/json")
38
- expect(headers).to have_received(:"[]=").with("User-Agent", "Braze Ruby gem v#{BrazeRuby::VERSION}")
39
- expect(headers).to have_received(:"[]=").with("Authorization", "Bearer braze-api-key")
40
- end
41
-
42
- it "it sets the default adapter" do
43
- described_class.new(api_key, braze_url).connection
44
-
45
- expect(conn).to have_received(:adapter).with(:default_adapter)
46
- end
47
- end
48
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe BrazeRuby::REST::CreateUserAliases do
6
- let(:http) { double(:http) }
7
-
8
- let(:payload) { {user_aliases: [user]} }
9
- let(:user) { { user_alias: { alias_name: 'abc', alias_label: 'foo' } } }
10
-
11
- let(:api_key) { :api_key }
12
-
13
- subject { described_class.new :api_key, :rest_url, {}}
14
-
15
- before { subject.http = http }
16
-
17
- it 'makes an http call to the user aliases endpoint' do
18
- expect(http).to receive(:post).with '/users/alias/new',
19
- payload
20
-
21
- subject.perform(**payload)
22
- end
23
- end