knockapi 0.1.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|