braze_ruby 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5649f519796cde810f2c2e2028c5a14fbcdfc7c6d93cf33043068fb4195b481
4
- data.tar.gz: b81d2eed4f84937c0bd4721318c2474f36e987d97418961fb407744dcee068fb
3
+ metadata.gz: adcffccc751c8231b0084d858454d36d5b3a034b128bd4c7c7d72e5867a27b4b
4
+ data.tar.gz: 2e0bf1111244eb7c356f7b8b9edcf9cf146c7f38cf3687f771b9d45953fb4925
5
5
  SHA512:
6
- metadata.gz: 766e1d5e83222af37ba40d6e1333ea6e350b4e9ae327e943a31dfc60772253368a67fe8048b5ef72681759ce8e1ab13a7bdeb6c77fe92c82f167094881c22830
7
- data.tar.gz: a1011b8b5f84bba75a5eae4bb1535d0582788ea10ef838b6821912a05dad3f3abc06bc4033a93004c3554b05ca949d74f40916caa4115f2dc9087cf066f418bf
6
+ metadata.gz: ae3ccf92edd2f7f82c31812964eba85a57af09f1bf944338491f03bcc2d8e5831f7c21594a7e07a2aa5df8f0f1d732721d3aa7b9147c9380c0f3c4178f99c7e0
7
+ data.tar.gz: 9c1046684d733a8aab55c2a65a97ff950340df129c44472089424f4a43099609975c96770d39c8a3a896cd05868867ea8b203d7f2f27a5c90204634af6c23ba3
@@ -0,0 +1,19 @@
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@v1
11
+ - name: Set up Ruby
12
+ uses: actions/setup-ruby@v1
13
+ with:
14
+ ruby-version: 2.6.x
15
+ - name: Build and test
16
+ run: |
17
+ gem install bundler
18
+ bundle install --jobs 4 --retry 3
19
+ bundle exec rake spec
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- braze_ruby (0.2.1)
4
+ braze_ruby (0.2.2)
5
5
  faraday
6
6
 
7
7
  GEM
@@ -21,7 +21,7 @@ GEM
21
21
  safe_yaml (~> 1.0.0)
22
22
  diff-lcs (1.3)
23
23
  dotenv (2.7.5)
24
- factory_bot (5.0.2)
24
+ factory_bot (5.1.0)
25
25
  activesupport (>= 4.2.0)
26
26
  faraday (0.15.4)
27
27
  multipart-post (>= 1.2, < 3)
@@ -29,7 +29,7 @@ GEM
29
29
  i18n (1.6.0)
30
30
  concurrent-ruby (~> 1.0)
31
31
  method_source (0.9.2)
32
- minitest (5.11.3)
32
+ minitest (5.12.0)
33
33
  multipart-post (2.1.1)
34
34
  pry (0.12.2)
35
35
  coderay (~> 1.1.0)
@@ -54,11 +54,11 @@ GEM
54
54
  tzinfo (1.2.5)
55
55
  thread_safe (~> 0.1)
56
56
  vcr (5.0.0)
57
- webmock (3.7.1)
57
+ webmock (3.7.5)
58
58
  addressable (>= 2.3.6)
59
59
  crack (>= 0.3.2)
60
60
  hashdiff (>= 0.4.0, < 2.0.0)
61
- zeitwerk (2.1.9)
61
+ zeitwerk (2.1.10)
62
62
 
63
63
  PLATFORMS
64
64
  ruby
data/README.md CHANGED
@@ -121,6 +121,15 @@ api.trigger_campaign_send(
121
121
  )
122
122
  ```
123
123
 
124
+ ### Send Canvas
125
+
126
+ ```ruby
127
+ api.trigger_canvas_send(
128
+ canvas_id: 'canvas-id',
129
+ recipients: [external_user_id: 123, canvas_entry_properties: {first_name: 'John'}]
130
+ )
131
+ ```
132
+
124
133
  ### Changing Email Subscription
125
134
 
126
135
  ```ruby
@@ -6,6 +6,7 @@ require 'braze_ruby/endpoints/email_status'
6
6
  require 'braze_ruby/endpoints/email_sync'
7
7
  require 'braze_ruby/endpoints/delete_users'
8
8
  require 'braze_ruby/endpoints/campaigns'
9
+ require 'braze_ruby/endpoints/canvas'
9
10
 
10
11
  module BrazeRuby
11
12
  class API
@@ -18,6 +19,7 @@ module BrazeRuby
18
19
  include BrazeRuby::Endpoints::EmailSync
19
20
  include BrazeRuby::Endpoints::DeleteUsers
20
21
  include BrazeRuby::Endpoints::Campaigns
22
+ include BrazeRuby::Endpoints::Canvas
21
23
 
22
24
  def export_users(**payload)
23
25
  BrazeRuby::REST::ExportUsers.new(braze_url).perform(api_key, payload)
@@ -0,0 +1,9 @@
1
+ module BrazeRuby
2
+ module Endpoints
3
+ module Canvas
4
+ def trigger_canvas_send(**payload)
5
+ BrazeRuby::REST::TriggerCanvasSend.new(api_key, braze_url, payload).perform
6
+ end
7
+ end
8
+ end
9
+ end
@@ -9,3 +9,4 @@ require 'braze_ruby/rest/export_users'
9
9
  require 'braze_ruby/rest/list_segments'
10
10
  require 'braze_ruby/rest/delete_users'
11
11
  require 'braze_ruby/rest/trigger_campaign_send'
12
+ require 'braze_ruby/rest/trigger_canvas_send'
@@ -0,0 +1,20 @@
1
+ module BrazeRuby
2
+ module REST
3
+ class TriggerCanvasSend < Base
4
+ attr_reader :api_key, :params
5
+
6
+ def initialize(api_key, braze_url, **params)
7
+ @api_key = api_key
8
+ @params = params
9
+ super braze_url
10
+ end
11
+
12
+ def perform
13
+ http.post('/canvas/trigger/send', {
14
+ 'api_key': api_key,
15
+ **@params
16
+ })
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module BrazeRuby
2
- VERSION = '0.2.1'.freeze
2
+ VERSION = '0.2.2'.freeze
3
3
  end
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/canvas/trigger/send"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","canvas_id":"dc23ade4-e970-0c52-81bc-b369f64f533d","recipients":[{"external_user_id":132404,"canvas_entry_properties":{"first_name":"John"}}]}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Type:
26
+ - application/json
27
+ Etag:
28
+ - W/"fe0b7fad99d691854e76da70f1fcfff9"
29
+ Server:
30
+ - nginx
31
+ Strict-Transport-Security:
32
+ - max-age=0; includeSubDomains
33
+ - max-age=31536000; includeSubDomains
34
+ X-Ratelimit-Limit:
35
+ - '250000'
36
+ X-Ratelimit-Remaining:
37
+ - '249998'
38
+ X-Ratelimit-Reset:
39
+ - '1569409200'
40
+ X-Request-Id:
41
+ - 768c83db-2694-4267-b21c-d070cb4a1828
42
+ X-Runtime:
43
+ - '0.023062'
44
+ Content-Length:
45
+ - '94'
46
+ Accept-Ranges:
47
+ - bytes
48
+ Date:
49
+ - Wed, 25 Sep 2019 10:36:45 GMT
50
+ Via:
51
+ - 1.1 varnish
52
+ Connection:
53
+ - keep-alive
54
+ X-Served-By:
55
+ - cache-fra19174-FRA
56
+ X-Cache:
57
+ - MISS
58
+ X-Cache-Hits:
59
+ - '0'
60
+ X-Timer:
61
+ - S1569407805.340414,VS0,VE71
62
+ Vary:
63
+ - Origin,Accept-Encoding
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"dispatch_id":"0bda43218769391588ee304c36fafb03","message":"success"}'
67
+ http_version:
68
+ recorded_at: Wed, 25 Sep 2019 10:36:45 GMT
69
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'canvas' do
4
+ describe 'trigger_send' do
5
+ it 'sends a canvas', vcr: true do
6
+ response = api.trigger_canvas_send(
7
+ canvas_id: 'dc23ade4-e970-0c52-81bc-b369f64f533d',
8
+ recipients: [
9
+ external_user_id: 132404,
10
+ canvas_entry_properties: {first_name: 'John'}
11
+ ]
12
+ )
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braze_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Nussbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-09-02 00:00:00.000000000 Z
13
+ date: 2019-09-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -147,6 +147,7 @@ executables: []
147
147
  extensions: []
148
148
  extra_rdoc_files: []
149
149
  files:
150
+ - ".github/workflows/ci.yml"
150
151
  - ".gitignore"
151
152
  - ".rspec"
152
153
  - Gemfile
@@ -160,6 +161,7 @@ files:
160
161
  - lib/braze_ruby/deprecated.rb
161
162
  - lib/braze_ruby/endpoints.rb
162
163
  - lib/braze_ruby/endpoints/campaigns.rb
164
+ - lib/braze_ruby/endpoints/canvas.rb
163
165
  - lib/braze_ruby/endpoints/delete_users.rb
164
166
  - lib/braze_ruby/endpoints/email_status.rb
165
167
  - lib/braze_ruby/endpoints/email_sync.rb
@@ -179,6 +181,7 @@ files:
179
181
  - lib/braze_ruby/rest/send_messages.rb
180
182
  - lib/braze_ruby/rest/track_users.rb
181
183
  - lib/braze_ruby/rest/trigger_campaign_send.rb
184
+ - lib/braze_ruby/rest/trigger_canvas_send.rb
182
185
  - lib/braze_ruby/version.rb
183
186
  - spec/braze_ruby/api_spec.rb
184
187
  - spec/braze_ruby/endpoints/delete_users_spec.rb
@@ -191,6 +194,7 @@ files:
191
194
  - spec/braze_ruby/rest/track_users_spec.rb
192
195
  - spec/factories.rb
193
196
  - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
197
+ - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
194
198
  - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
195
199
  - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
196
200
  - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
@@ -215,6 +219,7 @@ files:
215
219
  - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
216
220
  - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
217
221
  - spec/integrations/campaigns_spec.rb
222
+ - spec/integrations/canvas_spec.rb
218
223
  - spec/integrations/delete_users_spec.rb
219
224
  - spec/integrations/email_status_spec.rb
220
225
  - spec/integrations/email_sync_spec.rb
@@ -265,6 +270,7 @@ test_files:
265
270
  - spec/braze_ruby/rest/track_users_spec.rb
266
271
  - spec/factories.rb
267
272
  - spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml
273
+ - spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml
268
274
  - spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml
269
275
  - spec/fixtures/responses/delete_users/with_success/responds_with_created.yml
270
276
  - spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml
@@ -289,6 +295,7 @@ test_files:
289
295
  - spec/fixtures/responses/track_users/with_success/responds_with_created.yml
290
296
  - spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml
291
297
  - spec/integrations/campaigns_spec.rb
298
+ - spec/integrations/canvas_spec.rb
292
299
  - spec/integrations/delete_users_spec.rb
293
300
  - spec/integrations/email_status_spec.rb
294
301
  - spec/integrations/email_sync_spec.rb