bolognese 2.1.0 → 2.2.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/ci.yml +1 -1
- data/.github/workflows/release.yml +2 -2
- data/Gemfile.lock +9 -9
- data/bolognese.gemspec +3 -3
- data/lib/bolognese/utils.rb +2 -2
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/datacite_json_writer.rb +1 -4
- data/spec/author_utils_spec.rb +8 -2
- data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +8 -0
- data/spec/writers/datacite_json_writer_spec.rb +16 -32
- metadata +16 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce52f2eb08396d0e56bdccf06702901fe7c04f1925cacafc71f315a1edda91c3
|
4
|
+
data.tar.gz: 29fb5a1d987a95220bbc7a3912aa24735f54924f47c8a74d61d1f51e25b75314
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d528d2597900dfb90410504833a83e79b1bda1974d9f77102071cecd3f71c3e1f899d8e59abe24cf1110469807cc0c6382c50a5a62571ceceb9278e7cfa37b7
|
7
|
+
data.tar.gz: 341d76ed37284899ea1e74e331026ba6d042d92037a260d7591b9a48b38b7c8a0b06a6908e97917b2c345c5be8b3ac6475cc63a5478891589d624f248137b315
|
data/.github/workflows/ci.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (2.
|
4
|
+
bolognese (2.2.0)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -16,9 +16,9 @@ PATH
|
|
16
16
|
json-ld-preloaded (~> 3.1, >= 3.1.3)
|
17
17
|
jsonlint (~> 0.3.0)
|
18
18
|
loofah (~> 2.0, >= 2.0.3)
|
19
|
-
maremma (
|
19
|
+
maremma (~> 5.0)
|
20
20
|
namae (~> 1.0)
|
21
|
-
nokogiri (
|
21
|
+
nokogiri (~> 1.16, >= 1.16.2)
|
22
22
|
oj (~> 3.10)
|
23
23
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
24
24
|
postrank-uri (~> 1.0, >= 1.0.18)
|
@@ -114,7 +114,7 @@ GEM
|
|
114
114
|
loofah (2.21.3)
|
115
115
|
crass (~> 1.0.2)
|
116
116
|
nokogiri (>= 1.12.0)
|
117
|
-
maremma (
|
117
|
+
maremma (5.0.0)
|
118
118
|
activesupport (>= 4.2.5)
|
119
119
|
addressable (>= 2.3.6)
|
120
120
|
builder (~> 3.2, >= 3.2.2)
|
@@ -125,17 +125,17 @@ GEM
|
|
125
125
|
faraday-follow_redirects (~> 0.3.0)
|
126
126
|
faraday-gzip (~> 0.1.0)
|
127
127
|
faraday-multipart (~> 1.0.4)
|
128
|
-
nokogiri (
|
128
|
+
nokogiri (~> 1.16, >= 1.16.2)
|
129
129
|
oj (>= 2.8.3)
|
130
130
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
131
131
|
matrix (0.4.2)
|
132
|
-
mini_portile2 (2.8.
|
132
|
+
mini_portile2 (2.8.5)
|
133
133
|
minitest (5.18.0)
|
134
134
|
multi_json (1.15.0)
|
135
135
|
multipart-post (2.3.0)
|
136
136
|
namae (1.1.1)
|
137
|
-
nokogiri (1.
|
138
|
-
mini_portile2 (~> 2.8.
|
137
|
+
nokogiri (1.16.2)
|
138
|
+
mini_portile2 (~> 2.8.2)
|
139
139
|
racc (~> 1.4)
|
140
140
|
oj (3.14.2)
|
141
141
|
oj_mimic_json (1.0.1)
|
@@ -235,4 +235,4 @@ DEPENDENCIES
|
|
235
235
|
webmock (~> 3.0, >= 3.0.1)
|
236
236
|
|
237
237
|
BUNDLED WITH
|
238
|
-
2.
|
238
|
+
2.5.5
|
data/bolognese.gemspec
CHANGED
@@ -13,12 +13,12 @@ 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 = ['>=
|
16
|
+
s.required_ruby_version = ['>=3.0']
|
17
17
|
|
18
18
|
# Declare dependencies here, rather than in the Gemfile
|
19
|
-
s.add_dependency 'maremma', '
|
19
|
+
s.add_dependency 'maremma', '~> 5.0'
|
20
20
|
#s.add_dependency 'faraday', '~> 0.17.3'
|
21
|
-
s.add_dependency 'nokogiri', '
|
21
|
+
s.add_dependency 'nokogiri', '~> 1.16', '>= 1.16.2'
|
22
22
|
s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
|
23
23
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
24
24
|
s.add_dependency 'activesupport', '>= 4.2.5'
|
data/lib/bolognese/utils.rb
CHANGED
@@ -600,12 +600,12 @@ module Bolognese
|
|
600
600
|
end
|
601
601
|
|
602
602
|
def validate_orcid(orcid)
|
603
|
-
orcid = Array(/\A(?:(?:http|https):\/\/(?:(?:www|sandbox)?\.)?orcid\.org\/)?(\d{4}[[:space:]-]\d{4}[[:space:]-]\d{4}[[:space:]-]\d{3}[0-9X]+)\z/.match(orcid)).last
|
603
|
+
orcid = Array(/\A(?:(?:http|https):\/\/(?:(?:www|sandbox)?\.)?orcid\.org\/)?(\d{4}[[:space:]-]\d{4}[[:space:]-]\d{4}[[:space:]-]\d{3}[0-9X]+)\/{0,1}\z/.match(orcid)).last
|
604
604
|
orcid.gsub(/[[:space:]]/, "-") if orcid.present?
|
605
605
|
end
|
606
606
|
|
607
607
|
def validate_ror(ror)
|
608
|
-
Array(/^(?:(?:(?:http|https):\/\/)?ror\.org\/)?(0\w{6}\d{2})$/.match(ror)).last
|
608
|
+
Array(/^(?:(?:(?:http|https):\/\/)?ror\.org\/)?(0\w{6}\d{2})\/{0,1}$/.match(ror)).last
|
609
609
|
end
|
610
610
|
|
611
611
|
def validate_orcid_scheme(orcid_scheme)
|
data/lib/bolognese/version.rb
CHANGED
@@ -4,11 +4,8 @@ module Bolognese
|
|
4
4
|
module Writers
|
5
5
|
module DataciteJsonWriter
|
6
6
|
def datacite_json
|
7
|
-
# Remove the following change for the schema 4.5 release
|
8
7
|
if crosscite_hsh.present?
|
9
|
-
|
10
|
-
datacite_json_hsh['publisher'] = self.publisher['name'] if self.publisher&.respond_to?(:to_hash) && self.publisher.has_key?('name') && !self.publisher['name'].blank?
|
11
|
-
JSON.pretty_generate datacite_json_hsh.transform_keys! { |key| key.camelcase(uppercase_first_letter = :lower) }
|
8
|
+
JSON.pretty_generate crosscite_hsh.transform_keys! { |key| key.camelcase(uppercase_first_letter = :lower) }
|
12
9
|
end
|
13
10
|
end
|
14
11
|
end
|
data/spec/author_utils_spec.rb
CHANGED
@@ -168,11 +168,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
168
168
|
expect(subject.creators[4]).to eq("nameType"=>"Organizational", "name"=>"University Of Kivu", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/01qfhxr31", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[])
|
169
169
|
expect(subject.creators[5]).to eq("nameType"=>"Organizational", "name"=>"សាកលវិទ្យាល័យកម្ពុជា", "nameIdentifiers"=> [{"nameIdentifier"=>"http://ror.org/025e3rc84", "nameIdentifierScheme"=>"RORS"}], "affiliation"=>[])
|
170
170
|
expect(subject.creators[6]).to eq("nameType"=>"Organizational", "name"=>"جامعة زاخۆ", "nameIdentifiers"=> [{"nameIdentifier"=>"05sd1pz50", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"RORS"}], "affiliation"=>[])
|
171
|
+
expect(subject.creators[9]).to eq("nameType"=>"Organizational", "name"=>"Gump South Pacific Research Station", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/04sk0et52", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[])
|
171
172
|
expect(subject.contributors.first).to eq("nameType"=>"Organizational", "name"=>" Nawroz University ", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/04gp75d48", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}], "affiliation"=>[], "contributorType"=>"Producer")
|
172
173
|
expect(subject.contributors.last).to eq("nameType"=>"Organizational", "name"=>"University Of Greenland (Https://Www.Uni.Gl/)", "nameIdentifiers"=> [{"nameIdentifier"=>"https://ror.org/00t5j6b61", "schemeUri"=>"https://ror.org", "nameIdentifierScheme"=>"ROR"}],"affiliation"=>[], "contributorType"=>"Sponsor")
|
173
174
|
end
|
174
175
|
|
175
|
-
context "affiliationIdentifier" do
|
176
|
+
context "affiliationIdentifier/nameIdentifier" do
|
176
177
|
let(:input) { fixture_path + 'datacite-example-ROR-nameIdentifiers.xml' }
|
177
178
|
subject { Bolognese::Metadata.new(input: input, from: "datacite") }
|
178
179
|
|
@@ -207,6 +208,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
207
208
|
expect(subject.creators[8]["nameIdentifiers"]).to eq([{"nameIdentifier"=>"https://orcid.org/0000-0001-9998-0118", "schemeUri"=>"https://orcid.org", "nameIdentifierScheme"=>"ORCID"}])
|
208
209
|
end
|
209
210
|
|
211
|
+
it "should normalize valid ORCID nameIdentifier with trailing slash" do
|
212
|
+
#" 0000-0001-9998-0118 ", # Valid ORCID with leading/trailing spaces
|
213
|
+
expect(subject.creators[10]["nameIdentifiers"]).to eq([{"nameIdentifier"=>"https://orcid.org/0000-0001-9998-0117", "schemeUri"=>"https://orcid.org", "nameIdentifierScheme"=>"ORCID"}])
|
214
|
+
end
|
215
|
+
|
210
216
|
it "should parse non ROR schema's without normalizing them" do
|
211
217
|
input = fixture_path + 'datacite-example-ROR-nameIdentifiers.xml'
|
212
218
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
@@ -250,4 +256,4 @@ describe Bolognese::Metadata, vcr: true do
|
|
250
256
|
expect(response).to eq("Matt Jones and Peter Slaughter and {University of California, Santa Barbara}")
|
251
257
|
end
|
252
258
|
end
|
253
|
-
end
|
259
|
+
end
|
@@ -43,6 +43,14 @@
|
|
43
43
|
<creatorName nameType="Personal">Mike B</creatorName>
|
44
44
|
<nameIdentifier nameIdentifierScheme="ORCID"> 0000-0001-9998-0118 </nameIdentifier>
|
45
45
|
</creator>
|
46
|
+
<creator>
|
47
|
+
<creatorName nameType="Organizational">Gump South Pacific Research Station</creatorName>
|
48
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="https://ror.org/">https://ror.org/04sk0et52/</nameIdentifier>
|
49
|
+
</creator>
|
50
|
+
<creator>
|
51
|
+
<creatorName nameType="Personal">Ashwini Sukale</creatorName>
|
52
|
+
<nameIdentifier schemeURI="https://orcid.org/" nameIdentifierScheme="ORCID">https://orcid.org/0000-0001-9998-0117/</nameIdentifier>
|
53
|
+
</creator>
|
46
54
|
</creators>
|
47
55
|
<titles>
|
48
56
|
<title xml:lang="en-US">Genomic Standards Consortium (GSC) Island Sampling Day: Moorea Reef to Ridges Genomic Transect</title>
|
@@ -18,9 +18,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
18
18
|
"rightsIdentifierScheme"=>"SPDX",
|
19
19
|
"rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
|
20
20
|
"schemeUri"=>"https://spdx.org/licenses/"}])
|
21
|
-
|
22
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"eLife Sciences Publications, Ltd"})
|
23
|
-
expect(datacite.fetch("publisher")).to eq("eLife Sciences Publications, Ltd")
|
21
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"eLife Sciences Publications, Ltd"})
|
24
22
|
end
|
25
23
|
|
26
24
|
it "with ORCID ID" do
|
@@ -31,9 +29,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
31
29
|
expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
32
30
|
expect(datacite.fetch("creators").length).to eq(7)
|
33
31
|
expect(datacite.fetch("creators").first).to eq("nameType"=>"Personal", "name"=>"Thanassi, Wendy", "givenName"=>"Wendy", "familyName"=>"Thanassi", "affiliation" => [{"name"=>"Department of Medicine, Veterans Affairs Palo Alto Health Care System, 3801 Miranda Avenue MC-, Palo Alto, CA 94304-1207, USA"}, {"name"=>"Occupational Health Strategic Health Care Group, Office of Public Health, Veterans Health Administration, Washington, DC 20006, USA"}, {"name"=>"Division of Emergency Medicine, Stanford University School of Medicine, Stanford, CA 94304, USA"}, {"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}])
|
34
|
-
|
35
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"Hindawi Limited"})
|
36
|
-
expect(datacite.fetch("publisher")).to eq("Hindawi Limited")
|
32
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"Hindawi Limited"})
|
37
33
|
end
|
38
34
|
|
39
35
|
it "Crossref DOI" do
|
@@ -45,9 +41,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
45
41
|
expect(datacite.dig("descriptions", 0, "description")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
46
42
|
expect(datacite.fetch("creators").length).to eq(5)
|
47
43
|
expect(datacite.fetch("creators").first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar")
|
48
|
-
|
49
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"{eLife} Sciences Organisation, Ltd."})
|
50
|
-
expect(datacite.fetch("publisher")).to eq("{eLife} Sciences Organisation, Ltd.")
|
44
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"{eLife} Sciences Organisation, Ltd."})
|
51
45
|
end
|
52
46
|
|
53
47
|
it "BlogPosting Citeproc JSON" do
|
@@ -58,9 +52,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
58
52
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
59
53
|
expect(datacite.dig("descriptions", 0, "description")).to start_with("Eating your own dog food")
|
60
54
|
expect(datacite.fetch("creators")).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Fenner, Martin"}])
|
61
|
-
|
62
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
63
|
-
expect(datacite.fetch("publisher")).to eq("DataCite")
|
55
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
64
56
|
end
|
65
57
|
|
66
58
|
it "rdataone" do
|
@@ -72,9 +64,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
72
64
|
expect(datacite.fetch("creators").first).to eq("affiliation"=>[{"name"=>"NCEAS"}], "nameType"=>"Personal", "name" => "Jones, Matt",
|
73
65
|
"nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-0077-4738", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "givenName"=>"Matt", "familyName"=>"Jones")
|
74
66
|
expect(datacite.fetch("version")).to eq("2.0.0")
|
75
|
-
|
76
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"https://cran.r-project.org"})
|
77
|
-
expect(datacite.fetch("publisher")).to eq("https://cran.r-project.org")
|
67
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"https://cran.r-project.org"})
|
78
68
|
end
|
79
69
|
|
80
70
|
it "maremma" do
|
@@ -90,9 +80,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
90
80
|
[{"nameIdentifier"=>"https://orcid.org/0000-0003-0077-4738",
|
91
81
|
"nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
|
92
82
|
"nameType"=>"Personal"}])
|
93
|
-
|
94
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
95
|
-
expect(datacite.fetch("publisher")).to eq("DataCite")
|
83
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
96
84
|
end
|
97
85
|
|
98
86
|
it "with data citation schema.org" do
|
@@ -103,26 +91,22 @@ describe Bolognese::Metadata, vcr: true do
|
|
103
91
|
expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
|
104
92
|
expect(datacite.fetch("relatedIdentifiers").count).to eq(3)
|
105
93
|
expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
|
106
|
-
|
107
|
-
# expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
108
|
-
expect(datacite.fetch("publisher")).to eq("DataCite")
|
94
|
+
expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
|
109
95
|
end
|
110
96
|
|
111
97
|
it "DataCite DOI with Schema 4.5 publisher attributes" do
|
112
98
|
input = fixture_path + "datacite-example-full-v4.5.xml"
|
113
99
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
114
100
|
datacite = JSON.parse(subject.datacite_json)
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
# )
|
125
|
-
expect(datacite.fetch("publisher")).to eq("Example Publisher")
|
101
|
+
expect(datacite.fetch("publisher")).to eq(
|
102
|
+
{
|
103
|
+
"name" => "Example Publisher",
|
104
|
+
"publisherIdentifier" => "https://ror.org/04z8jg394",
|
105
|
+
"publisherIdentifierScheme" => "ROR",
|
106
|
+
"schemeUri" => "https://ror.org/",
|
107
|
+
"lang" => "en",
|
108
|
+
},
|
109
|
+
)
|
126
110
|
end
|
127
111
|
end
|
128
112
|
end
|
metadata
CHANGED
@@ -1,55 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.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: 2024-
|
11
|
+
date: 2024-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 4.9.4
|
20
|
-
- - "<"
|
17
|
+
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: '5'
|
19
|
+
version: '5.0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 4.9.4
|
30
|
-
- - "<"
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version: '5'
|
26
|
+
version: '5.0'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: nokogiri
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "
|
31
|
+
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: 1.
|
40
|
-
- - "
|
33
|
+
version: '1.16'
|
34
|
+
- - ">="
|
41
35
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
36
|
+
version: 1.16.2
|
43
37
|
type: :runtime
|
44
38
|
prerelease: false
|
45
39
|
version_requirements: !ruby/object:Gem::Requirement
|
46
40
|
requirements:
|
47
|
-
- - "
|
41
|
+
- - "~>"
|
48
42
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.
|
50
|
-
- - "
|
43
|
+
version: '1.16'
|
44
|
+
- - ">="
|
51
45
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
46
|
+
version: 1.16.2
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: loofah
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1322,14 +1316,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1322
1316
|
requirements:
|
1323
1317
|
- - ">="
|
1324
1318
|
- !ruby/object:Gem::Version
|
1325
|
-
version: '
|
1319
|
+
version: '3.0'
|
1326
1320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1327
1321
|
requirements:
|
1328
1322
|
- - ">="
|
1329
1323
|
- !ruby/object:Gem::Version
|
1330
1324
|
version: '0'
|
1331
1325
|
requirements: []
|
1332
|
-
rubygems_version: 3.
|
1326
|
+
rubygems_version: 3.3.26
|
1333
1327
|
signing_key:
|
1334
1328
|
specification_version: 4
|
1335
1329
|
summary: Ruby client library for conversion of DOI Metadata
|