ruby-lokalise-api 2.9.0.1 → 2.10.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/CHANGELOG.md +7 -0
- data/README.md +19 -0
- data/lib/ruby-lokalise-api/connection.rb +1 -1
- data/lib/ruby-lokalise-api/request.rb +7 -0
- data/lib/ruby-lokalise-api/resources/webhook.rb +10 -2
- data/lib/ruby-lokalise-api/rest/webhooks.rb +11 -0
- data/lib/ruby-lokalise-api/version.rb +1 -1
- data/spec/lib/ruby-lokalise-api/rest/webhooks_spec.rb +37 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18ea61d6c137da44854cdee519355e5bdf9a9daafbe98328009d1eb82fa55853
|
4
|
+
data.tar.gz: 517820d0bd2a06c89d82fd3c690b7b450d34c12b1a97e5300dea9b9c1b7f342b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55fa6d66d7ef33b497a59b8d4443367005873d22997e1a752ed550edf10fa7cf664d671442d207149627e1d26f80efff450870052e3d89b2436e909dfdc8e6a3
|
7
|
+
data.tar.gz: 4e5812199673963f7615383018ee801c8360acfd23bc6e4737d1aa86c10f72f9f00b86cfa48076505aa4f8acec7d08393fdd816760c613d32e78c5c344992d1d
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.10.0 (28-Feb-20)
|
4
|
+
|
5
|
+
* Added methods to [regenerate webhook secret](https://lokalise.com/api2docs/curl/#transition-regenerate-a-webhook-secret-patch):
|
6
|
+
+ `@client.regenerate_webhook_secret(project_id, webhook_id)`
|
7
|
+
+ `webhook.regenerate_secret`
|
8
|
+
* API base URL is now `https://api.lokalise.com/api2/` instead of `https://api.lokalise.co/api2/`
|
9
|
+
|
3
10
|
## 2.9.0.1 (21-Jan-20)
|
4
11
|
|
5
12
|
* Make JSON dependency version less strict
|
data/README.md
CHANGED
@@ -1669,6 +1669,25 @@ webhook = @client.webhook(project_id, webhook_id)
|
|
1669
1669
|
webhook.destroy
|
1670
1670
|
```
|
1671
1671
|
|
1672
|
+
#### Regenerate webhook secret
|
1673
|
+
|
1674
|
+
[Doc](https://lokalise.com/api2docs/curl/#transition-regenerate-a-webhook-secret-patch)
|
1675
|
+
|
1676
|
+
```ruby
|
1677
|
+
@client.regenerate_webhook_secret(project_id, webhook_id) # Input:
|
1678
|
+
## project_id (string, required)
|
1679
|
+
## webhook_id (string or integer, required)
|
1680
|
+
# Output:
|
1681
|
+
## Hash containing `project_id` and new `secret`
|
1682
|
+
```
|
1683
|
+
|
1684
|
+
Alternatively:
|
1685
|
+
|
1686
|
+
```ruby
|
1687
|
+
webhook = @client.webhook(project_id, webhook_id)
|
1688
|
+
webhook.regenerate_secret
|
1689
|
+
```
|
1690
|
+
|
1672
1691
|
## Additional Info
|
1673
1692
|
|
1674
1693
|
### Customizing Request
|
@@ -29,6 +29,13 @@ module Lokalise
|
|
29
29
|
)
|
30
30
|
end
|
31
31
|
|
32
|
+
def patch(path, client, params = {})
|
33
|
+
respond_with(
|
34
|
+
connection(client).patch(prepare(path), params.any? ? custom_dump(params) : nil),
|
35
|
+
client
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
32
39
|
def delete(path, client, params = {})
|
33
40
|
respond_with(
|
34
41
|
# Rubocop tries to replace `delete` with `gsub` but that's a different method here!
|
@@ -5,10 +5,18 @@ module Lokalise
|
|
5
5
|
class Webhook < Base
|
6
6
|
supports :update, :destroy
|
7
7
|
|
8
|
+
def regenerate_secret
|
9
|
+
self.class.regenerate_secret @client, @path + '/secret/regenerate'
|
10
|
+
end
|
11
|
+
|
8
12
|
class << self
|
9
|
-
def
|
13
|
+
def regenerate_secret(client, path, *_args)
|
14
|
+
patch(path, client)['content']
|
15
|
+
end
|
16
|
+
|
17
|
+
def endpoint(project_id, webhook_id = nil, *actions)
|
10
18
|
path_from projects: project_id,
|
11
|
-
webhooks: webhook_id
|
19
|
+
webhooks: [webhook_id, *actions]
|
12
20
|
end
|
13
21
|
end
|
14
22
|
end
|
@@ -52,5 +52,16 @@ module Lokalise
|
|
52
52
|
def destroy_webhook(project_id, webhook_id)
|
53
53
|
c_r Lokalise::Resources::Webhook, :destroy, [project_id, webhook_id]
|
54
54
|
end
|
55
|
+
|
56
|
+
# Regenerates secret for the given webhook
|
57
|
+
#
|
58
|
+
# @see https://lokalise.com/api2docs/curl/#transition-regenerate-a-webhook-secret-patch
|
59
|
+
# @return [Hash]
|
60
|
+
# @param project_id [String]
|
61
|
+
# @param webhook_id [String, Integer]
|
62
|
+
def regenerate_webhook_secret(project_id, webhook_id)
|
63
|
+
c_r Lokalise::Resources::Webhook, :regenerate_secret,
|
64
|
+
[project_id, webhook_id, 'secret', 'regenerate']
|
65
|
+
end
|
55
66
|
end
|
56
67
|
end
|
@@ -4,6 +4,7 @@ RSpec.describe Lokalise::Client do
|
|
4
4
|
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
5
|
let(:webhook_id) { 'c7eb7e6e3c2fb2b26d0b64d0de083a5a71675b3d' }
|
6
6
|
let(:new_webhook_id) { 'b345ccc6499920c490e8f4fe9487b1378dbf1dbf' }
|
7
|
+
let(:serious_webhook_id) { '795565582e5ab15a59bb68156c7e2e9eaa1e8d1a' }
|
7
8
|
|
8
9
|
describe '#webhooks' do
|
9
10
|
it 'returns all webhooks' do
|
@@ -73,4 +74,40 @@ RSpec.describe Lokalise::Client do
|
|
73
74
|
expect(response['project_id']).to eq(project_id)
|
74
75
|
expect(response['webhook_deleted']).to eq(true)
|
75
76
|
end
|
77
|
+
|
78
|
+
specify '#regenerate_webhook_secret' do
|
79
|
+
response = VCR.use_cassette('regenerate_webhook_secret') do
|
80
|
+
test_client.regenerate_webhook_secret project_id,
|
81
|
+
serious_webhook_id
|
82
|
+
end
|
83
|
+
|
84
|
+
expect(response['project_id']).to eq(project_id)
|
85
|
+
expect(response['secret']).not_to be_nil
|
86
|
+
end
|
87
|
+
|
88
|
+
context 'when webhook chained methods are used' do
|
89
|
+
it 'supports regenerate_webhook_secret' do
|
90
|
+
webhook = VCR.use_cassette('webhook_2') do
|
91
|
+
test_client.webhook project_id, serious_webhook_id
|
92
|
+
end
|
93
|
+
|
94
|
+
expect(webhook.webhook_id).to eq(serious_webhook_id)
|
95
|
+
|
96
|
+
response = VCR.use_cassette('regenerate_webhook_secret_2') do
|
97
|
+
webhook.regenerate_secret
|
98
|
+
end
|
99
|
+
|
100
|
+
expect(response['project_id']).to eq(project_id)
|
101
|
+
expect(response['secret']).not_to be_nil
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'supports update and destroy' do
|
105
|
+
webhook = VCR.use_cassette('webhook_2') do
|
106
|
+
test_client.webhook project_id, serious_webhook_id
|
107
|
+
end
|
108
|
+
|
109
|
+
expect(webhook).to respond_to(:update)
|
110
|
+
expect(webhook).to respond_to(:destroy)
|
111
|
+
end
|
112
|
+
end
|
76
113
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-lokalise-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Bodrov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|