knockapi 0.1.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df2a97ad8702bbb6843e12eeca370179e4ce14e1c591312d8bc6462c9114fd07
4
- data.tar.gz: bdaae5b1b47ef4e022ff4fa81f59250705880801ef6075af337b41ee657ef79a
3
+ metadata.gz: c8d8593021545fcd9b7c40062469882c43afe76a8777579719978ba9e54027ae
4
+ data.tar.gz: daad9dcf8d90f026cf056711b0616663edc9715d214e4a8e6b46a8c9ab021424
5
5
  SHA512:
6
- metadata.gz: 799e436d7ca5514f82b76f789f7fcf031fb67ed1d5f2705b34c9313c3a9369b04b450bd72e4e18c1d29d4119cf65a353729a5102fabfb1be3ef3ade48a9bd047
7
- data.tar.gz: aec1077db54be921685100263417cc360af0ede27c382282a0f117bf59bce26d41d1af7db4775dadfb7b19b27e3b53ceae1fab1c8b4c73b43f56dbd045ebc3a8
6
+ metadata.gz: 4525ed1305fded0310eb782031bd2e832dea431c94a6cddbeab5b72e06ee67b35458e78f1135f03911f41e0b669ee4819b514160a2bb198a648241972e3f3c6d
7
+ data.tar.gz: ab4906c79209c2159e6e2b420a1c7ad53752f174fd1bf10312afbe0775b47d38cbd11d793e7e400a3411fb6f48166018d9b5a4f8af7497b50b2ee40b0f72cb66
@@ -0,0 +1,17 @@
1
+ name: Publish Gem
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v1
12
+ - name: Release Gem
13
+ uses: cadwallion/publish-rubygems-action@master
14
+ env:
15
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
16
+ RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
17
+ RELEASE_COMMAND: ./bin/publish
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- knockapi (0.1.0)
4
+ knockapi (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -44,4 +44,4 @@ DEPENDENCIES
44
44
  standard
45
45
 
46
46
  BUNDLED WITH
47
- 2.2.22
47
+ 2.2.26
data/README.md CHANGED
@@ -112,6 +112,25 @@ Knock::Preferences.set(
112
112
  Knock::Preferences.get(user_id: "jhammond")
113
113
  ```
114
114
 
115
+ ### Getting and setting channel data
116
+
117
+ ```ruby
118
+ require "knockapi"
119
+ Knock.key = "sk_12345"
120
+
121
+ # Set channel data for an APNS
122
+ Knock::Users.set_channel_data(
123
+ id: "jhammond",
124
+ channel_id: KNOCK_APNS_CHANNEL_ID,
125
+ channel_data: {
126
+ 'tokens': [apns_token]
127
+ }
128
+ )
129
+
130
+ # Get channel data for the APNS channel
131
+ Knock::Users.get_channel_data(user_id: "jhammond", channel_id: KNOCK_APNS_CHANNEL_ID)
132
+ ```
133
+
115
134
  ### Cancelling workflows
116
135
 
117
136
  ```ruby
data/bin/publish ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ bundle install
4
+ bundle exec gem build knockapi --output=release.gem
5
+ bundle exec gem push release.gem
data/lib/knock/users.rb CHANGED
@@ -51,6 +51,38 @@ module Knock
51
51
 
52
52
  execute_request(request: request)
53
53
  end
54
+
55
+ # Get user's channel data for the given channel id
56
+ #
57
+ # @param [String] id the user ID
58
+ # @param [String] channel_id target channel ID
59
+ #
60
+ # @return [Hash] channel data
61
+ def get_channel_data(id:, channel_id:)
62
+ request = get_request(
63
+ auth: true,
64
+ path: "/v1/users/#{id}/channel_data/#{channel_id}"
65
+ )
66
+
67
+ execute_request(request: request)
68
+ end
69
+
70
+ # Upserts user's channel data for the given channel id
71
+ #
72
+ # @param [String] id the user ID
73
+ # @param [String] channel_id target channel ID
74
+ # @param [String] channel_data channel data
75
+ #
76
+ # @return [Hash] channel data
77
+ def set_channel_data(id:, channel_id:, channel_data:)
78
+ request = put_request(
79
+ auth: true,
80
+ path: "/v1/users/#{id}/channel_data/#{channel_id}",
81
+ body: { "data": channel_data }
82
+ )
83
+
84
+ execute_request(request: request)
85
+ end
54
86
  end
55
87
  end
56
88
  end
data/lib/knock/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knock
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knockapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Knock Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-18 00:00:00.000000000 Z
11
+ date: 2021-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -57,9 +57,11 @@ email:
57
57
  - support@knock.app
58
58
  executables:
59
59
  - console
60
+ - publish
60
61
  extensions: []
61
62
  extra_rdoc_files: []
62
63
  files:
64
+ - ".github/workflows/publish.yml"
63
65
  - ".gitignore"
64
66
  - ".ruby-version"
65
67
  - Gemfile
@@ -67,6 +69,7 @@ files:
67
69
  - LICENSE
68
70
  - README.md
69
71
  - bin/console
72
+ - bin/publish
70
73
  - knockapi.gemspec
71
74
  - lib/knock.rb
72
75
  - lib/knock/base.rb
@@ -96,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
99
  - !ruby/object:Gem::Version
97
100
  version: '0'
98
101
  requirements: []
99
- rubygems_version: 3.2.22
102
+ rubygems_version: 3.2.26
100
103
  signing_key:
101
104
  specification_version: 4
102
105
  summary: API client for Knock