orcid_client 0.9.8 → 0.10.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/build.yml +5 -20
- data/.github/workflows/ci.yml +26 -0
- data/.github/workflows/pull-request.yml +10 -0
- data/.github/workflows/release.yml +8 -13
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +105 -94
- data/lib/orcid_client/version.rb +1 -1
- data/lib/orcid_client/work_type.rb +21 -7
- data/orcid_client.gemspec +1 -1
- data/spec/work_type_spec.rb +234 -0
- metadata +7 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a90ef8adbe65940e9b8c10d7a8a36bff60809ee9a0931e1c9182a29effd8d002
|
4
|
+
data.tar.gz: e24d2d59c385eadc01e3fe077dc03f689117bad5baedeffe516781d469367e67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 620a7fbb35a2b215a4ae918c075b1c587fa3024da9c8642489922f614037a1ce202a05df8164d68d83cee9d9d63d833e4f564f066ebe0cffff301413db060f02
|
7
|
+
data.tar.gz: 5e9b9454b8380742e4e01fdb738ec3b22f237c5705058cd9110ae0b8c933c8b200538d2d106340b811b3b8e29c8f7a970662b45546d26c08cf50c183d03a70e5
|
data/.github/workflows/build.yml
CHANGED
@@ -5,30 +5,15 @@ on:
|
|
5
5
|
branches:
|
6
6
|
- "master"
|
7
7
|
jobs:
|
8
|
-
|
8
|
+
test:
|
9
|
+
uses: ./.github/workflows/ci.yml
|
10
|
+
secrets: inherit
|
11
|
+
notify:
|
12
|
+
needs: test
|
9
13
|
runs-on: ubuntu-latest
|
10
14
|
env:
|
11
15
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
12
16
|
steps:
|
13
|
-
- uses: actions/checkout@v2
|
14
|
-
- name: Set up Ruby 2.6
|
15
|
-
uses: actions/setup-ruby@v1
|
16
|
-
with:
|
17
|
-
ruby-version: 2.6.x
|
18
|
-
|
19
|
-
- name: Build and test
|
20
|
-
env:
|
21
|
-
ORCID_TOKEN: ${{ secrets.ORCID_TOKEN }}
|
22
|
-
run: |
|
23
|
-
gem install bundler
|
24
|
-
bundle install
|
25
|
-
bundle exec rspec
|
26
|
-
|
27
|
-
# - name: Publish code coverage
|
28
|
-
# uses: paambaati/codeclimate-action@v2.7.4
|
29
|
-
# env:
|
30
|
-
# CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
31
|
-
|
32
17
|
- name: Notify Slack
|
33
18
|
uses: adamkdean/simple-slack-notify@1.0.4
|
34
19
|
with:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: Run Tests
|
2
|
+
on:
|
3
|
+
workflow_call:
|
4
|
+
secrets:
|
5
|
+
ORCID_TOKEN:
|
6
|
+
required: true
|
7
|
+
jobs:
|
8
|
+
test:
|
9
|
+
strategy:
|
10
|
+
fail-fast: false
|
11
|
+
matrix:
|
12
|
+
ruby: ["2.6", "2.7", "3.0", "3.1"]
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v3
|
16
|
+
- name: Set up Ruby ${{matrix.ruby}}
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: ${{matrix.ruby}}
|
20
|
+
bundler-cache: true
|
21
|
+
|
22
|
+
- name: Run tests
|
23
|
+
env:
|
24
|
+
ORCID_TOKEN: ${{ secrets.ORCID_TOKEN }}
|
25
|
+
run: |
|
26
|
+
bundle exec rspec
|
@@ -4,29 +4,24 @@ on:
|
|
4
4
|
release:
|
5
5
|
types: [published]
|
6
6
|
jobs:
|
7
|
+
test:
|
8
|
+
uses: ./.github/workflows/ci.yml
|
9
|
+
secrets: inherit
|
7
10
|
build:
|
11
|
+
needs: test
|
8
12
|
runs-on: ubuntu-latest
|
9
13
|
env:
|
10
14
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
11
15
|
steps:
|
12
16
|
- uses: actions/checkout@v2
|
13
17
|
- name: Set up Ruby 2.6
|
14
|
-
uses:
|
18
|
+
uses: ruby/setup-ruby@v1
|
15
19
|
with:
|
16
|
-
ruby-version: 2.6
|
20
|
+
ruby-version: "2.6"
|
17
21
|
|
18
|
-
- name: Build
|
19
|
-
env:
|
20
|
-
ORCID_TOKEN: ${{ secrets.ORCID_TOKEN }}
|
22
|
+
- name: Build
|
21
23
|
run: |
|
22
|
-
gem install bundler
|
23
24
|
bundle install
|
24
|
-
bundle exec rspec spec
|
25
|
-
|
26
|
-
# - name: Publish code coverage
|
27
|
-
# uses: paambaati/codeclimate-action@v2.7.4
|
28
|
-
# env:
|
29
|
-
# CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
30
25
|
|
31
26
|
- name: Publish to RubyGems
|
32
27
|
run: |
|
@@ -45,4 +40,4 @@ jobs:
|
|
45
40
|
channel: '#ops'
|
46
41
|
username: 'GitHub Actions'
|
47
42
|
color: 'good'
|
48
|
-
text: 'A new version of the orcid_client gem has been released.'
|
43
|
+
text: 'A new version of the orcid_client gem has been released.'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [Unreleased](https://github.com/datacite/orcid_client/tree/HEAD)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/datacite/orcid_client/compare/0.9.8...HEAD)
|
6
|
+
|
7
|
+
**Merged pull requests:**
|
8
|
+
|
9
|
+
- Version update [\#27](https://github.com/datacite/orcid_client/pull/27) ([codycooperross](https://github.com/codycooperross))
|
10
|
+
- Work type mapping updates [\#26](https://github.com/datacite/orcid_client/pull/26) ([codycooperross](https://github.com/codycooperross))
|
11
|
+
- Update Dependencies [\#20](https://github.com/datacite/orcid_client/pull/20) ([jrhoads](https://github.com/jrhoads))
|
12
|
+
- Update Github Actions [\#19](https://github.com/datacite/orcid_client/pull/19) ([jrhoads](https://github.com/jrhoads))
|
13
|
+
|
14
|
+
## [0.9.8](https://github.com/datacite/orcid_client/tree/0.9.8) (2021-10-08)
|
15
|
+
|
16
|
+
[Full Changelog](https://github.com/datacite/orcid_client/compare/0.9.7.1...0.9.8)
|
17
|
+
|
3
18
|
## [0.9.7.1](https://github.com/datacite/orcid_client/tree/0.9.7.1) (2021-10-08)
|
4
19
|
|
5
20
|
[Full Changelog](https://github.com/datacite/orcid_client/compare/0.9.7...0.9.7.1)
|
data/Gemfile.lock
CHANGED
@@ -1,30 +1,30 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
orcid_client (0.
|
4
|
+
orcid_client (0.10.0)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
bolognese (~> 1.3, >= 1.9.8)
|
7
7
|
builder (~> 3.2, >= 3.2.2)
|
8
8
|
dotenv (~> 2.1, >= 2.1.1)
|
9
9
|
maremma (>= 4.4)
|
10
10
|
namae (~> 1.0.1)
|
11
|
-
nokogiri (>= 1.
|
11
|
+
nokogiri (>= 1.13.9)
|
12
12
|
|
13
13
|
GEM
|
14
14
|
remote: https://rubygems.org/
|
15
15
|
specs:
|
16
|
-
activesupport (5.2.
|
16
|
+
activesupport (5.2.8.1)
|
17
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
18
18
|
i18n (>= 0.7, < 2)
|
19
19
|
minitest (~> 5.1)
|
20
20
|
tzinfo (~> 1.1)
|
21
|
-
addressable (2.8.
|
22
|
-
public_suffix (>= 2.0.2, <
|
21
|
+
addressable (2.8.1)
|
22
|
+
public_suffix (>= 2.0.2, < 6.0)
|
23
23
|
amazing_print (1.4.0)
|
24
24
|
benchmark_methods (0.7)
|
25
25
|
bibtex-ruby (6.0.0)
|
26
26
|
latex-decode (~> 0.0)
|
27
|
-
bolognese (1.
|
27
|
+
bolognese (1.11.0)
|
28
28
|
activesupport (>= 4.2.5)
|
29
29
|
benchmark_methods (~> 0.7)
|
30
30
|
bibtex-ruby (>= 5.1.0)
|
@@ -34,7 +34,6 @@ GEM
|
|
34
34
|
concurrent-ruby (~> 1.1, >= 1.1.5)
|
35
35
|
csl-styles (~> 1.0, >= 1.0.1.10)
|
36
36
|
edtf (~> 3.0, >= 3.0.4)
|
37
|
-
faraday (~> 0.17.3)
|
38
37
|
gender_detector (~> 0.1.2)
|
39
38
|
iso8601 (~> 0.9.1)
|
40
39
|
json-ld-preloaded (~> 3.1, >= 3.1.3)
|
@@ -42,7 +41,7 @@ GEM
|
|
42
41
|
loofah (~> 2.0, >= 2.0.3)
|
43
42
|
maremma (>= 4.9.4, < 5)
|
44
43
|
namae (~> 1.0)
|
45
|
-
nokogiri (
|
44
|
+
nokogiri (>= 1.13.2, < 1.14)
|
46
45
|
oj (~> 3.10)
|
47
46
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
48
47
|
postrank-uri (~> 1.0, >= 1.0.18)
|
@@ -56,7 +55,7 @@ GEM
|
|
56
55
|
citeproc (~> 1.0, >= 1.0.9)
|
57
56
|
csl (~> 1.6)
|
58
57
|
colorize (0.8.1)
|
59
|
-
concurrent-ruby (1.1.
|
58
|
+
concurrent-ruby (1.1.10)
|
60
59
|
crack (0.4.5)
|
61
60
|
rexml
|
62
61
|
crass (1.0.6)
|
@@ -65,76 +64,86 @@ GEM
|
|
65
64
|
rexml
|
66
65
|
csl-styles (1.0.1.11)
|
67
66
|
csl (~> 1.0)
|
68
|
-
diff-lcs (1.
|
67
|
+
diff-lcs (1.5.0)
|
69
68
|
docile (1.4.0)
|
70
|
-
dotenv (2.
|
71
|
-
ebnf (2.
|
72
|
-
amazing_print (~> 1.
|
69
|
+
dotenv (2.8.1)
|
70
|
+
ebnf (2.3.1)
|
71
|
+
amazing_print (~> 1.4)
|
73
72
|
htmlentities (~> 4.3)
|
74
|
-
rdf (~> 3.
|
73
|
+
rdf (~> 3.2)
|
75
74
|
scanf (~> 1.0)
|
76
|
-
sxp (~> 1.
|
77
|
-
unicode-types (~> 1.
|
78
|
-
edtf (3.0
|
79
|
-
activesupport (>= 3.0, <
|
75
|
+
sxp (~> 1.2)
|
76
|
+
unicode-types (~> 1.7)
|
77
|
+
edtf (3.1.0)
|
78
|
+
activesupport (>= 3.0, < 8.0)
|
80
79
|
excon (0.71.1)
|
81
|
-
faraday (
|
82
|
-
|
80
|
+
faraday (2.6.0)
|
81
|
+
faraday-net_http (>= 2.0, < 3.1)
|
82
|
+
ruby2_keywords (>= 0.0.4)
|
83
83
|
faraday-encoding (0.0.5)
|
84
84
|
faraday
|
85
|
-
|
86
|
-
|
85
|
+
faraday-excon (2.1.0)
|
86
|
+
excon (>= 0.27.4)
|
87
|
+
faraday (~> 2.0)
|
88
|
+
faraday-follow_redirects (0.3.0)
|
89
|
+
faraday (>= 1, < 3)
|
90
|
+
faraday-gzip (0.1.0)
|
91
|
+
faraday (>= 1.0)
|
92
|
+
zlib (~> 2.1)
|
93
|
+
faraday-multipart (1.0.4)
|
94
|
+
multipart-post (~> 2)
|
95
|
+
faraday-net_http (3.0.1)
|
87
96
|
gender_detector (0.1.2)
|
88
97
|
unicode_utils (>= 1.3.0)
|
89
98
|
haml (5.2.2)
|
90
99
|
temple (>= 0.8.0)
|
91
100
|
tilt
|
92
|
-
hamster (3.0.0)
|
93
|
-
concurrent-ruby (~> 1.0)
|
94
101
|
hashdiff (1.0.1)
|
95
102
|
htmlentities (4.3.4)
|
96
|
-
i18n (1.
|
103
|
+
i18n (1.12.0)
|
97
104
|
concurrent-ruby (~> 1.0)
|
98
105
|
iso8601 (0.9.1)
|
99
|
-
json-canonicalization (0.
|
100
|
-
json-ld (3.
|
106
|
+
json-canonicalization (0.3.0)
|
107
|
+
json-ld (3.2.3)
|
101
108
|
htmlentities (~> 4.3)
|
102
|
-
json-canonicalization (~> 0.
|
109
|
+
json-canonicalization (~> 0.3)
|
103
110
|
link_header (~> 0.0, >= 0.0.8)
|
104
|
-
multi_json (~> 1.
|
105
|
-
rack (~> 2.
|
106
|
-
rdf (~> 3.
|
107
|
-
json-ld-preloaded (3.
|
108
|
-
json-ld (~> 3.
|
109
|
-
rdf (~> 3.
|
111
|
+
multi_json (~> 1.15)
|
112
|
+
rack (~> 2.2)
|
113
|
+
rdf (~> 3.2, >= 3.2.9)
|
114
|
+
json-ld-preloaded (3.2.2)
|
115
|
+
json-ld (~> 3.2)
|
116
|
+
rdf (~> 3.2)
|
110
117
|
jsonlint (0.3.0)
|
111
118
|
oj (~> 3)
|
112
119
|
optimist (~> 3)
|
113
|
-
latex-decode (0.
|
120
|
+
latex-decode (0.4.0)
|
114
121
|
link_header (0.0.8)
|
115
|
-
loofah (2.
|
122
|
+
loofah (2.19.0)
|
116
123
|
crass (~> 1.0.2)
|
117
124
|
nokogiri (>= 1.5.9)
|
118
|
-
maremma (4.9.
|
125
|
+
maremma (4.9.9)
|
119
126
|
activesupport (>= 4.2.5)
|
120
127
|
addressable (>= 2.3.6)
|
121
128
|
builder (~> 3.2, >= 3.2.2)
|
122
129
|
excon (~> 0.71.0)
|
123
|
-
faraday (
|
124
|
-
faraday-encoding (~> 0.0.
|
125
|
-
|
126
|
-
|
130
|
+
faraday (>= 2.0)
|
131
|
+
faraday-encoding (~> 0.0.5)
|
132
|
+
faraday-excon (~> 2.1.0)
|
133
|
+
faraday-follow_redirects (~> 0.3.0)
|
134
|
+
faraday-gzip (~> 0.1.0)
|
135
|
+
faraday-multipart (~> 1.0.4)
|
136
|
+
nokogiri (>= 1.13.1, < 1.14.0)
|
127
137
|
oj (>= 2.8.3)
|
128
138
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
129
|
-
|
130
|
-
minitest (5.
|
139
|
+
matrix (0.4.2)
|
140
|
+
minitest (5.16.3)
|
131
141
|
multi_json (1.15.0)
|
132
|
-
multipart-post (2.
|
142
|
+
multipart-post (2.2.3)
|
133
143
|
namae (1.0.2)
|
134
|
-
nokogiri (1.
|
135
|
-
mini_portile2 (~> 2.5.0)
|
144
|
+
nokogiri (1.13.9-x86_64-linux)
|
136
145
|
racc (~> 1.4)
|
137
|
-
oj (3.13.
|
146
|
+
oj (3.13.23)
|
138
147
|
oj_mimic_json (1.0.1)
|
139
148
|
optimist (3.0.1)
|
140
149
|
postrank-uri (1.0.24)
|
@@ -142,75 +151,77 @@ GEM
|
|
142
151
|
nokogiri (>= 1.8.0)
|
143
152
|
public_suffix (>= 2.0.0, < 2.1)
|
144
153
|
public_suffix (2.0.5)
|
145
|
-
racc (1.
|
146
|
-
rack (2.2.
|
154
|
+
racc (1.6.0)
|
155
|
+
rack (2.2.4)
|
147
156
|
rack-test (0.8.3)
|
148
157
|
rack (>= 1.0, < 3)
|
149
|
-
rake (13.0.
|
150
|
-
rdf (3.
|
151
|
-
hamster (~> 3.0)
|
158
|
+
rake (13.0.6)
|
159
|
+
rdf (3.2.9)
|
152
160
|
link_header (~> 0.0, >= 0.0.8)
|
153
|
-
rdf-aggregate-repo (3.1
|
154
|
-
rdf (~> 3.
|
155
|
-
rdf-rdfa (3.
|
161
|
+
rdf-aggregate-repo (3.2.1)
|
162
|
+
rdf (~> 3.2)
|
163
|
+
rdf-rdfa (3.2.0)
|
156
164
|
haml (~> 5.2)
|
157
165
|
htmlentities (~> 4.3)
|
158
|
-
rdf (~> 3.
|
159
|
-
rdf-aggregate-repo (~> 3.
|
160
|
-
rdf-vocab (~> 3.
|
161
|
-
rdf-xsd (~> 3.
|
162
|
-
rdf-rdfxml (3.
|
166
|
+
rdf (~> 3.2)
|
167
|
+
rdf-aggregate-repo (~> 3.2)
|
168
|
+
rdf-vocab (~> 3.2)
|
169
|
+
rdf-xsd (~> 3.2)
|
170
|
+
rdf-rdfxml (3.2.0)
|
163
171
|
htmlentities (~> 4.3)
|
164
|
-
rdf (~> 3.
|
165
|
-
rdf-rdfa (~> 3.
|
166
|
-
rdf-xsd (~> 3.
|
167
|
-
rdf-turtle (3.1
|
168
|
-
ebnf (~> 2.
|
169
|
-
rdf (~> 3.
|
170
|
-
rdf-vocab (3.
|
171
|
-
rdf (~> 3.
|
172
|
-
rdf-xsd (3.
|
173
|
-
rdf (~> 3.
|
172
|
+
rdf (~> 3.2)
|
173
|
+
rdf-rdfa (~> 3.2)
|
174
|
+
rdf-xsd (~> 3.2)
|
175
|
+
rdf-turtle (3.2.1)
|
176
|
+
ebnf (~> 2.3)
|
177
|
+
rdf (~> 3.2)
|
178
|
+
rdf-vocab (3.2.3)
|
179
|
+
rdf (~> 3.2, >= 3.2.4)
|
180
|
+
rdf-xsd (3.2.1)
|
181
|
+
rdf (~> 3.2)
|
174
182
|
rexml (~> 3.2)
|
175
183
|
rexml (3.2.5)
|
176
|
-
rspec (3.
|
177
|
-
rspec-core (~> 3.
|
178
|
-
rspec-expectations (~> 3.
|
179
|
-
rspec-mocks (~> 3.
|
180
|
-
rspec-core (3.
|
181
|
-
rspec-support (~> 3.
|
182
|
-
rspec-expectations (3.
|
184
|
+
rspec (3.12.0)
|
185
|
+
rspec-core (~> 3.12.0)
|
186
|
+
rspec-expectations (~> 3.12.0)
|
187
|
+
rspec-mocks (~> 3.12.0)
|
188
|
+
rspec-core (3.12.0)
|
189
|
+
rspec-support (~> 3.12.0)
|
190
|
+
rspec-expectations (3.12.0)
|
183
191
|
diff-lcs (>= 1.2.0, < 2.0)
|
184
|
-
rspec-support (~> 3.
|
185
|
-
rspec-mocks (3.
|
192
|
+
rspec-support (~> 3.12.0)
|
193
|
+
rspec-mocks (3.12.0)
|
186
194
|
diff-lcs (>= 1.2.0, < 2.0)
|
187
|
-
rspec-support (~> 3.
|
188
|
-
rspec-support (3.
|
195
|
+
rspec-support (~> 3.12.0)
|
196
|
+
rspec-support (3.12.0)
|
197
|
+
ruby2_keywords (0.0.5)
|
189
198
|
scanf (1.0.0)
|
190
199
|
simplecov (0.21.2)
|
191
200
|
docile (~> 1.1)
|
192
201
|
simplecov-html (~> 0.11)
|
193
202
|
simplecov_json_formatter (~> 0.1)
|
194
203
|
simplecov-html (0.12.3)
|
195
|
-
simplecov_json_formatter (0.1.
|
196
|
-
sxp (1.
|
197
|
-
|
198
|
-
|
199
|
-
|
204
|
+
simplecov_json_formatter (0.1.4)
|
205
|
+
sxp (1.2.3)
|
206
|
+
matrix (~> 0.4)
|
207
|
+
rdf (~> 3.2)
|
208
|
+
temple (0.9.1)
|
209
|
+
thor (1.2.1)
|
200
210
|
thread_safe (0.3.6)
|
201
|
-
tilt (2.0.
|
202
|
-
tzinfo (1.2.
|
211
|
+
tilt (2.0.11)
|
212
|
+
tzinfo (1.2.10)
|
203
213
|
thread_safe (~> 0.1)
|
204
|
-
unicode-types (1.
|
214
|
+
unicode-types (1.8.0)
|
205
215
|
unicode_utils (1.4.0)
|
206
|
-
vcr (6.
|
207
|
-
webmock (3.
|
208
|
-
addressable (>= 2.
|
216
|
+
vcr (6.1.0)
|
217
|
+
webmock (3.18.1)
|
218
|
+
addressable (>= 2.8.0)
|
209
219
|
crack (>= 0.3.2)
|
210
220
|
hashdiff (>= 0.4.0, < 2.0.0)
|
221
|
+
zlib (2.1.1)
|
211
222
|
|
212
223
|
PLATFORMS
|
213
|
-
|
224
|
+
x86_64-linux
|
214
225
|
|
215
226
|
DEPENDENCIES
|
216
227
|
bundler (>= 2.2.10)
|
@@ -223,4 +234,4 @@ DEPENDENCIES
|
|
223
234
|
webmock (~> 3.0, >= 3.0.1)
|
224
235
|
|
225
236
|
BUNDLED WITH
|
226
|
-
2.
|
237
|
+
2.4.10
|
data/lib/orcid_client/version.rb
CHANGED
@@ -5,16 +5,28 @@ module OrcidClient
|
|
5
5
|
TYPE_OF_WORK = {
|
6
6
|
|
7
7
|
'Audiovisual' => 'other',
|
8
|
+
'Book' => 'book',
|
9
|
+
'BookChapter' => 'book-chapter',
|
8
10
|
'Collection' => 'other',
|
11
|
+
'ComputationalNotebook' => 'software',
|
12
|
+
'ConferencePaper' => 'conference-paper',
|
9
13
|
'Dataset' => 'data-set',
|
14
|
+
'Dissertation' => 'dissertation-thesis',
|
10
15
|
'Event' => 'other',
|
11
16
|
'Image' => 'other',
|
12
|
-
'InteractiveResource' => '
|
17
|
+
'InteractiveResource' => 'other',
|
18
|
+
'Journal' => 'other',
|
19
|
+
'JournalArticle' => 'journal-article',
|
13
20
|
'Model' => 'other',
|
14
|
-
'
|
21
|
+
'OutputManagementPlan' => 'data-management-plan',
|
22
|
+
'PeerReview' => 'review',
|
23
|
+
'Preprint' => 'preprint',
|
24
|
+
'PhysicalObject' => 'physical-object',
|
25
|
+
'Report' => 'report',
|
15
26
|
'Service' => 'other',
|
16
|
-
'Software' => '
|
27
|
+
'Software' => 'software',
|
17
28
|
'Sound' => 'other',
|
29
|
+
'Standard' => 'standards-and-policy',
|
18
30
|
'Text' => 'other',
|
19
31
|
'Workflow' => 'other',
|
20
32
|
'Other' => 'other',
|
@@ -33,22 +45,24 @@ module OrcidClient
|
|
33
45
|
case internal_work_subtype
|
34
46
|
when /^(Article|Articles|Journal Article|JournalArticle)$/i
|
35
47
|
'journal-article'
|
36
|
-
when /^(Book|ebook|Monografie|Monograph\w
|
48
|
+
when /^(Book|ebook|Monografie|Monograph\w*)$/i
|
37
49
|
'book'
|
38
50
|
when /^(chapter|chapters)$/i
|
39
51
|
'book-chapter'
|
40
52
|
when /^(Project report|Report|Research report|Technical Report|TechnicalReport|Text\/Report|XFEL.EU Annual Report|XFEL.EU Technical Report)$/i
|
41
53
|
'report'
|
42
54
|
when /^(Dissertation|thesis|Doctoral thesis|Academic thesis|Master thesis|Masterthesis|Postdoctoral thesis)$/i
|
43
|
-
'dissertation'
|
55
|
+
'dissertation-thesis'
|
44
56
|
when /^(Conference Abstract|Conference extended abstract)$/i
|
45
57
|
'conference-abstract'
|
46
58
|
when /^(Conference full text|Conference paper|ConferencePaper)$/i
|
47
59
|
'conference-paper'
|
48
60
|
when /^(poster|Conference poster)$/i
|
49
61
|
'conference-poster'
|
50
|
-
when /^(working paper|workingpaper
|
62
|
+
when /^(working paper|workingpaper)$/i
|
51
63
|
'working-paper'
|
64
|
+
when /^(preprint)$/i
|
65
|
+
'preprint'
|
52
66
|
when /^(dataset$)/i
|
53
67
|
'data-set'
|
54
68
|
end
|
@@ -56,7 +70,7 @@ module OrcidClient
|
|
56
70
|
when 'Collection'
|
57
71
|
case internal_work_subtype
|
58
72
|
when /^(Collection of Datasets|Data Files|Dataset|Supplementary Collection of Datasets)$/i
|
59
|
-
'
|
73
|
+
'other'
|
60
74
|
when 'Report'
|
61
75
|
'report'
|
62
76
|
end
|
data/orcid_client.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_dependency 'dotenv', '~> 2.1', '>= 2.1.1'
|
26
26
|
s.add_dependency 'maremma', '>= 4.4'
|
27
27
|
s.add_dependency 'namae', '~> 1.0.1'
|
28
|
-
s.add_dependency 'nokogiri', '>= 1.
|
28
|
+
s.add_dependency 'nokogiri', '>= 1.13.9'
|
29
29
|
s.add_development_dependency "bundler", ">= 2.2.10"
|
30
30
|
s.add_development_dependency 'rack-test', '~> 0'
|
31
31
|
s.add_development_dependency 'rake'
|
@@ -0,0 +1,234 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe OrcidClient::Work, vcr: true do
|
4
|
+
let(:doi) { "10.5438/h5xp-x178" }
|
5
|
+
let(:orcid) { "0000-0001-6528-2027" }
|
6
|
+
let(:orcid_token) { ENV["ORCID_TOKEN"] }
|
7
|
+
let(:fixture_path) { "spec/fixtures/" }
|
8
|
+
let(:samples_path) { "resources/record_3.0/samples/read_samples/" }
|
9
|
+
|
10
|
+
subject { OrcidClient::Work.new(doi: doi, orcid: orcid, orcid_token: orcid_token) }
|
11
|
+
|
12
|
+
describe "work type" do
|
13
|
+
it "Text, Article" do
|
14
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
15
|
+
subject.metadata.types["resourceType"] = "Article"
|
16
|
+
expect(subject.type).to eq("journal-article")
|
17
|
+
end
|
18
|
+
it "Text, Book" do
|
19
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
20
|
+
subject.metadata.types["resourceType"] = "Book"
|
21
|
+
expect(subject.type).to eq("book")
|
22
|
+
end
|
23
|
+
it "Text, chapter" do
|
24
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
25
|
+
subject.metadata.types["resourceType"] = "chapter"
|
26
|
+
expect(subject.type).to eq("book-chapter")
|
27
|
+
end
|
28
|
+
it "Text, Project report" do
|
29
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
30
|
+
subject.metadata.types["resourceType"] = "Project report"
|
31
|
+
expect(subject.type).to eq("report")
|
32
|
+
end
|
33
|
+
it "Text, Dissertation" do
|
34
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
35
|
+
subject.metadata.types["resourceType"] = "Dissertation"
|
36
|
+
expect(subject.type).to eq("dissertation-thesis")
|
37
|
+
end
|
38
|
+
it "Text, Conference Abstract" do
|
39
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
40
|
+
subject.metadata.types["resourceType"] = "Conference Abstract"
|
41
|
+
expect(subject.type).to eq("conference-abstract")
|
42
|
+
end
|
43
|
+
it "Text, Conference full text" do
|
44
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
45
|
+
subject.metadata.types["resourceType"] = "Conference full text"
|
46
|
+
expect(subject.type).to eq("conference-paper")
|
47
|
+
end
|
48
|
+
it "Text, poster" do
|
49
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
50
|
+
subject.metadata.types["resourceType"] = "poster"
|
51
|
+
expect(subject.type).to eq("conference-poster")
|
52
|
+
end
|
53
|
+
it "Text, working paper" do
|
54
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
55
|
+
subject.metadata.types["resourceType"] = "working paper"
|
56
|
+
expect(subject.type).to eq("working-paper")
|
57
|
+
end
|
58
|
+
it "Text, preprint" do
|
59
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
60
|
+
subject.metadata.types["resourceType"] = "preprint"
|
61
|
+
expect(subject.type).to eq("preprint")
|
62
|
+
end
|
63
|
+
it "Text, dataset" do
|
64
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
65
|
+
subject.metadata.types["resourceType"] = "dataset"
|
66
|
+
expect(subject.type).to eq("data-set")
|
67
|
+
end
|
68
|
+
it "Collection, Collection of Datasets" do
|
69
|
+
subject.metadata.types["resourceTypeGeneral"] = "Collection"
|
70
|
+
subject.metadata.types["resourceType"] = "Collection of Datasets"
|
71
|
+
expect(subject.type).to eq("other")
|
72
|
+
end
|
73
|
+
it "Collection, Report" do
|
74
|
+
subject.metadata.types["resourceTypeGeneral"] = "Collection"
|
75
|
+
subject.metadata.types["resourceType"] = "Report"
|
76
|
+
expect(subject.type).to eq("report")
|
77
|
+
end
|
78
|
+
it "Audiovisual" do
|
79
|
+
subject.metadata.types["resourceTypeGeneral"] = "Audiovisual"
|
80
|
+
subject.metadata.types["resourceType"] = nil
|
81
|
+
expect(subject.type).to eq("other")
|
82
|
+
end
|
83
|
+
it "Collection" do
|
84
|
+
subject.metadata.types["resourceTypeGeneral"] = "Collection"
|
85
|
+
subject.metadata.types["resourceType"] = nil
|
86
|
+
expect(subject.type).to eq("other")
|
87
|
+
end
|
88
|
+
it "Dataset" do
|
89
|
+
subject.metadata.types["resourceTypeGeneral"] = "Dataset"
|
90
|
+
subject.metadata.types["resourceType"] = nil
|
91
|
+
expect(subject.type).to eq("data-set")
|
92
|
+
end
|
93
|
+
it "Event" do
|
94
|
+
subject.metadata.types["resourceTypeGeneral"] = "Event"
|
95
|
+
subject.metadata.types["resourceType"] = nil
|
96
|
+
expect(subject.type).to eq("other")
|
97
|
+
end
|
98
|
+
it "Image" do
|
99
|
+
subject.metadata.types["resourceTypeGeneral"] = "Image"
|
100
|
+
subject.metadata.types["resourceType"] = nil
|
101
|
+
expect(subject.type).to eq("other")
|
102
|
+
end
|
103
|
+
it "InteractiveResource" do
|
104
|
+
subject.metadata.types["resourceTypeGeneral"] = "InteractiveResource"
|
105
|
+
subject.metadata.types["resourceType"] = nil
|
106
|
+
expect(subject.type).to eq("other")
|
107
|
+
end
|
108
|
+
it "Model" do
|
109
|
+
subject.metadata.types["resourceTypeGeneral"] = "Model"
|
110
|
+
subject.metadata.types["resourceType"] = nil
|
111
|
+
expect(subject.type).to eq("other")
|
112
|
+
end
|
113
|
+
it "PhysicalObject" do
|
114
|
+
subject.metadata.types["resourceTypeGeneral"] = "PhysicalObject"
|
115
|
+
subject.metadata.types["resourceType"] = nil
|
116
|
+
expect(subject.type).to eq("physical-object")
|
117
|
+
end
|
118
|
+
it "Service" do
|
119
|
+
subject.metadata.types["resourceTypeGeneral"] = "Service"
|
120
|
+
subject.metadata.types["resourceType"] = nil
|
121
|
+
expect(subject.type).to eq("other")
|
122
|
+
end
|
123
|
+
it "Software" do
|
124
|
+
subject.metadata.types["resourceTypeGeneral"] = "Software"
|
125
|
+
subject.metadata.types["resourceType"] = nil
|
126
|
+
expect(subject.type).to eq("software")
|
127
|
+
end
|
128
|
+
it "Sound" do
|
129
|
+
subject.metadata.types["resourceTypeGeneral"] = "Sound"
|
130
|
+
subject.metadata.types["resourceType"] = nil
|
131
|
+
expect(subject.type).to eq("other")
|
132
|
+
end
|
133
|
+
it "Text" do
|
134
|
+
subject.metadata.types["resourceTypeGeneral"] = "Text"
|
135
|
+
subject.metadata.types["resourceType"] = nil
|
136
|
+
expect(subject.type).to eq("other")
|
137
|
+
end
|
138
|
+
it "Workflow" do
|
139
|
+
subject.metadata.types["resourceTypeGeneral"] = "Workflow"
|
140
|
+
subject.metadata.types["resourceType"] = nil
|
141
|
+
expect(subject.type).to eq("other")
|
142
|
+
end
|
143
|
+
it "Other" do
|
144
|
+
subject.metadata.types["resourceTypeGeneral"] = "Other"
|
145
|
+
subject.metadata.types["resourceType"] = nil
|
146
|
+
expect(subject.type).to eq("other")
|
147
|
+
end
|
148
|
+
it "Film" do
|
149
|
+
subject.metadata.types["resourceTypeGeneral"] = "Film"
|
150
|
+
subject.metadata.types["resourceType"] = nil
|
151
|
+
expect(subject.type).to eq("other")
|
152
|
+
end
|
153
|
+
it "Book" do
|
154
|
+
subject.metadata.types["resourceTypeGeneral"] = "Book"
|
155
|
+
subject.metadata.types["resourceType"] = nil
|
156
|
+
expect(subject.type).to eq("book")
|
157
|
+
end
|
158
|
+
it "BookChapter" do
|
159
|
+
subject.metadata.types["resourceTypeGeneral"] = "BookChapter"
|
160
|
+
subject.metadata.types["resourceType"] = nil
|
161
|
+
expect(subject.type).to eq("book-chapter")
|
162
|
+
end
|
163
|
+
it "ComputationalNotebook" do
|
164
|
+
subject.metadata.types["resourceTypeGeneral"] = "ComputationalNotebook"
|
165
|
+
subject.metadata.types["resourceType"] = nil
|
166
|
+
expect(subject.type).to eq("software")
|
167
|
+
end
|
168
|
+
it "ConferencePaper" do
|
169
|
+
subject.metadata.types["resourceTypeGeneral"] = "ConferencePaper"
|
170
|
+
subject.metadata.types["resourceType"] = nil
|
171
|
+
expect(subject.type).to eq("conference-paper")
|
172
|
+
end
|
173
|
+
it "ConferenceProceeding" do
|
174
|
+
subject.metadata.types["resourceTypeGeneral"] = "ConferenceProceeding"
|
175
|
+
subject.metadata.types["resourceType"] = nil
|
176
|
+
expect(subject.type).to eq("other")
|
177
|
+
end
|
178
|
+
it "DataPaper" do
|
179
|
+
subject.metadata.types["resourceTypeGeneral"] = "DataPaper"
|
180
|
+
subject.metadata.types["resourceType"] = nil
|
181
|
+
expect(subject.type).to eq("other")
|
182
|
+
end
|
183
|
+
it "Dissertation" do
|
184
|
+
subject.metadata.types["resourceTypeGeneral"] = "Dissertation"
|
185
|
+
subject.metadata.types["resourceType"] = nil
|
186
|
+
expect(subject.type).to eq("dissertation-thesis")
|
187
|
+
end
|
188
|
+
it "Journal" do
|
189
|
+
subject.metadata.types["resourceTypeGeneral"] = "Journal"
|
190
|
+
subject.metadata.types["resourceType"] = nil
|
191
|
+
expect(subject.type).to eq("other")
|
192
|
+
end
|
193
|
+
it "JournalArticle" do
|
194
|
+
subject.metadata.types["resourceTypeGeneral"] = "JournalArticle"
|
195
|
+
subject.metadata.types["resourceType"] = nil
|
196
|
+
expect(subject.type).to eq("journal-article")
|
197
|
+
end
|
198
|
+
it "OutputManagementPlan" do
|
199
|
+
subject.metadata.types["resourceTypeGeneral"] = "OutputManagementPlan"
|
200
|
+
subject.metadata.types["resourceType"] = nil
|
201
|
+
expect(subject.type).to eq("data-management-plan")
|
202
|
+
end
|
203
|
+
it "PeerReview" do
|
204
|
+
subject.metadata.types["resourceTypeGeneral"] = "PeerReview"
|
205
|
+
subject.metadata.types["resourceType"] = nil
|
206
|
+
expect(subject.type).to eq("review")
|
207
|
+
end
|
208
|
+
it "Preprint" do
|
209
|
+
subject.metadata.types["resourceTypeGeneral"] = "Preprint"
|
210
|
+
subject.metadata.types["resourceType"] = nil
|
211
|
+
expect(subject.type).to eq("preprint")
|
212
|
+
end
|
213
|
+
it "Report" do
|
214
|
+
subject.metadata.types["resourceTypeGeneral"] = "Report"
|
215
|
+
subject.metadata.types["resourceType"] = nil
|
216
|
+
expect(subject.type).to eq("report")
|
217
|
+
end
|
218
|
+
it "Standard" do
|
219
|
+
subject.metadata.types["resourceTypeGeneral"] = "Standard"
|
220
|
+
subject.metadata.types["resourceType"] = nil
|
221
|
+
expect(subject.type).to eq("standards-and-policy")
|
222
|
+
end
|
223
|
+
it "Instrument " do
|
224
|
+
subject.metadata.types["resourceTypeGeneral"] = "Instrument "
|
225
|
+
subject.metadata.types["resourceType"] = nil
|
226
|
+
expect(subject.type).to eq("other")
|
227
|
+
end
|
228
|
+
it "StudyRegistration" do
|
229
|
+
subject.metadata.types["resourceTypeGeneral"] = "StudyRegistration"
|
230
|
+
subject.metadata.types["resourceType"] = nil
|
231
|
+
expect(subject.type).to eq("other")
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orcid_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -124,20 +124,14 @@ dependencies:
|
|
124
124
|
requirements:
|
125
125
|
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
|
-
version: 1.
|
128
|
-
- - "<"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: 1.12.0
|
127
|
+
version: 1.13.9
|
131
128
|
type: :runtime
|
132
129
|
prerelease: false
|
133
130
|
version_requirements: !ruby/object:Gem::Requirement
|
134
131
|
requirements:
|
135
132
|
- - ">="
|
136
133
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.
|
138
|
-
- - "<"
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
version: 1.12.0
|
134
|
+
version: 1.13.9
|
141
135
|
- !ruby/object:Gem::Dependency
|
142
136
|
name: bundler
|
143
137
|
requirement: !ruby/object:Gem::Requirement
|
@@ -252,6 +246,8 @@ files:
|
|
252
246
|
- ".env.example"
|
253
247
|
- ".github/workflows/build.yml"
|
254
248
|
- ".github/workflows/changelog.yml"
|
249
|
+
- ".github/workflows/ci.yml"
|
250
|
+
- ".github/workflows/pull-request.yml"
|
255
251
|
- ".github/workflows/release.yml"
|
256
252
|
- ".gitignore"
|
257
253
|
- CHANGELOG.md
|
@@ -490,6 +486,7 @@ files:
|
|
490
486
|
- spec/notification_spec.rb
|
491
487
|
- spec/spec_helper.rb
|
492
488
|
- spec/work_spec.rb
|
489
|
+
- spec/work_type_spec.rb
|
493
490
|
homepage: https://github.com/datacite/orcid_client
|
494
491
|
licenses:
|
495
492
|
- MIT
|