bolognese 1.3.23 → 1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +18 -15
- data/bolognese.gemspec +5 -3
- data/lib/bolognese/metadata_utils.rb +1 -1
- data/lib/bolognese/readers/npm_reader.rb +9 -0
- data/lib/bolognese/utils.rb +2 -0
- data/lib/bolognese/version.rb +1 -1
- data/package.json +12 -0
- data/spec/find_from_format_spec.rb +5 -0
- data/spec/metadata_spec.rb +1 -1
- data/spec/readers/datacite_json_reader_spec.rb +1 -1
- data/spec/readers/schema_org_reader_spec.rb +1 -2
- metadata +41 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55c83affb4ac802ab9208a8e5b2ffa4f63456d870d3839f849e38831b699f799
|
4
|
+
data.tar.gz: 685185e34e72712a6223e9c84a928de5668e692a09f6304c4f3d0722c9e74417
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 495e0e74fac8e5ae59e3c38dc6aa11a075481aaa32e8ee82f9e5cd55fec49ec5b396e53647c6354a5c08fa9f830650f1148d09625f822383a4cd3329c85478b9
|
7
|
+
data.tar.gz: c86df5266a168b0f7c33bcc88aa661a75e8c56ddf221fc9ecb524799b7cb4aaa3ef482d0a7053ff6f6e4976128676df01977fe43d95dedeef48dc9c84fa0852c
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.
|
4
|
+
bolognese (1.4)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (~> 4.1)
|
@@ -11,15 +11,17 @@ PATH
|
|
11
11
|
concurrent-ruby (~> 1.0.5)
|
12
12
|
csl-styles (~> 1.0, >= 1.0.1.8)
|
13
13
|
edtf (~> 3.0, >= 3.0.4)
|
14
|
+
faraday (= 0.17.0)
|
14
15
|
gender_detector (~> 0.1.2)
|
15
16
|
iso8601 (~> 0.9.1)
|
16
17
|
json-ld-preloaded (= 3.0.2)
|
17
|
-
jsonlint (~> 0.
|
18
|
+
jsonlint (~> 0.3.0)
|
18
19
|
loofah (~> 2.0, >= 2.0.3)
|
19
20
|
maremma (>= 4.3, < 5)
|
20
21
|
namae (~> 1.0)
|
21
22
|
nokogiri (~> 1.10.4)
|
22
|
-
oj (
|
23
|
+
oj (~> 3.10)
|
24
|
+
oj_mimic_json (~> 1.0, >= 1.0.1)
|
23
25
|
postrank-uri (~> 1.0, >= 1.0.18)
|
24
26
|
rdf-rdfxml (~> 2.2)
|
25
27
|
rdf-turtle (~> 3.0, >= 3.0.6)
|
@@ -28,7 +30,7 @@ PATH
|
|
28
30
|
GEM
|
29
31
|
remote: https://rubygems.org/
|
30
32
|
specs:
|
31
|
-
activesupport (5.2.
|
33
|
+
activesupport (5.2.4)
|
32
34
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
33
35
|
i18n (>= 0.7, < 2)
|
34
36
|
minitest (~> 5.1)
|
@@ -38,7 +40,7 @@ GEM
|
|
38
40
|
benchmark_methods (0.7)
|
39
41
|
bibtex-ruby (4.4.7)
|
40
42
|
latex-decode (~> 0.0)
|
41
|
-
builder (3.2.
|
43
|
+
builder (3.2.4)
|
42
44
|
citeproc (1.0.9)
|
43
45
|
namae (~> 1.0)
|
44
46
|
citeproc-ruby (1.1.10)
|
@@ -81,7 +83,7 @@ GEM
|
|
81
83
|
i18n (1.7.0)
|
82
84
|
concurrent-ruby (~> 1.0)
|
83
85
|
iso8601 (0.9.1)
|
84
|
-
json (2.
|
86
|
+
json (2.3.0)
|
85
87
|
json-ld (3.0.2)
|
86
88
|
multi_json (~> 1.12)
|
87
89
|
rdf (>= 2.2.8, < 4.0)
|
@@ -89,12 +91,12 @@ GEM
|
|
89
91
|
json-ld (~> 3.0)
|
90
92
|
multi_json (~> 1.12)
|
91
93
|
rdf (~> 3.0)
|
92
|
-
jsonlint (0.
|
93
|
-
oj (~>
|
94
|
-
|
94
|
+
jsonlint (0.3.0)
|
95
|
+
oj (~> 3)
|
96
|
+
optimist (~> 3)
|
95
97
|
latex-decode (0.3.1)
|
96
98
|
link_header (0.0.8)
|
97
|
-
loofah (2.
|
99
|
+
loofah (2.4.0)
|
98
100
|
crass (~> 1.0.2)
|
99
101
|
nokogiri (>= 1.5.9)
|
100
102
|
maremma (4.4)
|
@@ -109,13 +111,15 @@ GEM
|
|
109
111
|
nokogiri (~> 1.10.4)
|
110
112
|
oj (>= 2.8.3)
|
111
113
|
mini_portile2 (2.4.0)
|
112
|
-
minitest (5.
|
114
|
+
minitest (5.13.0)
|
113
115
|
multi_json (1.14.1)
|
114
116
|
multipart-post (2.1.1)
|
115
117
|
namae (1.0.1)
|
116
|
-
nokogiri (1.10.
|
118
|
+
nokogiri (1.10.7)
|
117
119
|
mini_portile2 (~> 2.4.0)
|
118
|
-
oj (
|
120
|
+
oj (3.10.0)
|
121
|
+
oj_mimic_json (1.0.1)
|
122
|
+
optimist (3.0.0)
|
119
123
|
postrank-uri (1.0.24)
|
120
124
|
addressable (>= 2.4.0)
|
121
125
|
nokogiri (>= 1.8.0)
|
@@ -125,7 +129,7 @@ GEM
|
|
125
129
|
rack-test (0.8.3)
|
126
130
|
rack (>= 1.0, < 3)
|
127
131
|
rake (12.3.3)
|
128
|
-
rdf (3.0.
|
132
|
+
rdf (3.0.13)
|
129
133
|
hamster (~> 3.0)
|
130
134
|
link_header (~> 0.0, >= 0.0.8)
|
131
135
|
rdf-aggregate-repo (2.2.1)
|
@@ -174,7 +178,6 @@ GEM
|
|
174
178
|
thor (0.20.3)
|
175
179
|
thread_safe (0.3.6)
|
176
180
|
tilt (2.0.10)
|
177
|
-
trollop (2.9.9)
|
178
181
|
tzinfo (1.2.5)
|
179
182
|
thread_safe (~> 0.1)
|
180
183
|
unicode_utils (1.4.0)
|
data/bolognese.gemspec
CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
|
18
18
|
# Declary dependencies here, rather than in the Gemfile
|
19
19
|
s.add_dependency 'maremma', '>= 4.3', '< 5'
|
20
|
+
s.add_dependency 'faraday', '0.17.0'
|
20
21
|
s.add_dependency 'nokogiri', '~> 1.10.4'
|
21
22
|
s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
|
22
23
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
@@ -30,9 +31,10 @@ Gem::Specification.new do |s|
|
|
30
31
|
s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.8'
|
31
32
|
s.add_dependency 'iso8601', '~> 0.9.1'
|
32
33
|
s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
|
33
|
-
s.add_dependency 'json-ld-preloaded', '
|
34
|
-
s.add_dependency 'jsonlint', '~> 0.
|
35
|
-
s.add_dependency 'oj', '
|
34
|
+
s.add_dependency 'json-ld-preloaded', '3.0.2'
|
35
|
+
s.add_dependency 'jsonlint', '~> 0.3.0'
|
36
|
+
s.add_dependency 'oj', '~> 3.10'
|
37
|
+
s.add_dependency "oj_mimic_json", "~> 1.0", ">= 1.0.1"
|
36
38
|
s.add_dependency 'rdf-turtle', '~> 3.0', '>= 3.0.6'
|
37
39
|
s.add_dependency 'rdf-rdfxml', '~> 2.2'
|
38
40
|
s.add_dependency 'benchmark_methods', '~> 0.7'
|
@@ -3,6 +3,15 @@
|
|
3
3
|
module Bolognese
|
4
4
|
module Readers
|
5
5
|
module NpmReader
|
6
|
+
def get_npm(id: nil, **options)
|
7
|
+
return { "string" => nil, "state" => "not_found" } unless id.present?
|
8
|
+
id = normalize_id(id)
|
9
|
+
response = Maremma.get(id, accept: "json", raw: true)
|
10
|
+
string = response.body.fetch("data", nil)
|
11
|
+
|
12
|
+
{ "string" => string }
|
13
|
+
end
|
14
|
+
|
6
15
|
def read_npm(string: nil, **options)
|
7
16
|
if string.present?
|
8
17
|
errors = jsonlint(string)
|
data/lib/bolognese/utils.rb
CHANGED
@@ -342,6 +342,8 @@ module Bolognese
|
|
342
342
|
%w(DataCite Crossref mEDRA KISTI JaLC OP).include?(ra) ? ra.downcase : nil
|
343
343
|
elsif /\A(?:(http|https):\/(\/)?orcid\.org\/)?(\d{4}-\d{4}-\d{4}-\d{3}[0-9X]+)\z/.match(id)
|
344
344
|
"orcid"
|
345
|
+
elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/package.json\z/.match(id)
|
346
|
+
"npm"
|
345
347
|
elsif /\A(http|https):\/(\/)?github\.com\/(.+)\z/.match(id)
|
346
348
|
"codemeta"
|
347
349
|
else
|
data/lib/bolognese/version.rb
CHANGED
data/package.json
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"name": "edam-browser",
|
3
|
+
"description": "The EDAM Browser is a client-side web-based visualization javascript widget. Its goals are to help describing bio-related resources and service with EDAM, and to facilitate and foster community contributions to EDAM.",
|
4
|
+
"author": "Bryan Brancotte",
|
5
|
+
"version": "1.0.0",
|
6
|
+
"scripts": {
|
7
|
+
"test": "jshint js/*js"
|
8
|
+
},
|
9
|
+
"devDependencies": {
|
10
|
+
"jshint": "^2.9.5"
|
11
|
+
}
|
12
|
+
}
|
@@ -44,6 +44,11 @@ describe Bolognese::CLI do
|
|
44
44
|
expect(subject.find_from_format_by_id(id)).to eq("codemeta")
|
45
45
|
end
|
46
46
|
|
47
|
+
it "npm" do
|
48
|
+
id = "https://github.com/datacite/bracco/blob/master/package.json"
|
49
|
+
expect(subject.find_from_format_by_id(id)).to eq("npm")
|
50
|
+
end
|
51
|
+
|
47
52
|
it "schema_org" do
|
48
53
|
id = "https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/GAOC03"
|
49
54
|
expect(subject.find_from_format_by_id(id)).to eq("schema_org")
|
data/spec/metadata_spec.rb
CHANGED
@@ -153,7 +153,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
153
153
|
it "missing_comma" do
|
154
154
|
json = IO.read(fixture_path + "datacite_software_missing_comma.json")
|
155
155
|
response = subject.jsonlint(json)
|
156
|
-
expect(response).to eq(["expected comma, not a string at line 4, column 11 [parse.c:
|
156
|
+
expect(response).to eq(["expected comma, not a string (doi) at line 4, column 11 [parse.c:373]"])
|
157
157
|
end
|
158
158
|
|
159
159
|
it "overlapping_keys" do
|
@@ -46,7 +46,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
46
46
|
input = fixture_path + "datacite_software_missing_comma.json"
|
47
47
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json", show_errors: true)
|
48
48
|
expect(subject.valid?).to be false
|
49
|
-
expect(subject.errors).to eq(["expected comma, not a string at line 4, column 11 [parse.c:
|
49
|
+
expect(subject.errors).to eq(["expected comma, not a string (doi) at line 4, column 11 [parse.c:373]"])
|
50
50
|
expect(subject.codemeta).to be_nil
|
51
51
|
end
|
52
52
|
|
@@ -66,8 +66,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
66
66
|
input = "https://www.zenodo.org/record/1196821"
|
67
67
|
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
68
68
|
expect(subject.valid?).to be false
|
69
|
-
expect(subject.errors
|
70
|
-
expect(subject.errors.first).to eq("49:0: ERROR: Element '{http://datacite.org/schema/kernel-4}publisher': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'.")
|
69
|
+
expect(subject.errors).to eq("49:0: ERROR: Element '{http://datacite.org/schema/kernel-4}publisher': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'.")
|
71
70
|
expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5281/zenodo.1196821", "identifierType"=>"DOI"}])
|
72
71
|
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
73
72
|
expect(subject.url).to eq("https://zenodo.org/record/1196821")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -30,6 +30,20 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '5'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: faraday
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.17.0
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - '='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.17.0
|
33
47
|
- !ruby/object:Gem::Dependency
|
34
48
|
name: nokogiri
|
35
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,28 +288,48 @@ dependencies:
|
|
274
288
|
requirements:
|
275
289
|
- - "~>"
|
276
290
|
- !ruby/object:Gem::Version
|
277
|
-
version: 0.
|
291
|
+
version: 0.3.0
|
278
292
|
type: :runtime
|
279
293
|
prerelease: false
|
280
294
|
version_requirements: !ruby/object:Gem::Requirement
|
281
295
|
requirements:
|
282
296
|
- - "~>"
|
283
297
|
- !ruby/object:Gem::Version
|
284
|
-
version: 0.
|
298
|
+
version: 0.3.0
|
285
299
|
- !ruby/object:Gem::Dependency
|
286
300
|
name: oj
|
287
301
|
requirement: !ruby/object:Gem::Requirement
|
288
302
|
requirements:
|
303
|
+
- - "~>"
|
304
|
+
- !ruby/object:Gem::Version
|
305
|
+
version: '3.10'
|
306
|
+
type: :runtime
|
307
|
+
prerelease: false
|
308
|
+
version_requirements: !ruby/object:Gem::Requirement
|
309
|
+
requirements:
|
310
|
+
- - "~>"
|
311
|
+
- !ruby/object:Gem::Version
|
312
|
+
version: '3.10'
|
313
|
+
- !ruby/object:Gem::Dependency
|
314
|
+
name: oj_mimic_json
|
315
|
+
requirement: !ruby/object:Gem::Requirement
|
316
|
+
requirements:
|
317
|
+
- - "~>"
|
318
|
+
- !ruby/object:Gem::Version
|
319
|
+
version: '1.0'
|
289
320
|
- - ">="
|
290
321
|
- !ruby/object:Gem::Version
|
291
|
-
version:
|
322
|
+
version: 1.0.1
|
292
323
|
type: :runtime
|
293
324
|
prerelease: false
|
294
325
|
version_requirements: !ruby/object:Gem::Requirement
|
295
326
|
requirements:
|
327
|
+
- - "~>"
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: '1.0'
|
296
330
|
- - ">="
|
297
331
|
- !ruby/object:Gem::Version
|
298
|
-
version:
|
332
|
+
version: 1.0.1
|
299
333
|
- !ruby/object:Gem::Dependency
|
300
334
|
name: rdf-turtle
|
301
335
|
requirement: !ruby/object:Gem::Requirement
|
@@ -592,6 +626,7 @@ files:
|
|
592
626
|
- lib/bolognese/writers/ris_writer.rb
|
593
627
|
- lib/bolognese/writers/schema_org_writer.rb
|
594
628
|
- lib/bolognese/writers/turtle_writer.rb
|
629
|
+
- package.json
|
595
630
|
- resources/2008/09/xsd.xsl
|
596
631
|
- resources/datacite-contributorType-v4.xsd
|
597
632
|
- resources/datacite-dateType-v4.xsd
|