datacite 0.8.5 → 0.8.7
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/.circleci/config.yml +1 -1
- data/.rubocop.yml +62 -1
- data/Gemfile +4 -5
- data/Gemfile.lock +51 -45
- data/README.md +12 -0
- data/bin/transform +29 -0
- data/datacite.gemspec +6 -3
- data/lib/datacite/mapping/from_cocina/attributes.rb +5 -1
- data/lib/datacite/mapping/from_cocina/related_resource.rb +2 -2
- data/lib/datacite/mapping/from_cocina/titles.rb +4 -4
- data/lib/datacite/validators/attributes_validator.rb +0 -1
- data/lib/datacite/version.rb +1 -1
- metadata +57 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c6e93694a50948fc866ff336b901d882eb32ed9e8ab689aca895270daab30b3
|
|
4
|
+
data.tar.gz: 9bfc9dd9beacc558d1eab99409683e822eaa3bceec7c87717a5da3230d3138f8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e15137bf19fcd271271641e599caf1a269e14edebfb6e38e34175991718f9db31d2c7eb4a9f03ffbd1cac7eb4df3cdb8db3f83a76fe4fa29d77bf57a08eb898f
|
|
7
|
+
data.tar.gz: 02b7c106976d1a54348f6c389726bc623b3d6a65a20ceb226d564c822f6c667ceb6145441bc249d1553e4002bde17ad9ba4ff941419b72fa7098edd721306dc0
|
data/.circleci/config.yml
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -3,7 +3,12 @@ plugins:
|
|
|
3
3
|
- rubocop-rspec
|
|
4
4
|
|
|
5
5
|
AllCops:
|
|
6
|
-
TargetRubyVersion:
|
|
6
|
+
TargetRubyVersion: 4.0
|
|
7
|
+
|
|
8
|
+
# Development uses Ruby 4, but the gem still supports Ruby 3.4 consumers.
|
|
9
|
+
Gemspec/RequiredRubyVersion:
|
|
10
|
+
Exclude:
|
|
11
|
+
- datacite.gemspec
|
|
7
12
|
|
|
8
13
|
Metrics/BlockLength:
|
|
9
14
|
Exclude:
|
|
@@ -357,3 +362,59 @@ Style/RedundantArrayFlatten: # new in 1.76
|
|
|
357
362
|
Enabled: true
|
|
358
363
|
RSpec/IncludeExamples: # new in 3.6
|
|
359
364
|
Enabled: true
|
|
365
|
+
|
|
366
|
+
Lint/DataDefineOverride: # new in 1.85
|
|
367
|
+
Enabled: true
|
|
368
|
+
Lint/DeprecatedReference: # new in 1.89
|
|
369
|
+
Enabled: true
|
|
370
|
+
Lint/NameTypo: # new in 1.89
|
|
371
|
+
Enabled: true
|
|
372
|
+
Lint/UnreachablePatternBranch: # new in 1.85
|
|
373
|
+
Enabled: true
|
|
374
|
+
Style/EmptyClassDefinition: # new in 1.84
|
|
375
|
+
Enabled: true
|
|
376
|
+
Style/FileOpen: # new in 1.85
|
|
377
|
+
Enabled: true
|
|
378
|
+
Style/MapJoin: # new in 1.85
|
|
379
|
+
Enabled: true
|
|
380
|
+
Style/ModuleMemberExistenceCheck: # new in 1.82
|
|
381
|
+
Enabled: true
|
|
382
|
+
Style/NegativeArrayIndex: # new in 1.84
|
|
383
|
+
Enabled: true
|
|
384
|
+
Style/OneClassPerFile: # new in 1.85
|
|
385
|
+
Enabled: true
|
|
386
|
+
Style/PartitionInsteadOfDoubleSelect: # new in 1.85
|
|
387
|
+
Enabled: true
|
|
388
|
+
Style/PredicateWithKind: # new in 1.85
|
|
389
|
+
Enabled: true
|
|
390
|
+
Style/ReduceToHash: # new in 1.85
|
|
391
|
+
Enabled: true
|
|
392
|
+
Style/RedundantMinMaxBy: # new in 1.85
|
|
393
|
+
Enabled: true
|
|
394
|
+
Style/ReverseFind: # new in 1.84
|
|
395
|
+
Enabled: true
|
|
396
|
+
Style/SelectByKind: # new in 1.85
|
|
397
|
+
Enabled: true
|
|
398
|
+
Style/SelectByRange: # new in 1.85
|
|
399
|
+
Enabled: true
|
|
400
|
+
Style/TallyMethod: # new in 1.85
|
|
401
|
+
Enabled: true
|
|
402
|
+
RSpec/DiscardedMatcher: # new in 3.10
|
|
403
|
+
Enabled: true
|
|
404
|
+
RSpec/LeakyLocalVariable: # new in 3.8
|
|
405
|
+
Enabled: true
|
|
406
|
+
RSpec/MatchWithSimpleRegex: # new in 3.10
|
|
407
|
+
Enabled: true
|
|
408
|
+
RSpec/Output: # new in 3.9
|
|
409
|
+
Enabled: true
|
|
410
|
+
|
|
411
|
+
Lint/ArgumentMismatch: # new in 1.90
|
|
412
|
+
Enabled: true
|
|
413
|
+
Lint/MisplacedMagicComment: # new in 1.91
|
|
414
|
+
Enabled: true
|
|
415
|
+
Lint/SuperArgumentMismatch: # new in 1.90
|
|
416
|
+
Enabled: true
|
|
417
|
+
Style/DirectiveScope: # new in 1.90
|
|
418
|
+
Enabled: true
|
|
419
|
+
Style/TimeNow: # new in 1.90
|
|
420
|
+
Enabled: true
|
data/Gemfile
CHANGED
|
@@ -6,13 +6,12 @@ source 'https://rubygems.org'
|
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
8
|
# Specify development dependencies here
|
|
9
|
-
gem 'base64'
|
|
10
9
|
gem 'cocina-models' # only used in tests
|
|
11
10
|
gem 'debug'
|
|
12
|
-
gem 'rake'
|
|
13
|
-
gem 'rspec'
|
|
14
|
-
gem 'rubocop'
|
|
11
|
+
gem 'rake'
|
|
12
|
+
gem 'rspec'
|
|
13
|
+
gem 'rubocop'
|
|
15
14
|
gem 'rubocop-rake'
|
|
16
15
|
gem 'rubocop-rspec'
|
|
17
16
|
gem 'simplecov'
|
|
18
|
-
gem 'webmock'
|
|
17
|
+
gem 'webmock'
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
datacite (0.8.
|
|
4
|
+
datacite (0.8.7)
|
|
5
5
|
activesupport
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
base64
|
|
7
|
+
cocina_display
|
|
8
|
+
dry-monads
|
|
9
|
+
faraday
|
|
10
|
+
json
|
|
8
11
|
json_schemer
|
|
9
|
-
zeitwerk
|
|
12
|
+
zeitwerk
|
|
10
13
|
|
|
11
14
|
GEM
|
|
12
15
|
remote: https://rubygems.org/
|
|
13
16
|
specs:
|
|
14
|
-
activesupport (8.1.
|
|
17
|
+
activesupport (8.1.4)
|
|
15
18
|
base64
|
|
16
19
|
bigdecimal
|
|
17
20
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
@@ -29,7 +32,7 @@ GEM
|
|
|
29
32
|
ast (2.4.3)
|
|
30
33
|
attr_extras (7.1.0)
|
|
31
34
|
base64 (0.3.0)
|
|
32
|
-
bigdecimal (4.1.
|
|
35
|
+
bigdecimal (4.1.3)
|
|
33
36
|
cocina-models (0.133.0)
|
|
34
37
|
activesupport
|
|
35
38
|
cocina_display
|
|
@@ -44,7 +47,7 @@ GEM
|
|
|
44
47
|
super_diff
|
|
45
48
|
thor
|
|
46
49
|
zeitwerk (~> 2.1)
|
|
47
|
-
cocina_display (2.
|
|
50
|
+
cocina_display (2.14.0)
|
|
48
51
|
activesupport (>= 7)
|
|
49
52
|
edtf (~> 3.2)
|
|
50
53
|
geo_coord (~> 0.2)
|
|
@@ -74,7 +77,7 @@ GEM
|
|
|
74
77
|
concurrent-ruby (~> 1.0)
|
|
75
78
|
dry-core (~> 1.1)
|
|
76
79
|
zeitwerk (~> 2.6)
|
|
77
|
-
dry-monads (1.
|
|
80
|
+
dry-monads (1.11.0)
|
|
78
81
|
concurrent-ruby (~> 1.0)
|
|
79
82
|
dry-core (~> 1.1)
|
|
80
83
|
zeitwerk (~> 2.6)
|
|
@@ -95,11 +98,11 @@ GEM
|
|
|
95
98
|
equivalent-xml (0.6.0)
|
|
96
99
|
nokogiri (>= 1.4.3)
|
|
97
100
|
erb (6.0.7)
|
|
98
|
-
faraday (2.
|
|
99
|
-
faraday-net_http (>= 2.0, < 3.
|
|
101
|
+
faraday (2.15.0)
|
|
102
|
+
faraday-net_http (>= 2.0, < 3.6)
|
|
100
103
|
json
|
|
101
104
|
logger
|
|
102
|
-
faraday-net_http (3.
|
|
105
|
+
faraday-net_http (3.5.0)
|
|
103
106
|
net-http (~> 0.5)
|
|
104
107
|
geo_coord (0.2.0)
|
|
105
108
|
hana (1.3.7)
|
|
@@ -107,34 +110,34 @@ GEM
|
|
|
107
110
|
i18n (1.15.2)
|
|
108
111
|
concurrent-ruby (~> 1.0)
|
|
109
112
|
ice_nine (0.11.2)
|
|
110
|
-
io-console (0.9.
|
|
113
|
+
io-console (0.9.4)
|
|
111
114
|
irb (1.18.0)
|
|
112
115
|
pp (>= 0.6.0)
|
|
113
116
|
prism (>= 1.3.0)
|
|
114
117
|
rdoc (>= 4.0.0)
|
|
115
118
|
reline (>= 0.4.2)
|
|
116
119
|
iso8601 (0.13.0)
|
|
117
|
-
janeway-jsonpath (1.
|
|
120
|
+
janeway-jsonpath (1.2.0)
|
|
118
121
|
json (2.21.2)
|
|
119
122
|
json_schemer (2.5.0)
|
|
120
123
|
bigdecimal
|
|
121
124
|
hana (~> 1.3)
|
|
122
125
|
regexp_parser (~> 2.0)
|
|
123
126
|
simpleidn (~> 0.2)
|
|
124
|
-
jsonschema_rs (0.
|
|
127
|
+
jsonschema_rs (0.60.1)
|
|
125
128
|
bigdecimal (>= 3.1, < 5)
|
|
126
|
-
rb_sys (~> 0.9.
|
|
127
|
-
jsonschema_rs (0.
|
|
129
|
+
rb_sys (~> 0.9.130)
|
|
130
|
+
jsonschema_rs (0.60.1-aarch64-linux)
|
|
128
131
|
bigdecimal (>= 3.1, < 5)
|
|
129
|
-
jsonschema_rs (0.
|
|
132
|
+
jsonschema_rs (0.60.1-aarch64-linux-musl)
|
|
130
133
|
bigdecimal (>= 3.1, < 5)
|
|
131
|
-
jsonschema_rs (0.
|
|
134
|
+
jsonschema_rs (0.60.1-arm64-darwin)
|
|
132
135
|
bigdecimal (>= 3.1, < 5)
|
|
133
|
-
jsonschema_rs (0.
|
|
136
|
+
jsonschema_rs (0.60.1-x86_64-darwin)
|
|
134
137
|
bigdecimal (>= 3.1, < 5)
|
|
135
|
-
jsonschema_rs (0.
|
|
138
|
+
jsonschema_rs (0.60.1-x86_64-linux)
|
|
136
139
|
bigdecimal (>= 3.1, < 5)
|
|
137
|
-
jsonschema_rs (0.
|
|
140
|
+
jsonschema_rs (0.60.1-x86_64-linux-musl)
|
|
138
141
|
bigdecimal (>= 3.1, < 5)
|
|
139
142
|
language_server-protocol (3.17.0.6)
|
|
140
143
|
lint_roller (1.1.0)
|
|
@@ -142,8 +145,11 @@ GEM
|
|
|
142
145
|
minitest (6.0.6)
|
|
143
146
|
drb (~> 2.0)
|
|
144
147
|
prism (~> 1.5)
|
|
145
|
-
net-http (0.
|
|
148
|
+
net-http (0.10.0)
|
|
149
|
+
net-protocol (>= 0.3.0)
|
|
146
150
|
uri (>= 0.11.1)
|
|
151
|
+
net-protocol (0.4.0)
|
|
152
|
+
timeout
|
|
147
153
|
nokogiri (1.19.4-aarch64-linux-gnu)
|
|
148
154
|
racc (~> 1.4)
|
|
149
155
|
nokogiri (1.19.4-aarch64-linux-musl)
|
|
@@ -161,33 +167,33 @@ GEM
|
|
|
161
167
|
nokogiri (1.19.4-x86_64-linux-musl)
|
|
162
168
|
racc (~> 1.4)
|
|
163
169
|
optimist (3.2.1)
|
|
164
|
-
parallel (2.
|
|
165
|
-
parser (3.3.
|
|
170
|
+
parallel (2.3.0)
|
|
171
|
+
parser (3.3.13.0)
|
|
166
172
|
ast (~> 2.4.1)
|
|
167
173
|
racc
|
|
168
174
|
patience_diff (1.2.0)
|
|
169
175
|
optimist (~> 3.0)
|
|
170
176
|
pp (0.6.4)
|
|
171
177
|
prettyprint
|
|
172
|
-
prettyprint (0.2.
|
|
178
|
+
prettyprint (0.2.1)
|
|
173
179
|
prism (1.9.0)
|
|
174
180
|
public_suffix (7.0.5)
|
|
175
181
|
racc (1.8.1)
|
|
176
182
|
rainbow (3.1.1)
|
|
177
183
|
rake (13.4.2)
|
|
178
184
|
rake-compiler-dock (1.12.0)
|
|
179
|
-
rb_sys (0.9.
|
|
185
|
+
rb_sys (0.9.130)
|
|
180
186
|
rake-compiler-dock (= 1.12.0)
|
|
181
|
-
rbs (4.
|
|
187
|
+
rbs (4.2.0)
|
|
182
188
|
logger
|
|
183
189
|
prism (>= 1.6.0)
|
|
184
190
|
tsort
|
|
185
|
-
rdoc (8.
|
|
191
|
+
rdoc (8.1.0)
|
|
186
192
|
erb
|
|
187
193
|
prism (>= 1.6.0)
|
|
188
194
|
rbs (>= 4.0.0)
|
|
189
195
|
tsort
|
|
190
|
-
regexp_parser (2.
|
|
196
|
+
regexp_parser (2.13.1)
|
|
191
197
|
reline (0.7.0)
|
|
192
198
|
io-console (~> 0.5)
|
|
193
199
|
rexml (3.4.4)
|
|
@@ -204,14 +210,14 @@ GEM
|
|
|
204
210
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
205
211
|
rspec-support (~> 3.13.0)
|
|
206
212
|
rspec-support (3.13.7)
|
|
207
|
-
rubocop (1.
|
|
208
|
-
json (
|
|
213
|
+
rubocop (1.92.1)
|
|
214
|
+
json (>= 2.3)
|
|
209
215
|
language_server-protocol (~> 3.17.0.2)
|
|
210
216
|
lint_roller (~> 1.1.0)
|
|
211
217
|
parallel (>= 1.10)
|
|
212
218
|
parser (>= 3.3.0.2)
|
|
213
219
|
rainbow (>= 2.2.2, < 4.0)
|
|
214
|
-
regexp_parser (>= 2.
|
|
220
|
+
regexp_parser (>= 2.11.3, < 3.0)
|
|
215
221
|
rubocop-ast (>= 1.49.0, < 2.0)
|
|
216
222
|
ruby-progressbar (~> 1.7)
|
|
217
223
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
@@ -227,21 +233,22 @@ GEM
|
|
|
227
233
|
rubocop (~> 1.86, >= 1.86.2)
|
|
228
234
|
ruby-progressbar (1.13.0)
|
|
229
235
|
securerandom (0.4.1)
|
|
230
|
-
simplecov (1.
|
|
231
|
-
simpleidn (0.
|
|
236
|
+
simplecov (1.3.2)
|
|
237
|
+
simpleidn (0.3.0)
|
|
232
238
|
super_diff (0.19.0)
|
|
233
239
|
attr_extras (>= 6.2.4, < 8)
|
|
234
240
|
diff-lcs (~> 1.5)
|
|
235
241
|
patience_diff (~> 1.2)
|
|
236
242
|
thor (1.5.0)
|
|
243
|
+
timeout (0.6.1)
|
|
237
244
|
tsort (0.2.0)
|
|
238
245
|
tzinfo (2.0.6)
|
|
239
246
|
concurrent-ruby (~> 1.0)
|
|
240
|
-
unicode-display_width (3.
|
|
241
|
-
unicode-emoji (~> 4.
|
|
242
|
-
unicode-emoji (4.
|
|
243
|
-
uri (1.1.
|
|
244
|
-
webmock (3.
|
|
247
|
+
unicode-display_width (3.3.0)
|
|
248
|
+
unicode-emoji (~> 4.3)
|
|
249
|
+
unicode-emoji (4.3.0)
|
|
250
|
+
uri (1.1.2)
|
|
251
|
+
webmock (3.34.0)
|
|
245
252
|
addressable (>= 2.8.0)
|
|
246
253
|
crack (>= 0.3.2)
|
|
247
254
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
@@ -258,17 +265,16 @@ PLATFORMS
|
|
|
258
265
|
x86_64-linux-musl
|
|
259
266
|
|
|
260
267
|
DEPENDENCIES
|
|
261
|
-
base64
|
|
262
268
|
cocina-models
|
|
263
269
|
datacite!
|
|
264
270
|
debug
|
|
265
|
-
rake
|
|
266
|
-
rspec
|
|
267
|
-
rubocop
|
|
271
|
+
rake
|
|
272
|
+
rspec
|
|
273
|
+
rubocop
|
|
268
274
|
rubocop-rake
|
|
269
275
|
rubocop-rspec
|
|
270
276
|
simplecov
|
|
271
|
-
webmock
|
|
277
|
+
webmock
|
|
272
278
|
|
|
273
279
|
BUNDLED WITH
|
|
274
|
-
4.0.
|
|
280
|
+
4.0.23
|
data/README.md
CHANGED
|
@@ -127,8 +127,20 @@ bin/validate-cocina path/to/file.json
|
|
|
127
127
|
|
|
128
128
|
This will result in either a `Valid!` message or an `Invalid!` message with a list of validation errors.
|
|
129
129
|
|
|
130
|
+
## Transforming cocina locally
|
|
131
|
+
|
|
132
|
+
With cocina json saved from Argo (append `.json` to an Argo view URL and save the content locally) then run:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
bin/transform path/to/file.json
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
This will output the formatted json content that would be sent to DataCite.
|
|
139
|
+
|
|
130
140
|
## Development
|
|
131
141
|
|
|
142
|
+
Use Ruby 4.0.7 for development and testing.
|
|
143
|
+
|
|
132
144
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
133
145
|
|
|
134
146
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
data/bin/transform
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
# This is used to review the transformation of a cocina object
|
|
5
|
+
# to a datacite payload
|
|
6
|
+
# usage: bin/transform tmp/druid.json
|
|
7
|
+
|
|
8
|
+
require 'bundler/setup'
|
|
9
|
+
require 'datacite'
|
|
10
|
+
require 'cocina/models'
|
|
11
|
+
require 'json'
|
|
12
|
+
|
|
13
|
+
if ARGV.empty?
|
|
14
|
+
warn "Usage: #{$PROGRAM_NAME} <path-to-cocina-json>"
|
|
15
|
+
exit 1
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
json_path = ARGV[0]
|
|
19
|
+
|
|
20
|
+
unless File.exist?(json_path)
|
|
21
|
+
warn "File not found: #{json_path}"
|
|
22
|
+
exit 1
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
json = JSON.parse(File.read(json_path))
|
|
26
|
+
cocina_object = Cocina::Models::DROWithMetadata.new(json)
|
|
27
|
+
attributes = Datacite::Mapping::FromCocina::Attributes.build(cocina_object:)
|
|
28
|
+
|
|
29
|
+
puts JSON.pretty_generate(attributes)
|
data/datacite.gemspec
CHANGED
|
@@ -29,9 +29,12 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.require_paths = ['lib']
|
|
30
30
|
|
|
31
31
|
spec.add_dependency 'activesupport'
|
|
32
|
-
spec.add_dependency '
|
|
33
|
-
spec.add_dependency '
|
|
32
|
+
spec.add_dependency 'base64'
|
|
33
|
+
spec.add_dependency 'cocina_display'
|
|
34
|
+
spec.add_dependency 'dry-monads'
|
|
35
|
+
spec.add_dependency 'faraday'
|
|
36
|
+
spec.add_dependency 'json'
|
|
34
37
|
spec.add_dependency 'json_schemer'
|
|
35
|
-
spec.add_dependency 'zeitwerk'
|
|
38
|
+
spec.add_dependency 'zeitwerk'
|
|
36
39
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
37
40
|
end
|
|
@@ -30,7 +30,7 @@ module Datacite
|
|
|
30
30
|
event: 'publish',
|
|
31
31
|
url: description.purl,
|
|
32
32
|
identifiers: Identifiers.build(identification:),
|
|
33
|
-
titles: Titles.build(
|
|
33
|
+
titles: Titles.build(title: cocina_display.full_title),
|
|
34
34
|
publisher: { name: 'Stanford Digital Repository' }, # per DataCite schema
|
|
35
35
|
publicationYear: publication_year,
|
|
36
36
|
subjects: Subject.build(description:),
|
|
@@ -46,6 +46,10 @@ module Datacite
|
|
|
46
46
|
}.merge(ContributorAttributes.build(description:)).compact
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
def cocina_display
|
|
50
|
+
@cocina_display ||= CocinaDisplay::CocinaRecord.from_json(cocina_object.to_json)
|
|
51
|
+
end
|
|
52
|
+
|
|
49
53
|
private
|
|
50
54
|
|
|
51
55
|
def publication_year
|
|
@@ -110,8 +110,8 @@ module Datacite
|
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
def related_item_title
|
|
113
|
-
@related_item_title ||= preferred_citation || other_title
|
|
114
|
-
|| related_item_doi || related_item_arxiv || related_item_pmid
|
|
113
|
+
@related_item_title ||= preferred_citation || other_title
|
|
114
|
+
|| related_item_doi || related_item_arxiv || related_item_pmid
|
|
115
115
|
|| related_item_identifier_url
|
|
116
116
|
end
|
|
117
117
|
|
|
@@ -13,19 +13,19 @@ module Datacite
|
|
|
13
13
|
new(...).call
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
def initialize(
|
|
17
|
-
@
|
|
16
|
+
def initialize(title:)
|
|
17
|
+
@title = title
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
# @return [Array<Hash>] list of titles for DataCite, conforming to the expectations of HTTP PUT request
|
|
21
21
|
# to DataCite
|
|
22
22
|
def call
|
|
23
|
-
[{ title:
|
|
23
|
+
[{ title: }]
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
private
|
|
27
27
|
|
|
28
|
-
attr_reader :
|
|
28
|
+
attr_reader :title
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
31
|
end
|
data/lib/datacite/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datacite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Coyne
|
|
@@ -23,34 +23,76 @@ dependencies:
|
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: base64
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: cocina_display
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
26
54
|
- !ruby/object:Gem::Dependency
|
|
27
55
|
name: dry-monads
|
|
28
56
|
requirement: !ruby/object:Gem::Requirement
|
|
29
57
|
requirements:
|
|
30
|
-
- - "
|
|
58
|
+
- - ">="
|
|
31
59
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
60
|
+
version: '0'
|
|
33
61
|
type: :runtime
|
|
34
62
|
prerelease: false
|
|
35
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
64
|
requirements:
|
|
37
|
-
- - "
|
|
65
|
+
- - ">="
|
|
38
66
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
67
|
+
version: '0'
|
|
40
68
|
- !ruby/object:Gem::Dependency
|
|
41
69
|
name: faraday
|
|
42
70
|
requirement: !ruby/object:Gem::Requirement
|
|
43
71
|
requirements:
|
|
44
|
-
- - "
|
|
72
|
+
- - ">="
|
|
45
73
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
74
|
+
version: '0'
|
|
47
75
|
type: :runtime
|
|
48
76
|
prerelease: false
|
|
49
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
78
|
requirements:
|
|
51
|
-
- - "
|
|
79
|
+
- - ">="
|
|
52
80
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
81
|
+
version: '0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: json
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
54
96
|
- !ruby/object:Gem::Dependency
|
|
55
97
|
name: json_schemer
|
|
56
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -69,16 +111,16 @@ dependencies:
|
|
|
69
111
|
name: zeitwerk
|
|
70
112
|
requirement: !ruby/object:Gem::Requirement
|
|
71
113
|
requirements:
|
|
72
|
-
- - "
|
|
114
|
+
- - ">="
|
|
73
115
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '
|
|
116
|
+
version: '0'
|
|
75
117
|
type: :runtime
|
|
76
118
|
prerelease: false
|
|
77
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
120
|
requirements:
|
|
79
|
-
- - "
|
|
121
|
+
- - ">="
|
|
80
122
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
123
|
+
version: '0'
|
|
82
124
|
description: See https://support.datacite.org/docs/api
|
|
83
125
|
email:
|
|
84
126
|
- jcoyne@justincoyne.com
|
|
@@ -98,6 +140,7 @@ files:
|
|
|
98
140
|
- Rakefile
|
|
99
141
|
- bin/console
|
|
100
142
|
- bin/setup
|
|
143
|
+
- bin/transform
|
|
101
144
|
- bin/validate-cocina
|
|
102
145
|
- datacite.gemspec
|
|
103
146
|
- lib/datacite.rb
|
|
@@ -141,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
141
184
|
- !ruby/object:Gem::Version
|
|
142
185
|
version: '0'
|
|
143
186
|
requirements: []
|
|
144
|
-
rubygems_version:
|
|
187
|
+
rubygems_version: 4.0.20
|
|
145
188
|
specification_version: 4
|
|
146
189
|
summary: A Ruby client library for the DataCite REST API
|
|
147
190
|
test_files: []
|