bolognese 2.5.0 → 2.7.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 (42) 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 +1 -43
  8. data/lib/bolognese/citeproc_extensions.rb +48 -0
  9. data/lib/bolognese/datacite_utils.rb +4 -1
  10. data/lib/bolognese/doi_utils.rb +4 -3
  11. data/lib/bolognese/metadata.rb +4 -4
  12. data/lib/bolognese/metadata_utils.rb +12 -4
  13. data/lib/bolognese/readers/citeproc_reader.rb +1 -1
  14. data/lib/bolognese/readers/codemeta_reader.rb +1 -1
  15. data/lib/bolognese/readers/crossref_reader.rb +14 -1
  16. data/lib/bolognese/readers/datacite_reader.rb +17 -16
  17. data/lib/bolognese/readers/ris_reader.rb +1 -1
  18. data/lib/bolognese/readers/schema_org_reader.rb +1 -1
  19. data/lib/bolognese/utils.rb +47 -109
  20. data/lib/bolognese/version.rb +1 -1
  21. data/lib/bolognese/writers/csv_writer.rb +3 -5
  22. data/lib/bolognese/writers/jats_writer.rb +3 -2
  23. data/lib/bolognese.rb +1 -4
  24. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +1 -1
  25. data/resources/kernel-4/include/datacite-dateType-v4.xsd +1 -1
  26. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +3 -1
  27. data/resources/kernel-4/include/datacite-relationType-v4.xsd +4 -2
  28. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +4 -1
  29. data/resources/kernel-4/metadata.xsd +4 -1
  30. data/resources/kernel-4.7/include/datacite-contributorType-v4.xsd +37 -0
  31. data/resources/kernel-4.7/include/datacite-dateType-v4.xsd +27 -0
  32. data/resources/kernel-4.7/include/datacite-descriptionType-v4.xsd +19 -0
  33. data/resources/kernel-4.7/include/datacite-funderIdentifierType-v4.xsd +16 -0
  34. data/resources/kernel-4.7/include/datacite-nameType-v4.xsd +10 -0
  35. data/resources/kernel-4.7/include/datacite-numberType-v4.xsd +12 -0
  36. data/resources/kernel-4.7/include/datacite-relatedIdentifierType-v4.xsd +39 -0
  37. data/resources/kernel-4.7/include/datacite-relationType-v4.xsd +59 -0
  38. data/resources/kernel-4.7/include/datacite-resourceType-v4.xsd +52 -0
  39. data/resources/kernel-4.7/include/datacite-titleType-v4.xsd +14 -0
  40. data/resources/kernel-4.7/include/xml.xsd +286 -0
  41. data/resources/kernel-4.7/metadata.xsd +715 -0
  42. metadata +129 -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: 835ab3fe44434e73ae854befe4f6acb61ea005c5fdd95833103c7a692b19378c
4
+ data.tar.gz: 5b5085360ceae14323ae37e82d517dade2e87cc0c8b631a2a1dd8ea95eb5e7be
5
5
  SHA512:
6
- metadata.gz: d7fbdfd38162ac2d47143f2a296a6ec7d3a7d8799ec1c6d1b8b15bfaa6257bb4b19b13acb64b0abee782efb4f058ab96293705c106b75344c93110008ffdbe6a
7
- data.tar.gz: 65a3c6ded83c62d019520a1dfd936ce0a23251679458cd2669e106541adcb506ced58e879d634579495ecdb16cda2e78684567b7232c34d861690700a3598743
6
+ metadata.gz: 50d00d40e262c6175bee47c5443f8673dc2af21dce0bd97ee6e31abe62d0631073aa89bac32cd78610706e04662d6501aa1f4059466d2ba1f574353dc832de82
7
+ data.tar.gz: faa9c4ee7e4c5f1f9c4cd36139701dac10d6a4ec5f4a2bb13213618fff45bb32f14e7aebdee6d27cd27eac8524b731964d953ff45d3f95007e9f98abc3fbf39f
@@ -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.7.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/"
@@ -24,7 +21,6 @@ module Bolognese
24
21
  given_name = parse_attributes(author.fetch("givenName", nil))
25
22
  family_name = parse_attributes(author.fetch("familyName", nil))
26
23
  name = cleanup_author(name)
27
- name = [family_name, given_name].join(", ") if family_name.present? && given_name.present?
28
24
  contributor_type = parse_attributes(author.fetch("contributorType", nil))
29
25
 
30
26
  name_type = parse_attributes(author.fetch("creatorName", nil), content: "nameType", first: true) || parse_attributes(author.fetch("contributorName", nil), content: "nameType", first: true)
@@ -49,55 +45,18 @@ module Bolognese
49
45
  end
50
46
  end.presence
51
47
 
52
- author = { "nameType" => name_type,
48
+ { "nameType" => name_type,
53
49
  "name" => name,
54
50
  "givenName" => given_name,
55
51
  "familyName" => family_name,
56
52
  "nameIdentifiers" => name_identifiers,
57
53
  "affiliation" => get_affiliations(author.fetch("affiliation", nil)),
58
54
  "contributorType" => contributor_type }.compact
59
-
60
- return author if family_name.present?
61
-
62
- if is_personal_name?(author)
63
- Namae.options[:include_particle_in_family] = true
64
- names = Namae.parse(name)
65
- parsed_name = names.first
66
-
67
- if parsed_name.present?
68
- given_name = parsed_name.given
69
- family_name = parsed_name.family
70
- name = [family_name, given_name].join(", ")
71
- else
72
- given_name = nil
73
- family_name = nil
74
- end
75
-
76
- { "nameType" => "Personal",
77
- "name" => name,
78
- "givenName" => given_name,
79
- "familyName" => family_name,
80
- "nameIdentifiers" => Array.wrap(name_identifiers),
81
- "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
82
- "contributorType" => contributor_type }.compact
83
- else
84
- { "nameType" => name_type,
85
- "name" => name,
86
- "nameIdentifiers" => Array.wrap(name_identifiers),
87
- "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
88
- "contributorType" => contributor_type }.compact
89
- end
90
55
  end
91
56
 
92
57
  def cleanup_author(author)
93
58
  return nil unless author.present?
94
59
 
95
- # detect pattern "Smith J.", but not "Smith, John K."
96
- author = author.gsub(/[[:space:]]([A-Z]\.)?(-?[A-Z]\.)$/, ', \1\2') unless author.include?(",")
97
-
98
- # remove spaces around hyphens
99
- author = author.gsub(" - ", "-")
100
-
101
60
  # titleize strings
102
61
  # remove non-standard space characters
103
62
  author.gsub(/[[:space:]]/, ' ')
@@ -158,7 +117,6 @@ module Bolognese
158
117
  # when `normalize_id` method could not normalize, it returns nil, hence we have following condition
159
118
  if affiliation_identifier.nil?
160
119
  if a["affiliationIdentifierScheme"] == "ROR"
161
- scheme_uri = "https://ror.org"
162
120
  affiliation_identifier = normalize_ror(a["affiliationIdentifier"])
163
121
  else
164
122
  affiliation_identifier = a["affiliationIdentifier"]