ojra 1.0.2 → 1.1.1
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/Gemfile.lock +16 -14
- data/LICENSE +1 -1
- data/README.md +20 -13
- data/lib/ojra/client.rb +14 -4
- data/lib/ojra/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b01570214491f01c0eec165e2b5c39b13f6d822beb3062380a56d112bed8cdab
|
4
|
+
data.tar.gz: 4c4f773535b4a693f208a4e7d0d12e832f1fa88a963f569bbe51919cec1485b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b009a6f0d422ff1aa1f93da78dfa144b1225e02672335f16eb5e86c6167ee402f7899ce34d8658fac820eb9148b818b135df6a15ac4e53377bc2d9089066bf91
|
7
|
+
data.tar.gz: a8b947eaef7fcbf400d485037cc7e3bb94acf7353196a0a0daad207b454ca5ffc0cb2462eac187c3bad47b30228ef836ca5e0e4b89d894c2dfb0c1da34e34cb0
|
data/Gemfile.lock
CHANGED
@@ -1,40 +1,42 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ojra (1.
|
5
|
-
faraday (~> 2.
|
4
|
+
ojra (1.1.1)
|
5
|
+
faraday (~> 2.9)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
diff-lcs (1.5.0)
|
11
|
-
faraday (2.
|
12
|
-
faraday-net_http (>= 2.0, < 3.
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
faraday (2.9.0)
|
12
|
+
faraday-net_http (>= 2.0, < 3.2)
|
13
|
+
faraday-net_http (3.1.0)
|
14
|
+
net-http
|
15
|
+
net-http (0.4.1)
|
16
|
+
uri
|
17
|
+
rake (13.1.0)
|
16
18
|
rspec (3.12.0)
|
17
19
|
rspec-core (~> 3.12.0)
|
18
20
|
rspec-expectations (~> 3.12.0)
|
19
21
|
rspec-mocks (~> 3.12.0)
|
20
|
-
rspec-core (3.12.
|
22
|
+
rspec-core (3.12.2)
|
21
23
|
rspec-support (~> 3.12.0)
|
22
|
-
rspec-expectations (3.12.
|
24
|
+
rspec-expectations (3.12.3)
|
23
25
|
diff-lcs (>= 1.2.0, < 2.0)
|
24
26
|
rspec-support (~> 3.12.0)
|
25
|
-
rspec-mocks (3.12.
|
27
|
+
rspec-mocks (3.12.6)
|
26
28
|
diff-lcs (>= 1.2.0, < 2.0)
|
27
29
|
rspec-support (~> 3.12.0)
|
28
|
-
rspec-support (3.12.
|
29
|
-
|
30
|
+
rspec-support (3.12.1)
|
31
|
+
uri (0.13.0)
|
30
32
|
|
31
33
|
PLATFORMS
|
32
34
|
ruby
|
33
35
|
|
34
36
|
DEPENDENCIES
|
35
37
|
ojra!
|
36
|
-
rake (~> 13.
|
38
|
+
rake (~> 13.1)
|
37
39
|
rspec (~> 3.12)
|
38
40
|
|
39
41
|
BUNDLED WITH
|
40
|
-
2.
|
42
|
+
2.4.7
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# OJRA: Open Journals Reviewers API
|
2
2
|
|
3
|
-
A Ruby wrapper for the Open Journal's Reviewers application's API
|
3
|
+
A Ruby wrapper for the Open Journal's [Reviewers application](https://github.com/openjournals/reviewers)'s API
|
4
|
+
|
5
|
+
[](https://github.com/xuanxu/ojra/actions/workflows/tests.yml)
|
6
|
+
[](https://badge.fury.io/rb/ojra)
|
4
7
|
|
5
8
|
## Use
|
6
9
|
|
@@ -32,27 +35,31 @@ Initialize the API Client class with the URL of the Reviewers site and a valid A
|
|
32
35
|
**STATS:**
|
33
36
|
|
34
37
|
|
35
|
-
- **
|
36
|
-
```ruby
|
37
|
-
client.assign_reviewer("reviewer21", 4321)
|
38
|
-
```
|
39
|
-
|
40
|
-
- **assign_reviewers(reviewers_list, issue_id)**: Add a new active review to a list of reviewers (array or comma separated string)
|
38
|
+
- **assign_reviewers(reviewers_list, issue_id)**: Add a new active review to a reviewer or list of reviewers (array or comma separated string)
|
41
39
|
```ruby
|
40
|
+
client.assign_reviewers("@reviewer21", 4321)
|
42
41
|
client.assign_reviewers("@reviewer21, @reviewer33, @reviewer42", 4321)
|
43
42
|
client.assign_reviewers(["reviewer21", "reviewer33", "reviewer42"], 4321)
|
44
43
|
```
|
45
44
|
|
46
|
-
|
47
|
-
- **unassign_reviewer(reviewer, issue_id)**: Log end of review for a reviewer
|
45
|
+
- **unassign_reviewers(reviewers_list, issue_id)**: Log a review unassignment for a reviewer or list of reviewers (array or comma separated string)
|
48
46
|
```ruby
|
49
|
-
client.
|
47
|
+
client.unassign_reviewers("@reviewer21, @reviewer33, @reviewer42", 4321)
|
48
|
+
client.unassign_reviewers("@reviewer21", 4321)
|
49
|
+
client.unassign_reviewers(["reviewer21", "reviewer33", "reviewer42"], 4321)
|
50
50
|
```
|
51
51
|
|
52
|
+
- **start_review(reviewers_list, issue_id)**: Log starting a review for a reviewer or list of reviewers (array or comma separated string)
|
53
|
+
```ruby
|
54
|
+
client.start_review("@reviewer21", 4321)
|
55
|
+
client.start_review("@reviewer21, @reviewer33, @reviewer42", 4321)
|
56
|
+
client.start_review(["reviewer21", "reviewer33", "reviewer42"], 4321)
|
57
|
+
```
|
52
58
|
|
53
|
-
- **
|
59
|
+
- **finish_review(reviewers_list, issue_id)**: Log end of review for a reviewer or list of reviewers (array or comma separated string)
|
54
60
|
```ruby
|
55
|
-
client.
|
56
|
-
client.
|
61
|
+
client.finish_review("@reviewer21", 4321)
|
62
|
+
client.finish_review("@reviewer21, @reviewer33, @reviewer42", 4321)
|
63
|
+
client.finish_review(["reviewer21", "reviewer33", "reviewer42"], 4321)
|
57
64
|
```
|
58
65
|
|
data/lib/ojra/client.rb
CHANGED
@@ -14,19 +14,19 @@ module OJRA
|
|
14
14
|
!(host_url.empty? || token.empty?)
|
15
15
|
end
|
16
16
|
|
17
|
-
def assign_reviewer(reviewer, issue_id)
|
17
|
+
def assign_reviewer(reviewer, issue_id, api_action="review_assigned")
|
18
18
|
set_error_msg("Missing value: reviewer") and return if reviewer.to_s.strip.empty?
|
19
19
|
|
20
|
-
url = "#{host_url}/api/stats/update/#{reviewer}
|
20
|
+
url = "#{host_url}/api/stats/update/#{reviewer}/#{api_action}"
|
21
21
|
idempotency_key = "assign-#{reviewer}-#{issue_id}"
|
22
22
|
|
23
23
|
reviewers_api_post(url, { idempotency_key: idempotency_key })
|
24
24
|
end
|
25
25
|
|
26
|
-
def unassign_reviewer(reviewer, issue_id)
|
26
|
+
def unassign_reviewer(reviewer, issue_id, api_action="review_unassigned")
|
27
27
|
set_error_msg("Missing value: reviewer") and return if reviewer.to_s.strip.empty?
|
28
28
|
|
29
|
-
url = "#{host_url}/api/stats/update/#{reviewer}
|
29
|
+
url = "#{host_url}/api/stats/update/#{reviewer}/#{api_action}"
|
30
30
|
idempotency_key = "unassign-#{reviewer}-#{issue_id}"
|
31
31
|
|
32
32
|
reviewers_api_post(url, { idempotency_key: idempotency_key })
|
@@ -42,6 +42,16 @@ module OJRA
|
|
42
42
|
reviewers_list.each { |reviewer| unassign_reviewer(reviewer, issue_id) }
|
43
43
|
end
|
44
44
|
|
45
|
+
def start_review(reviewers, issue_id)
|
46
|
+
reviewers_list = get_list(reviewers)
|
47
|
+
reviewers_list.each { |reviewer| assign_reviewer(reviewer, issue_id, "review_started") }
|
48
|
+
end
|
49
|
+
|
50
|
+
def finish_review(reviewers, issue_id)
|
51
|
+
reviewers_list = get_list(reviewers)
|
52
|
+
reviewers_list.each { |reviewer| unassign_reviewer(reviewer, issue_id, "review_finished") }
|
53
|
+
end
|
54
|
+
|
45
55
|
private
|
46
56
|
|
47
57
|
def unconfigured_api
|
data/lib/ojra/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ojra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juanjo Bazán
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.9'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 13.
|
33
|
+
version: '13.1'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 13.
|
40
|
+
version: '13.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
|
-
rubygems_version: 3.
|
93
|
+
rubygems_version: 3.5.5
|
94
94
|
signing_key:
|
95
95
|
specification_version: 4
|
96
96
|
summary: Wrapper for the Open Journal's Reviewers API
|