appboy 0.1.6 → 0.1.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40adbe58a4c6aa0fc54d42723bd422307cb4a07ca7d4b9c6eeb4c0832c03ba61
4
- data.tar.gz: 970578c0bae8fe4486fe6ba5c183573fc8bdcac07e9dc5affd17d5b01abfea4d
3
+ metadata.gz: 96b1b915bc01148105219d0aa25762991883ac33ecdfbc42afc2d05703bd4084
4
+ data.tar.gz: 23b7079dbcf8fa2dc7c095bcce30766dd542b9580d21b8eba3044275e313ba74
5
5
  SHA512:
6
- metadata.gz: 38e72090668868edad059635cf35d74087a97cfe653e9e5d5abeb61e5b51ddc6e6b9cd28bae8f43f06658539c69debb0bac3f1af7b67dc619f8b6bdbbc8f77b9
7
- data.tar.gz: 99f58e65afbd21443d00602d343e8e79dce2178d5b848fcd5af752eed69adc90ef86b83c12a870ec3f2528ac90f61dee68a5867818ad86033c1624828b7ce01e
6
+ metadata.gz: 5636f61473d6f7c854e8086a695af8364429387b1fc710542805fe250fef63ff709265620dcc23c4eefb8cc8da394d4d5a87bbeec2830622f4c09503b1ca1781
7
+ data.tar.gz: e61ef8f59d13886bcc8dd62e854fa7137bde95b786599a9a7bf5f57e74d9d8a5ee9e40a443e31a31938a8b7ebd8134e6e9b981d902195f7c4ea6ea5f999c4ddd
data/README.md CHANGED
@@ -173,6 +173,17 @@ See: [Segment Export](https://www.braze.com/documentation/REST_API/#segment-expo
173
173
  api.list_segments
174
174
  ```
175
175
 
176
+ ### List Canvas
177
+
178
+ See: [Segment Export](https://www.braze.com/docs/api/endpoints/export/canvas/get_canvases)
179
+
180
+ ```ruby
181
+ api.list_canvas(
182
+ sort_direction: (optional, string, default: 'desc',
183
+ include_archived: (optional, boolean, default: false)
184
+ )
185
+ ```
186
+
176
187
  ### Export Users
177
188
 
178
189
  See: [User Export](https://www.braze.com/documentation/REST_API/#user-export)
@@ -6,6 +6,7 @@ require 'appboy/endpoints/schedule_messages'
6
6
  require 'appboy/endpoints/email_status'
7
7
  require 'appboy/endpoints/trigger_campaign'
8
8
  require 'appboy/endpoints/trigger_canvas'
9
+ require 'appboy/endpoints/list_canvas'
9
10
 
10
11
  module Appboy
11
12
  class API
@@ -18,6 +19,7 @@ module Appboy
18
19
  include Appboy::Endpoints::EmailStatus
19
20
  include Appboy::Endpoints::TriggerCampaign
20
21
  include Appboy::Endpoints::TriggerCanvas
22
+ include Appboy::Endpoints::ListCanvas
21
23
 
22
24
  def export_users(**payload)
23
25
  Appboy::REST::ExportUsers.new.perform(app_group_id, payload)
@@ -34,3 +36,4 @@ module Appboy
34
36
  end
35
37
  end
36
38
  end
39
+
@@ -0,0 +1,15 @@
1
+ module Appboy
2
+ module Endpoints
3
+ module ListCanvas
4
+ def list_canvas(**payload)
5
+ list_canvas_service.new(app_group_id, payload).perform
6
+ end
7
+
8
+ private
9
+
10
+ def list_canvas_service
11
+ Appboy::REST::ListCanvas
12
+ end
13
+ end
14
+ end
15
+ end
@@ -8,3 +8,4 @@ require 'appboy/rest/export_users'
8
8
  require 'appboy/rest/list_segments'
9
9
  require 'appboy/rest/trigger_campaign'
10
10
  require 'appboy/rest/trigger_canvas'
11
+ require 'appboy/rest/list_canvas'
@@ -0,0 +1,21 @@
1
+ module Appboy
2
+ module REST
3
+ class ListCanvas < Base
4
+ attr_reader :app_group_id, :sort_direction, :include_archived
5
+
6
+ def initialize(app_group_id, options = {})
7
+ @app_group_id = app_group_id
8
+ @sort_direction = options[:sort_direction]
9
+ @include_archived = options[:include_archived]
10
+ end
11
+
12
+ def perform
13
+ http.get '/canvas/list', {
14
+ app_group_id: app_group_id,
15
+ sort_direction: sort_direction,
16
+ include_archived: include_archived
17
+ }.compact
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module Appboy
2
- VERSION = '0.1.6'
2
+ VERSION = '0.1.7'
3
3
  end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Appboy::REST::ListCanvas do
4
+ let(:http) { double(:http) }
5
+
6
+ let(:payload) {{
7
+ sort_direction: "desc",
8
+ include_archived: false
9
+ }}
10
+
11
+ let(:app_group_id) { :app_group_id }
12
+
13
+ subject { described_class.new(:app_group_id, sort_direction: "desc", include_archived: false) }
14
+
15
+ before { subject.http = http }
16
+
17
+ it 'makes an http call to the list canvas endpoint' do
18
+ expect(http).to receive(:get).with '/canvas/list',
19
+ payload.merge({ app_group_id: :app_group_id })
20
+
21
+ subject.perform
22
+ end
23
+ end
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.appboy.com/canvas/list?app_group_id=<APPBOY_GROUP_ID>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.3.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Connection:
22
+ - keep-alive
23
+ Content-Type:
24
+ - application/json
25
+ Server:
26
+ - nginx
27
+ X-Ratelimit-Limit:
28
+ - '250000'
29
+ X-Ratelimit-Remaining:
30
+ - '249993'
31
+ X-Ratelimit-Reset:
32
+ - '1611349200'
33
+ Etag:
34
+ - W/"51dc6bc869351170ca28552c48fbad29"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 1ce58ce3-e2ba-41b8-94d2-970709a9c721
39
+ X-Runtime:
40
+ - '0.026860'
41
+ Strict-Transport-Security:
42
+ - max-age=0; includeSubDomains
43
+ - max-age=31536000; includeSubDomains
44
+ Accept-Ranges:
45
+ - bytes
46
+ Date:
47
+ - Fri, 22 Jan 2021 20:24:15 GMT
48
+ Via:
49
+ - 1.1 varnish
50
+ X-Served-By:
51
+ - cache-dca17777-DCA
52
+ X-Cache:
53
+ - MISS
54
+ X-Cache-Hits:
55
+ - '0'
56
+ X-Timer:
57
+ - S1611347056.840725,VS0,VE30
58
+ Vary:
59
+ - Origin,Accept-Encoding
60
+ Transfer-Encoding:
61
+ - chunked
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: '{"canvases":[{"id":"2f28a304-d5bf-4032-a90f-03385d1b0330","name":"ONBOARDING_NEW
65
+ SUBSCRIBERS","tags":[],"last_edited":"2017-09-05T20:57:55+00:00"},{"id":"eb7e3341-4734-4cc0-ae39-942e564c0c55","name":"ONBOARDING_COI","tags":[],"last_edited":"2017-09-05T20:58:34+00:00"},{"id":"d8bd2da6-d3ee-4a56-aa26-9c88e7f59cd8","name":"RESUBSCRIBERS","tags":[],"last_edited":"2017-09-05T21:14:17+00:00"},{"id":"c27f07fa-d3e7-8b57-fc7c-bfdbb5e0fb34","name":"NEWSLETTER_DAILY_StagingTest","tags":[],"last_edited":"2020-10-12T14:01:46+00:00"}],"message":"success"}'
66
+ recorded_at: Fri, 22 Jan 2021 20:24:15 GMT
67
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.appboy.com/canvas/list?app_group_id=<APPBOY_GROUP_ID>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.3.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Connection:
22
+ - keep-alive
23
+ Content-Type:
24
+ - application/json
25
+ Server:
26
+ - nginx
27
+ X-Ratelimit-Limit:
28
+ - '250000'
29
+ X-Ratelimit-Remaining:
30
+ - '249992'
31
+ X-Ratelimit-Reset:
32
+ - '1611349200'
33
+ Etag:
34
+ - W/"51dc6bc869351170ca28552c48fbad29"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - cd1e61fb-a740-413e-b12e-dadbacddf788
39
+ X-Runtime:
40
+ - '0.013484'
41
+ Strict-Transport-Security:
42
+ - max-age=0; includeSubDomains
43
+ - max-age=31536000; includeSubDomains
44
+ Accept-Ranges:
45
+ - bytes
46
+ Date:
47
+ - Fri, 22 Jan 2021 20:24:16 GMT
48
+ Via:
49
+ - 1.1 varnish
50
+ X-Served-By:
51
+ - cache-dca17778-DCA
52
+ X-Cache:
53
+ - MISS
54
+ X-Cache-Hits:
55
+ - '0'
56
+ X-Timer:
57
+ - S1611347056.075099,VS0,VE17
58
+ Vary:
59
+ - Origin,Accept-Encoding
60
+ Transfer-Encoding:
61
+ - chunked
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: '{"canvases":[{"id":"2f28a304-d5bf-4032-a90f-03385d1b0330","name":"ONBOARDING_NEW
65
+ SUBSCRIBERS","tags":[],"last_edited":"2017-09-05T20:57:55+00:00"},{"id":"eb7e3341-4734-4cc0-ae39-942e564c0c55","name":"ONBOARDING_COI","tags":[],"last_edited":"2017-09-05T20:58:34+00:00"},{"id":"d8bd2da6-d3ee-4a56-aa26-9c88e7f59cd8","name":"RESUBSCRIBERS","tags":[],"last_edited":"2017-09-05T21:14:17+00:00"},{"id":"c27f07fa-d3e7-8b57-fc7c-bfdbb5e0fb34","name":"NEWSLETTER_DAILY_StagingTest","tags":[],"last_edited":"2020-10-12T14:01:46+00:00"}],"message":"success"}'
66
+ recorded_at: Fri, 22 Jan 2021 20:24:16 GMT
67
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'list canvas' do
4
+ subject(:list_canvas) { api.list_canvas }
5
+
6
+ context 'with success', :vcr do
7
+ it 'responds with success' do
8
+ expect(list_canvas).to be_success
9
+ end
10
+
11
+ it 'responds with a list of segments' do
12
+ expect(canvases.count).to be 4
13
+
14
+ expect(canvases.first['name']).to eq 'ONBOARDING_NEW SUBSCRIBERS'
15
+ end
16
+
17
+ def canvases
18
+ JSON.parse(list_canvas.body)['canvases']
19
+ end
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appboy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Nussbaum
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-28 00:00:00.000000000 Z
12
+ date: 2021-01-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: virtus
@@ -199,6 +199,7 @@ files:
199
199
  - lib/appboy/deprecated.rb
200
200
  - lib/appboy/endpoints/delete_users.rb
201
201
  - lib/appboy/endpoints/email_status.rb
202
+ - lib/appboy/endpoints/list_canvas.rb
202
203
  - lib/appboy/endpoints/schedule_messages.rb
203
204
  - lib/appboy/endpoints/send_messages.rb
204
205
  - lib/appboy/endpoints/track_users.rb
@@ -210,6 +211,7 @@ files:
210
211
  - lib/appboy/rest/delete_users.rb
211
212
  - lib/appboy/rest/email_status.rb
212
213
  - lib/appboy/rest/export_users.rb
214
+ - lib/appboy/rest/list_canvas.rb
213
215
  - lib/appboy/rest/list_segments.rb
214
216
  - lib/appboy/rest/schedule_messages.rb
215
217
  - lib/appboy/rest/send_messages.rb
@@ -225,6 +227,7 @@ files:
225
227
  - spec/appboy/rest/delete_users_spec.rb
226
228
  - spec/appboy/rest/email_status_spec.rb
227
229
  - spec/appboy/rest/export_users_spec.rb
230
+ - spec/appboy/rest/list_canvas_spec.rb
228
231
  - spec/appboy/rest/schedule_messages_spec.rb
229
232
  - spec/appboy/rest/send_messages_spec.rb
230
233
  - spec/appboy/rest/track_users_spec.rb
@@ -240,6 +243,8 @@ files:
240
243
  - spec/fixtures/responses/email_status/unknown_email/responds_with_error_message.yml
241
244
  - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
242
245
  - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
246
+ - spec/fixtures/responses/list_canvas/with_success/responds_with_a_list_of_segments.yml
247
+ - spec/fixtures/responses/list_canvas/with_success/responds_with_success.yml
243
248
  - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
244
249
  - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
245
250
  - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
@@ -254,6 +259,7 @@ files:
254
259
  - spec/integrations/delete_users_spec.rb
255
260
  - spec/integrations/email_status_spec.rb
256
261
  - spec/integrations/export_users_spec.rb
262
+ - spec/integrations/list_canvas_spec.rb
257
263
  - spec/integrations/list_segments_spec.rb
258
264
  - spec/integrations/schedule_messages_spec.rb
259
265
  - spec/integrations/send_messages_spec.rb
@@ -281,8 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
287
  - !ruby/object:Gem::Version
282
288
  version: '0'
283
289
  requirements: []
284
- rubyforge_project:
285
- rubygems_version: 2.7.6
290
+ rubygems_version: 3.1.2
286
291
  signing_key:
287
292
  specification_version: 4
288
293
  summary: A wrapper for the Appboy REST API, track users/events/purchases, send & schedule
@@ -296,6 +301,7 @@ test_files:
296
301
  - spec/appboy/rest/delete_users_spec.rb
297
302
  - spec/appboy/rest/email_status_spec.rb
298
303
  - spec/appboy/rest/export_users_spec.rb
304
+ - spec/appboy/rest/list_canvas_spec.rb
299
305
  - spec/appboy/rest/schedule_messages_spec.rb
300
306
  - spec/appboy/rest/send_messages_spec.rb
301
307
  - spec/appboy/rest/track_users_spec.rb
@@ -311,6 +317,8 @@ test_files:
311
317
  - spec/fixtures/responses/email_status/unknown_email/responds_with_error_message.yml
312
318
  - spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml
313
319
  - spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml
320
+ - spec/fixtures/responses/list_canvas/with_success/responds_with_a_list_of_segments.yml
321
+ - spec/fixtures/responses/list_canvas/with_success/responds_with_success.yml
314
322
  - spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml
315
323
  - spec/fixtures/responses/list_segments/with_success/responds_with_success.yml
316
324
  - spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml
@@ -325,6 +333,7 @@ test_files:
325
333
  - spec/integrations/delete_users_spec.rb
326
334
  - spec/integrations/email_status_spec.rb
327
335
  - spec/integrations/export_users_spec.rb
336
+ - spec/integrations/list_canvas_spec.rb
328
337
  - spec/integrations/list_segments_spec.rb
329
338
  - spec/integrations/schedule_messages_spec.rb
330
339
  - spec/integrations/send_messages_spec.rb