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 +4 -4
- data/.github/workflows/publish.yml +17 -0
- data/Gemfile.lock +2 -2
- data/README.md +19 -0
- data/bin/publish +5 -0
- data/lib/knock/users.rb +32 -0
- data/lib/knock/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8d8593021545fcd9b7c40062469882c43afe76a8777579719978ba9e54027ae
|
4
|
+
data.tar.gz: daad9dcf8d90f026cf056711b0616663edc9715d214e4a8e6b46a8c9ab021424
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
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
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
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.
|
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-
|
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.
|
102
|
+
rubygems_version: 3.2.26
|
100
103
|
signing_key:
|
101
104
|
specification_version: 4
|
102
105
|
summary: API client for Knock
|