bolognese 2.5.0 → 2.6.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/release.yml +1 -1
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +182 -162
  6. data/bolognese.gemspec +29 -34
  7. data/lib/bolognese/author_utils.rb +0 -3
  8. data/lib/bolognese/datacite_utils.rb +4 -1
  9. data/lib/bolognese/metadata.rb +4 -4
  10. data/lib/bolognese/metadata_utils.rb +0 -1
  11. data/lib/bolognese/readers/crossref_reader.rb +14 -1
  12. data/lib/bolognese/readers/datacite_reader.rb +6 -2
  13. data/lib/bolognese/utils.rb +31 -8
  14. data/lib/bolognese/version.rb +1 -1
  15. data/lib/bolognese/writers/csv_writer.rb +3 -5
  16. data/lib/bolognese.rb +0 -4
  17. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +1 -1
  18. data/resources/kernel-4/include/datacite-dateType-v4.xsd +1 -1
  19. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +3 -1
  20. data/resources/kernel-4/include/datacite-relationType-v4.xsd +4 -2
  21. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +4 -1
  22. data/resources/kernel-4/metadata.xsd +4 -1
  23. data/resources/kernel-4.7/include/datacite-contributorType-v4.xsd +37 -0
  24. data/resources/kernel-4.7/include/datacite-dateType-v4.xsd +27 -0
  25. data/resources/kernel-4.7/include/datacite-descriptionType-v4.xsd +19 -0
  26. data/resources/kernel-4.7/include/datacite-funderIdentifierType-v4.xsd +16 -0
  27. data/resources/kernel-4.7/include/datacite-nameType-v4.xsd +10 -0
  28. data/resources/kernel-4.7/include/datacite-numberType-v4.xsd +12 -0
  29. data/resources/kernel-4.7/include/datacite-relatedIdentifierType-v4.xsd +39 -0
  30. data/resources/kernel-4.7/include/datacite-relationType-v4.xsd +59 -0
  31. data/resources/kernel-4.7/include/datacite-resourceType-v4.xsd +52 -0
  32. data/resources/kernel-4.7/include/datacite-titleType-v4.xsd +14 -0
  33. data/resources/kernel-4.7/include/xml.xsd +286 -0
  34. data/resources/kernel-4.7/metadata.xsd +715 -0
  35. metadata +128 -195
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f0239c99410f1942496bd26e40c9fe98884e7b850bafad0c20af747073d8828
4
- data.tar.gz: a154ee1f051aeb20ab12f4131bff2776e77db6d9241af3940d70e80761fdf4bd
3
+ metadata.gz: f0dacdf04ab9d6bac881314d6769bbe4a32ef487886eb9e40b9c0de0025d3b93
4
+ data.tar.gz: d208c61ab72eb28be3262692c3080caee9bd793d48129367659120f36bc429bd
5
5
  SHA512:
6
- metadata.gz: d7fbdfd38162ac2d47143f2a296a6ec7d3a7d8799ec1c6d1b8b15bfaa6257bb4b19b13acb64b0abee782efb4f058ab96293705c106b75344c93110008ffdbe6a
7
- data.tar.gz: 65a3c6ded83c62d019520a1dfd936ce0a23251679458cd2669e106541adcb506ced58e879d634579495ecdb16cda2e78684567b7232c34d861690700a3598743
6
+ metadata.gz: a24c08c281faaccd79fde6ea90dbdb2341b4291a569095143c06fb5b91fcad02ebd365be08a2cd60db00259b53e7fef030780a879c7f27754aa98f4e7498cfa4
7
+ data.tar.gz: 938bb5a4c4f05535fae6bb2bae548bf136b6775d070676ba9cddaa42469831c0ec3d6dff223fc111f9b3af7282a3ab2be78500efb964472c836403125d352ccb
@@ -7,7 +7,7 @@ jobs:
7
7
  strategy:
8
8
  fail-fast: false
9
9
  matrix:
10
- ruby: ["3.1", "3.2", "3.3"]
10
+ ruby: ["3.2", "3.3", "3.4", "4.0"]
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v3
@@ -14,7 +14,7 @@ jobs:
14
14
  - name: Set up Ruby
15
15
  uses: ruby/setup-ruby@v1
16
16
  with:
17
- ruby-version: "3.2.9"
17
+ ruby-version: "4.0.1"
18
18
 
19
19
  - name: Build
20
20
  run: |
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gemspec
3
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,250 +1,270 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (2.5.0)
5
- activesupport (= 7.2.3)
6
- benchmark_methods (~> 0.7)
7
- bibtex-ruby (>= 5.1.0)
8
- builder (~> 3.2, >= 3.2.2)
9
- citeproc-ruby (~> 1.1, >= 1.1.12)
10
- colorize (~> 0.8.1)
11
- concurrent-ruby (~> 1.1, >= 1.1.5)
12
- csl-styles (~> 1.0, >= 1.0.1.10)
13
- edtf (~> 3.0, >= 3.0.4)
14
- gender_detector (~> 0.1.2)
15
- iso8601 (~> 0.9.1)
16
- json-ld-preloaded (~> 3.1, >= 3.1.3)
17
- jsonlint (~> 0.3.0)
18
- loofah (~> 2.0, >= 2.0.3)
19
- maremma (~> 5.0)
20
- namae (~> 1.0)
21
- nokogiri (~> 1.16, >= 1.16.2)
22
- oj (~> 3.10)
23
- oj_mimic_json (~> 1.0, >= 1.0.1)
24
- postrank-uri (~> 1.0, >= 1.0.18)
25
- rdf-rdfxml (~> 3.1)
26
- rdf-turtle (~> 3.1)
27
- thor (>= 0.19)
4
+ bolognese (2.6.0)
5
+ activesupport (~> 8.1, >= 8.1.2)
6
+ bibtex-ruby (~> 6.2)
7
+ builder (~> 3.3)
8
+ citeproc-ruby (~> 2.1, >= 2.1.8)
9
+ concurrent-ruby (~> 1.3, >= 1.3.6)
10
+ csl-styles (~> 2.0, >= 2.0.2)
11
+ csv (~> 3.3, >= 3.3.5)
12
+ edtf (~> 3.2)
13
+ gender_detector (~> 2.1)
14
+ iso8601 (~> 0.13.0)
15
+ json-ld-preloaded (~> 3.3, >= 3.3.2)
16
+ jsonlint (~> 0.4.0)
17
+ loofah (~> 2.25)
18
+ maremma (~> 6.0)
19
+ namae (~> 1.2)
20
+ nokogiri (~> 1.19, >= 1.19.1)
21
+ oj (~> 3.16, >= 3.16.15)
22
+ rdf-rdfxml (~> 3.3)
23
+ rdf-turtle (~> 3.3, >= 3.3.1)
24
+ thor (~> 1.5)
28
25
 
29
26
  GEM
30
27
  remote: https://rubygems.org/
31
28
  specs:
32
- activesupport (7.2.3)
29
+ activesupport (8.1.2)
33
30
  base64
34
- benchmark (>= 0.3)
35
31
  bigdecimal
36
32
  concurrent-ruby (~> 1.0, >= 1.3.1)
37
33
  connection_pool (>= 2.2.5)
38
34
  drb
39
35
  i18n (>= 1.6, < 2)
36
+ json
40
37
  logger (>= 1.4.2)
41
38
  minitest (>= 5.1)
42
39
  securerandom (>= 0.3)
43
40
  tzinfo (~> 2.0, >= 2.0.5)
44
- addressable (2.8.1)
45
- public_suffix (>= 2.0.2, < 6.0)
41
+ uri (>= 0.13.1)
42
+ addressable (2.8.9)
43
+ public_suffix (>= 2.0.2, < 8.0)
46
44
  base64 (0.3.0)
47
- benchmark (0.5.0)
48
- benchmark_methods (0.7)
49
- bibtex-ruby (6.0.0)
45
+ bcp47_spec (0.2.1)
46
+ bibtex-ruby (6.2.0)
50
47
  latex-decode (~> 0.0)
48
+ logger (~> 1.7)
49
+ racc (~> 1.7)
51
50
  bigdecimal (3.3.1)
52
- builder (3.2.4)
51
+ builder (3.3.0)
53
52
  byebug (11.1.3)
54
53
  citeproc (1.0.10)
55
54
  namae (~> 1.0)
56
- citeproc-ruby (1.1.14)
55
+ citeproc-ruby (2.1.8)
57
56
  citeproc (~> 1.0, >= 1.0.9)
58
- csl (~> 1.6)
59
- colorize (0.8.1)
60
- concurrent-ruby (1.3.5)
57
+ csl (~> 2.0)
58
+ observer (< 1.0)
59
+ concurrent-ruby (1.3.6)
61
60
  connection_pool (2.5.5)
62
- crack (0.4.5)
61
+ crack (1.0.1)
62
+ bigdecimal
63
63
  rexml
64
64
  crass (1.0.6)
65
- csl (1.6.0)
65
+ csl (2.0.0)
66
66
  namae (~> 1.0)
67
67
  rexml
68
- csl-styles (1.0.1.11)
69
- csl (~> 1.0)
70
- diff-lcs (1.5.0)
71
- docile (1.4.0)
68
+ csl-styles (2.0.2)
69
+ csl (~> 2.0)
70
+ csv (3.3.5)
71
+ date (3.5.1)
72
+ diff-lcs (1.6.2)
73
+ docile (1.4.1)
72
74
  drb (2.2.3)
73
- ebnf (2.3.3)
75
+ ebnf (2.6.0)
76
+ base64 (~> 0.2)
74
77
  htmlentities (~> 4.3)
75
- rdf (~> 3.2)
78
+ rdf (~> 3.3)
76
79
  scanf (~> 1.0)
77
- sxp (~> 1.2)
80
+ sxp (~> 2.0)
78
81
  unicode-types (~> 1.8)
79
- edtf (3.1.1)
80
- activesupport (>= 3.0, < 8.0)
81
- excon (0.71.1)
82
- faraday (2.7.6)
83
- faraday-net_http (>= 2.0, < 3.1)
84
- ruby2_keywords (>= 0.0.4)
85
- faraday-encoding (0.0.5)
82
+ edtf (3.2.0)
83
+ activesupport (>= 3.0, < 9.0)
84
+ erb (6.0.2)
85
+ excon (1.4.0)
86
+ logger
87
+ faraday (2.14.1)
88
+ faraday-net_http (>= 2.0, < 3.5)
89
+ json
90
+ logger
91
+ faraday-encoding (0.0.6)
86
92
  faraday
87
- faraday-excon (2.1.0)
88
- excon (>= 0.27.4)
89
- faraday (~> 2.0)
90
- faraday-follow_redirects (0.3.0)
93
+ faraday-excon (2.4.0)
94
+ excon (>= 1.0.0)
95
+ faraday (>= 2.11.0, < 3)
96
+ faraday-follow_redirects (0.5.0)
91
97
  faraday (>= 1, < 3)
92
- faraday-gzip (0.1.0)
93
- faraday (>= 1.0)
94
- zlib (~> 2.1)
95
- faraday-multipart (1.0.4)
96
- multipart-post (~> 2)
97
- faraday-net_http (3.0.2)
98
- gender_detector (0.1.2)
99
- unicode_utils (>= 1.3.0)
100
- haml (5.2.2)
101
- temple (>= 0.8.0)
102
- tilt
98
+ faraday-gzip (3.1.0)
99
+ faraday (>= 2.0, < 3)
100
+ zlib (~> 3.0)
101
+ faraday-multipart (1.2.0)
102
+ multipart-post (~> 2.0)
103
+ faraday-net_http (3.4.2)
104
+ net-http (~> 0.5)
105
+ gender_detector (2.1.0)
103
106
  hashdiff (1.0.1)
104
107
  htmlentities (4.3.4)
105
108
  i18n (1.14.1)
106
109
  concurrent-ruby (~> 1.0)
107
- iso8601 (0.9.1)
110
+ io-console (0.8.2)
111
+ irb (1.17.0)
112
+ pp (>= 0.6.0)
113
+ prism (>= 1.3.0)
114
+ rdoc (>= 4.0.0)
115
+ reline (>= 0.4.2)
116
+ iso8601 (0.13.0)
108
117
  json (2.6.2)
109
- json-canonicalization (0.3.1)
110
- json-ld (3.2.4)
118
+ json-canonicalization (1.0.0)
119
+ json-ld (3.3.2)
111
120
  htmlentities (~> 4.3)
112
- json-canonicalization (~> 0.3)
121
+ json-canonicalization (~> 1.0)
113
122
  link_header (~> 0.0, >= 0.0.8)
114
123
  multi_json (~> 1.15)
115
124
  rack (>= 2.2, < 4)
116
- rdf (~> 3.2, >= 3.2.10)
117
- json-ld-preloaded (3.2.2)
118
- json-ld (~> 3.2)
119
- rdf (~> 3.2)
120
- jsonlint (0.3.0)
125
+ rdf (~> 3.3)
126
+ rexml (~> 3.2)
127
+ json-ld-preloaded (3.3.2)
128
+ json-ld (~> 3.3)
129
+ rdf (~> 3.3)
130
+ jsonlint (0.4.0)
121
131
  oj (~> 3)
122
132
  optimist (~> 3)
123
133
  latex-decode (0.4.0)
124
134
  link_header (0.0.8)
125
135
  logger (1.7.0)
126
- loofah (2.21.3)
136
+ loofah (2.25.0)
127
137
  crass (~> 1.0.2)
128
138
  nokogiri (>= 1.12.0)
129
- maremma (5.0.0)
130
- activesupport (>= 4.2.5)
131
- addressable (>= 2.3.6)
139
+ maremma (6.0.0)
140
+ activesupport (~> 8.1, >= 8.1.2)
141
+ addressable (~> 2.8, >= 2.8.9)
132
142
  builder (~> 3.2, >= 3.2.2)
133
- excon (~> 0.71.0)
143
+ excon (~> 1.3, >= 1.3.2)
134
144
  faraday (>= 2.0)
135
- faraday-encoding (~> 0.0.5)
136
- faraday-excon (~> 2.1.0)
137
- faraday-follow_redirects (~> 0.3.0)
138
- faraday-gzip (~> 0.1.0)
139
- faraday-multipart (~> 1.0.4)
140
- nokogiri (~> 1.16, >= 1.16.2)
141
- oj (>= 2.8.3)
145
+ faraday-encoding (~> 0.0.6)
146
+ faraday-excon (~> 2.4.0)
147
+ faraday-follow_redirects (~> 0.5.0)
148
+ faraday-gzip (~> 3.1.0)
149
+ faraday-multipart (~> 1.2.0)
150
+ nokogiri (~> 1.19, >= 1.19.1)
151
+ oj (~> 3.16, >= 3.16.15)
142
152
  oj_mimic_json (~> 1.0, >= 1.0.1)
143
153
  matrix (0.4.2)
144
154
  mini_portile2 (2.8.5)
145
- minitest (5.18.0)
155
+ minitest (6.0.2)
156
+ drb (~> 2.0)
157
+ prism (~> 1.5)
146
158
  multi_json (1.15.0)
147
- multipart-post (2.3.0)
148
- namae (1.1.1)
149
- nokogiri (1.16.2)
159
+ multipart-post (2.4.1)
160
+ namae (1.2.0)
161
+ racc (~> 1.7)
162
+ net-http (0.9.1)
163
+ uri (>= 0.11.1)
164
+ nokogiri (1.19.1)
150
165
  mini_portile2 (~> 2.8.2)
151
166
  racc (~> 1.4)
152
- oj (3.14.2)
167
+ observer (0.1.2)
168
+ oj (3.16.15)
169
+ bigdecimal (>= 3.0)
170
+ ostruct (>= 0.2)
153
171
  oj_mimic_json (1.0.1)
154
172
  optimist (3.0.1)
155
- postrank-uri (1.0.24)
156
- addressable (>= 2.4.0)
157
- nokogiri (>= 1.8.0)
158
- public_suffix (>= 2.0.0, < 2.1)
159
- public_suffix (2.0.5)
160
- racc (1.6.0)
173
+ ostruct (0.6.3)
174
+ pp (0.6.3)
175
+ prettyprint
176
+ prettyprint (0.2.0)
177
+ prism (1.9.0)
178
+ psych (5.3.1)
179
+ date
180
+ stringio
181
+ public_suffix (4.0.7)
182
+ racc (1.8.1)
161
183
  rack (2.2.4)
162
- rack-test (0.8.3)
163
- rack (>= 1.0, < 3)
164
- rake (12.3.3)
165
- rdf (3.2.11)
184
+ rack-test (2.2.0)
185
+ rack (>= 1.3)
186
+ rake (13.3.1)
187
+ rdf (3.3.4)
188
+ bcp47_spec (~> 0.2)
189
+ bigdecimal (~> 3.1, >= 3.1.5)
166
190
  link_header (~> 0.0, >= 0.0.8)
167
- rdf-aggregate-repo (3.2.1)
168
- rdf (~> 3.2)
169
- rdf-rdfa (3.2.2)
170
- haml (>= 5.2, < 7)
171
- htmlentities (~> 4.3)
172
- rdf (~> 3.2)
173
- rdf-aggregate-repo (~> 3.2)
174
- rdf-vocab (~> 3.2)
175
- rdf-xsd (~> 3.2)
176
- rdf-rdfxml (3.2.1)
177
- haml (~> 5.2)
191
+ logger (~> 1.5)
192
+ ostruct (~> 0.6)
193
+ readline (~> 0.0)
194
+ rdf-rdfxml (3.3.0)
195
+ builder (~> 3.2, >= 3.2.4)
178
196
  htmlentities (~> 4.3)
179
- rdf (~> 3.2)
180
- rdf-rdfa (~> 3.2)
181
- rdf-xsd (~> 3.2)
182
- rdf-turtle (3.2.1)
183
- ebnf (~> 2.3)
184
- rdf (~> 3.2)
185
- rdf-vocab (3.2.6)
186
- rdf (~> 3.2, >= 3.2.4)
187
- rdf-xsd (3.2.1)
188
- rdf (~> 3.2)
197
+ rdf (~> 3.3)
198
+ rdf-xsd (~> 3.3)
199
+ rdf-turtle (3.3.1)
200
+ base64 (~> 0.2)
201
+ bigdecimal (~> 3.1, >= 3.1.5)
202
+ ebnf (~> 2.5)
203
+ rdf (~> 3.3)
204
+ rdf-xsd (3.3.0)
205
+ rdf (~> 3.3)
189
206
  rexml (~> 3.2)
207
+ rdoc (7.2.0)
208
+ erb
209
+ psych (>= 4.0.0)
210
+ tsort
211
+ readline (0.0.4)
212
+ reline
213
+ reline (0.6.3)
214
+ io-console (~> 0.5)
190
215
  rexml (3.2.5)
191
- rspec (3.11.0)
192
- rspec-core (~> 3.11.0)
193
- rspec-expectations (~> 3.11.0)
194
- rspec-mocks (~> 3.11.0)
195
- rspec-core (3.11.0)
196
- rspec-support (~> 3.11.0)
197
- rspec-expectations (3.11.1)
216
+ rspec (3.13.2)
217
+ rspec-core (~> 3.13.0)
218
+ rspec-expectations (~> 3.13.0)
219
+ rspec-mocks (~> 3.13.0)
220
+ rspec-core (3.13.6)
221
+ rspec-support (~> 3.13.0)
222
+ rspec-expectations (3.13.5)
198
223
  diff-lcs (>= 1.2.0, < 2.0)
199
- rspec-support (~> 3.11.0)
200
- rspec-mocks (3.11.1)
224
+ rspec-support (~> 3.13.0)
225
+ rspec-mocks (3.13.8)
201
226
  diff-lcs (>= 1.2.0, < 2.0)
202
- rspec-support (~> 3.11.0)
203
- rspec-support (3.11.1)
204
- rspec-xsd (0.1.0)
205
- nokogiri (~> 1.6)
206
- rspec (~> 3)
207
- ruby2_keywords (0.0.5)
227
+ rspec-support (~> 3.13.0)
228
+ rspec-support (3.13.7)
208
229
  scanf (1.0.0)
209
230
  securerandom (0.4.1)
210
- simplecov (0.17.1)
231
+ simplecov (0.22.0)
211
232
  docile (~> 1.1)
212
- json (>= 1.8, < 3)
213
- simplecov-html (~> 0.10.0)
214
- simplecov-html (0.10.2)
215
- sxp (1.2.4)
233
+ simplecov-html (~> 0.11)
234
+ simplecov_json_formatter (~> 0.1)
235
+ simplecov-html (0.13.2)
236
+ simplecov_json_formatter (0.1.4)
237
+ stringio (3.2.0)
238
+ sxp (2.0.0)
216
239
  matrix (~> 0.4)
217
- rdf (~> 3.2)
218
- temple (0.10.2)
219
- thor (1.2.2)
220
- tilt (2.2.0)
240
+ rdf (~> 3.3)
241
+ thor (1.5.0)
242
+ tsort (0.2.0)
221
243
  tzinfo (2.0.6)
222
244
  concurrent-ruby (~> 1.0)
223
245
  unicode-types (1.8.0)
224
- unicode_utils (1.4.0)
225
- vcr (3.0.3)
226
- webmock (3.18.1)
246
+ uri (1.1.1)
247
+ vcr (6.4.0)
248
+ webmock (3.26.1)
227
249
  addressable (>= 2.8.0)
228
250
  crack (>= 0.3.2)
229
251
  hashdiff (>= 0.4.0, < 2.0.0)
230
- zlib (2.1.1)
252
+ zlib (3.2.2)
231
253
 
232
254
  PLATFORMS
233
255
  ruby
234
256
 
235
257
  DEPENDENCIES
236
258
  bolognese!
237
- bundler (>= 1.0)
259
+ bundler (>= 2.0)
238
260
  byebug
239
- hashdiff (>= 1.0.0.beta1, < 2.0.0)
240
- json-canonicalization (= 0.3.1)
241
- rack-test (~> 0)
242
- rake (~> 12.0)
243
- rspec (~> 3.4)
244
- rspec-xsd (~> 0.1.0)
245
- simplecov (= 0.17.1)
246
- vcr (~> 3.0, >= 3.0.3)
247
- webmock (~> 3.0, >= 3.0.1)
261
+ irb
262
+ rack-test (~> 2.2)
263
+ rake (~> 13.3, >= 13.3.1)
264
+ rspec (~> 3.13, >= 3.13.2)
265
+ simplecov (= 0.22.0)
266
+ vcr (~> 6.4)
267
+ webmock (~> 3.26, >= 3.26.1)
248
268
 
249
269
  BUNDLED WITH
250
270
  2.5.5
data/bolognese.gemspec CHANGED
@@ -13,43 +13,38 @@ Gem::Specification.new do |s|
13
13
  s.version = Bolognese::VERSION
14
14
  s.extra_rdoc_files = ["README.md"]
15
15
  s.license = 'MIT'
16
- s.required_ruby_version = ['>= 3.1', '<= 3.3.10']
16
+ s.required_ruby_version = ['>= 3.2', '< 4.1']
17
17
 
18
18
  # Declare dependencies here, rather than in the Gemfile
19
- s.add_dependency 'maremma', '~> 5.0'
20
- s.add_dependency 'nokogiri', '~> 1.16', '>= 1.16.2'
21
- s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
22
- s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
23
- s.add_dependency 'activesupport', '7.2.3'
24
- s.add_dependency 'bibtex-ruby', '>= 5.1.0'
25
- s.add_dependency 'thor', '>= 0.19'
26
- s.add_dependency 'colorize', '~> 0.8.1'
27
- s.add_dependency 'namae', '~> 1.0'
28
- s.add_dependency 'edtf', '~> 3.0', '>= 3.0.4'
29
- s.add_dependency 'citeproc-ruby', '~> 1.1', '>= 1.1.12'
30
- s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.10'
31
- s.add_dependency 'iso8601', '~> 0.9.1'
32
- s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
33
- s.add_dependency 'json-ld-preloaded', '~> 3.1', '>= 3.1.3'
34
- s.add_dependency 'jsonlint', '~> 0.3.0'
35
- s.add_dependency 'oj', '~> 3.10'
36
- s.add_dependency "oj_mimic_json", "~> 1.0", ">= 1.0.1"
37
- s.add_dependency 'rdf-turtle', '~> 3.1'
38
- s.add_dependency 'rdf-rdfxml', '~> 3.1'
39
- s.add_dependency 'benchmark_methods', '~> 0.7'
40
- s.add_dependency 'gender_detector', '~> 0.1.2'
41
- s.add_dependency 'concurrent-ruby', '~> 1.1', '>= 1.1.5'
42
- s.add_development_dependency 'bundler', '>= 1.0'
43
- s.add_development_dependency 'rspec', '~> 3.4'
44
- s.add_development_dependency 'rspec-xsd', '~> 0.1.0'
45
- s.add_development_dependency 'rake', '~> 12.0'
46
- s.add_development_dependency 'rack-test', '~> 0'
47
- s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
48
- s.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
49
- s.add_development_dependency 'simplecov', '0.17.1'
50
- s.add_development_dependency 'hashdiff', ['>= 1.0.0.beta1', '< 2.0.0']
19
+ s.add_dependency 'maremma', '~> 6.0'
20
+ s.add_dependency 'nokogiri', '~> 1.19', '>= 1.19.1'
21
+ s.add_dependency 'loofah', '~> 2.25'
22
+ s.add_dependency 'builder', '~> 3.3'
23
+ s.add_dependency 'activesupport', "~> 8.1", ">= 8.1.2"
24
+ s.add_dependency 'bibtex-ruby', '~> 6.2'
25
+ s.add_dependency 'thor', '~> 1.5'
26
+ s.add_dependency 'namae', '~> 1.2'
27
+ s.add_dependency 'edtf', '~> 3.2'
28
+ s.add_dependency 'citeproc-ruby', '~> 2.1', '>= 2.1.8'
29
+ s.add_dependency 'csl-styles', '~> 2.0', '>= 2.0.2'
30
+ s.add_dependency 'iso8601', '~> 0.13.0'
31
+ s.add_dependency 'json-ld-preloaded', '~> 3.3', '>= 3.3.2'
32
+ s.add_dependency 'jsonlint', '~> 0.4.0'
33
+ s.add_dependency 'oj', '~> 3.16', '>= 3.16.15'
34
+ s.add_dependency 'rdf-turtle', '~> 3.3', '>= 3.3.1'
35
+ s.add_dependency 'rdf-rdfxml', '~> 3.3'
36
+ s.add_dependency 'gender_detector', '~> 2.1'
37
+ s.add_dependency 'concurrent-ruby', '~> 1.3', '>= 1.3.6'
38
+ s.add_dependency 'csv', '~> 3.3', '>= 3.3.5'
39
+ s.add_development_dependency 'bundler', '>= 2.0'
40
+ s.add_development_dependency 'irb'
41
+ s.add_development_dependency 'rspec', '~> 3.13', '>= 3.13.2'
42
+ s.add_development_dependency 'rake', '~> 13.3', '>= 13.3.1'
43
+ s.add_development_dependency 'rack-test', '~> 2.2'
44
+ s.add_development_dependency 'vcr', '~> 6.4'
45
+ s.add_development_dependency 'webmock', '~> 3.26', '>= 3.26.1'
46
+ s.add_development_dependency 'simplecov', '0.22.0'
51
47
  s.add_development_dependency 'byebug'
52
- s.add_development_dependency 'json-canonicalization', '0.3.1'
53
48
 
54
49
  s.require_paths = ["lib"]
55
50
  s.files = `git ls-files`.split($/).reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -4,9 +4,6 @@ require 'namae'
4
4
 
5
5
  module Bolognese
6
6
  module AuthorUtils
7
- # include BenchmarkMethods
8
- #
9
- # benchmark :get_authors
10
7
 
11
8
  IDENTIFIER_SCHEME_URIS = {
12
9
  "ORCID" => "https://orcid.org/"
@@ -209,7 +209,9 @@ module Bolognese
209
209
  attributes = {
210
210
  'relatedIdentifierType' => related_identifier["relatedIdentifierType"],
211
211
  'relationType' => related_identifier["relationType"],
212
- 'resourceTypeGeneral' => related_identifier["resourceTypeGeneral"] }.compact
212
+ 'relationTypeInformation' => related_identifier["relationTypeInformation"],
213
+ 'resourceTypeGeneral' => related_identifier["resourceTypeGeneral",
214
+ ] }.compact
213
215
 
214
216
  attributes.merge({ 'relatedMetadataScheme' => related_identifier["relatedMetadataSchema"],
215
217
  'schemeURI' => related_identifier["schemeUri"],
@@ -228,6 +230,7 @@ module Bolognese
228
230
  attributes = {
229
231
  'relatedItemType' => related_item["relatedItemType"],
230
232
  'relationType' => related_item["relationType"],
233
+ 'relationTypeInformation' => related_item["relationTypeInformation"],
231
234
  }.compact
232
235
 
233
236
  xml.relatedItem(related_item["relatedItem"], attributes) do
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: true
1
+ # frozen_string_literal: false
2
2
 
3
3
  require_relative 'metadata_utils'
4
4
 
@@ -76,8 +76,8 @@ module Bolognese
76
76
  end
77
77
 
78
78
  # make sure input is encoded as utf8
79
- string = string.force_encoding("UTF-8") if string.present?
80
- @string = string
79
+ string1 = string.dup.force_encoding("UTF-8") if string.present?
80
+ @string = string1
81
81
 
82
82
  # input options for citation formatting
83
83
  @style = options[:style]
@@ -120,7 +120,7 @@ module Bolognese
120
120
 
121
121
  @regenerate = options[:regenerate] || read_options.present?
122
122
  # generate name for method to call dynamically
123
- opts = { string: string, sandbox: options[:sandbox], doi: options[:doi], id: id, ra: ra }.merge(read_options)
123
+ opts = { string: string1, sandbox: options[:sandbox], doi: options[:doi], id: id, ra: ra }.merge(read_options)
124
124
  @meta = @from.present? ? send("read_" + @from, **opts) : {}
125
125
  end
126
126
 
@@ -33,7 +33,6 @@ require_relative 'writers/turtle_writer'
33
33
 
34
34
  module Bolognese
35
35
  module MetadataUtils
36
- # include BenchmarkMethods
37
36
  include Bolognese::DoiUtils
38
37
  include Bolognese::AuthorUtils
39
38
  include Bolognese::DataciteUtils
@@ -144,7 +144,7 @@ module Bolognese
144
144
 
145
145
  state = meta.present? || read_options.present? ? "findable" : "not_found"
146
146
 
147
- related_identifiers = Array.wrap(crossref_is_part_of(journal_metadata)) + Array.wrap(crossref_references(bibliographic_metadata)) + Array.wrap(crossref_has_translation(program_metadata)) + Array.wrap(crossref_is_translation_of(program_metadata))
147
+ related_identifiers = Array.wrap(crossref_is_part_of(journal_metadata)) + Array.wrap(crossref_references(bibliographic_metadata)) + Array.wrap(crossref_has_translation(program_metadata)) + Array.wrap(crossref_is_translation_of(program_metadata)) + Array.wrap(crossref_is_related_material(program_metadata))
148
148
 
149
149
  container = if journal_metadata.present?
150
150
  issn = normalize_issn(journal_metadata.to_h.fetch("issn", nil))
@@ -395,6 +395,19 @@ module Bolognese
395
395
  end
396
396
  end.compact.unwrap
397
397
  end
398
+
399
+ def crossref_is_related_material(program_metadata)
400
+ refs = program_metadata.dig("related_item") if program_metadata.is_a?(Hash)
401
+ Array.wrap(refs).select { |a| a.dig("interwork_relation", "relationship_type") == "isRelatedMaterial" }.map do |c|
402
+ if c.dig("inter_work_relation", "identifier_type") == "doi"
403
+ { "relatedIdentifier" => parse_attributes(c["inter_work_relation"]).downcase,
404
+ "relationType" => "Other",
405
+ "relatedIdentifierType" => "DOI" }.compact
406
+ else
407
+ nil
408
+ end
409
+ end.compact.unwrap
410
+ end
398
411
  end
399
412
  end
400
413
  end