relaton-oasis 1.14.2 → 1.14.4
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/.github/workflows/rake.yml +1 -0
- data/.github/workflows/release.yml +3 -2
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/Gemfile +8 -1
- data/README.adoc +1 -1
- data/grammars/basicdoc.rng +0 -1
- data/grammars/biblio.rng +12 -2
- data/lib/relaton_oasis/data_fetcher.rb +3 -0
- data/lib/relaton_oasis/oasis_bibliography.rb +8 -3
- data/lib/relaton_oasis/processor.rb +7 -0
- data/lib/relaton_oasis/version.rb +1 -1
- data/lib/relaton_oasis.rb +1 -0
- data/relaton_oasis.gemspec +8 -15
- metadata +20 -104
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c3258c1d1302d56309c6e63545e12fb6b8b014b8adbabbfaa3d5ca5c3e282fb3
|
|
4
|
+
data.tar.gz: '09380e04f60fcdd7863098c3ea15cc0ac685fbee7d5055aeaab7cd5b34d284bd'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dd97e71ec0a28bb367e98566fe49e3b167cfab89f7e2b045873065ad8270cbb6c6b28331ff934b4136ac02b83a112d595db5d477ba2618ea42af22e5db80029f
|
|
7
|
+
data.tar.gz: c6c98cdfb711e0464a9bbe51f555625ca53d579190a511055ae4310756a0fc86505c2671c4c029b33a67fbb7fd64eb4083aec124fb488c5f7334073a663fa796
|
data/.github/workflows/rake.yml
CHANGED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -6,7 +6,14 @@ source "https://rubygems.org"
|
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
8
|
gem "rake", "~> 13.0"
|
|
9
|
-
|
|
10
9
|
gem "rspec", "~> 3.0"
|
|
11
10
|
|
|
11
|
+
gem "equivalent-xml", "~> 0.6"
|
|
12
|
+
gem "pry-byebug"
|
|
12
13
|
gem "rubocop", "~> 1.7"
|
|
14
|
+
gem "rubocop-performance"
|
|
15
|
+
gem "rubocop-rails"
|
|
16
|
+
gem "ruby-jing"
|
|
17
|
+
gem "simplecov"
|
|
18
|
+
gem "vcr", "~> 5.0.0"
|
|
19
|
+
gem "webmock"
|
data/README.adoc
CHANGED
|
@@ -32,7 +32,7 @@ Or install it yourself as:
|
|
|
32
32
|
|
|
33
33
|
=== Get standard using reference.
|
|
34
34
|
|
|
35
|
-
All the OASIS documents are parsed from https://www.oasis-open.org/standards/ and stored in a GitHub repository https://github.com/relaton/relaton-data-oasis. You can find all possible references
|
|
35
|
+
All the OASIS documents are parsed from https://www.oasis-open.org/standards/ and stored in a GitHub repository https://github.com/relaton/relaton-data-oasis. You can find all possible references on the index page https://relaton.github.io/relaton-data-oasis/.
|
|
36
36
|
|
|
37
37
|
[source,ruby]
|
|
38
38
|
----
|
data/grammars/basicdoc.rng
CHANGED
data/grammars/biblio.rng
CHANGED
|
@@ -216,6 +216,9 @@
|
|
|
216
216
|
<optional>
|
|
217
217
|
<ref name="fullname"/>
|
|
218
218
|
</optional>
|
|
219
|
+
<zeroOrMore>
|
|
220
|
+
<ref name="credential"/>
|
|
221
|
+
</zeroOrMore>
|
|
219
222
|
<zeroOrMore>
|
|
220
223
|
<ref name="affiliation"/>
|
|
221
224
|
</zeroOrMore>
|
|
@@ -232,6 +235,11 @@
|
|
|
232
235
|
<ref name="FullNameType"/>
|
|
233
236
|
</element>
|
|
234
237
|
</define>
|
|
238
|
+
<define name="credential">
|
|
239
|
+
<element name="credential">
|
|
240
|
+
<text/>
|
|
241
|
+
</element>
|
|
242
|
+
</define>
|
|
235
243
|
<define name="FullNameType">
|
|
236
244
|
<choice>
|
|
237
245
|
<group>
|
|
@@ -305,7 +313,9 @@
|
|
|
305
313
|
<zeroOrMore>
|
|
306
314
|
<ref name="affiliationdescription"/>
|
|
307
315
|
</zeroOrMore>
|
|
308
|
-
<
|
|
316
|
+
<optional>
|
|
317
|
+
<ref name="organization"/>
|
|
318
|
+
</optional>
|
|
309
319
|
</element>
|
|
310
320
|
</define>
|
|
311
321
|
<define name="affiliationname">
|
|
@@ -1316,7 +1326,7 @@
|
|
|
1316
1326
|
<value>commentaryOf</value>
|
|
1317
1327
|
<value>hasCommentary</value>
|
|
1318
1328
|
<value>related</value>
|
|
1319
|
-
<value>
|
|
1329
|
+
<value>hasComplement</value>
|
|
1320
1330
|
<value>complementOf</value>
|
|
1321
1331
|
<value>obsoletes</value>
|
|
1322
1332
|
<value>obsoletedBy</value>
|
|
@@ -12,6 +12,7 @@ module RelatonOasis
|
|
|
12
12
|
@ext = @format.sub(/^bib|^rfc/, "")
|
|
13
13
|
@files = []
|
|
14
14
|
@index = Index.new
|
|
15
|
+
@index1 = Relaton::Index.find_or_create :oasis, file: "index-v1.yaml"
|
|
15
16
|
end
|
|
16
17
|
|
|
17
18
|
#
|
|
@@ -42,6 +43,7 @@ module RelatonOasis
|
|
|
42
43
|
fetch_parts item
|
|
43
44
|
end
|
|
44
45
|
@index.save
|
|
46
|
+
@index1.save
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
#
|
|
@@ -76,6 +78,7 @@ module RelatonOasis
|
|
|
76
78
|
@files << file
|
|
77
79
|
@index[doc] = file
|
|
78
80
|
end
|
|
81
|
+
@index1.add_or_update doc.docnumber, file
|
|
79
82
|
File.write file, c, encoding: "UTF-8"
|
|
80
83
|
end
|
|
81
84
|
|
|
@@ -3,21 +3,26 @@
|
|
|
3
3
|
module RelatonOasis
|
|
4
4
|
# Class methods for search Cenelec standards.
|
|
5
5
|
class OasisBibliography
|
|
6
|
-
ENDPOINT = "https://raw.githubusercontent.com/relaton/relaton-data-oasis/main/
|
|
6
|
+
ENDPOINT = "https://raw.githubusercontent.com/relaton/relaton-data-oasis/main/"
|
|
7
|
+
INDEX_FILE = "index-v1.yaml"
|
|
7
8
|
|
|
8
9
|
class << self
|
|
9
10
|
# @param text [String]
|
|
10
11
|
# @return [RelatonOasis::HitCollection]
|
|
11
12
|
def search(text, _year = nil)
|
|
12
13
|
/^(?:OASIS\s)?(?<code>.+)/ =~ text
|
|
14
|
+
index = Relaton::Index.find_or_create :oasis, url: "#{ENDPOINT}index-v1.zip", file: INDEX_FILE
|
|
15
|
+
row = index.search(code).min_by { |i| i[:id] }
|
|
16
|
+
return unless row
|
|
17
|
+
|
|
13
18
|
agent = Mechanize.new
|
|
14
|
-
resp = agent.get "#{ENDPOINT}#{
|
|
19
|
+
resp = agent.get "#{ENDPOINT}#{row[:file]}"
|
|
15
20
|
return unless resp.code == "200"
|
|
16
21
|
|
|
17
22
|
hash = YAML.safe_load resp.body
|
|
18
23
|
hash["fetched"] = Date.today.to_s
|
|
19
24
|
OasisBibliographicItem.from_hash hash
|
|
20
|
-
rescue Mechanize::ResponseCodeError => e
|
|
25
|
+
rescue Mechanize::ResponseCodeError, OpenURI::HTTPError => e
|
|
21
26
|
return if e.response_code == "404"
|
|
22
27
|
|
|
23
28
|
raise RelatonBib::RequestError, e.message
|
|
@@ -47,5 +47,12 @@ module RelatonOasis
|
|
|
47
47
|
def grammar_hash
|
|
48
48
|
@grammar_hash ||= ::RelatonOasis.grammar_hash
|
|
49
49
|
end
|
|
50
|
+
|
|
51
|
+
#
|
|
52
|
+
# Remove index file
|
|
53
|
+
#
|
|
54
|
+
def remove_index_file
|
|
55
|
+
Relaton::Index.find_or_create(:oasis, url: true, file: OasisBibliography::INDEX_FILE).remove_file
|
|
56
|
+
end
|
|
50
57
|
end
|
|
51
58
|
end
|
data/lib/relaton_oasis.rb
CHANGED
data/relaton_oasis.gemspec
CHANGED
|
@@ -8,13 +8,13 @@ Gem::Specification.new do |spec|
|
|
|
8
8
|
spec.authors = ["Ribose Inc."]
|
|
9
9
|
spec.email = ["open.source@ribose.com"]
|
|
10
10
|
|
|
11
|
-
spec.summary = "RelatonOasis: retrieve OASIS Standards for
|
|
12
|
-
"using the BibliographicItem model"
|
|
13
|
-
spec.description = "RelatonOasis: retrieve OASIS Standards for
|
|
14
|
-
"using the BibliographicItem model"
|
|
11
|
+
spec.summary = "RelatonOasis: retrieve OASIS Standards for " \
|
|
12
|
+
"bibliographic use using the BibliographicItem model"
|
|
13
|
+
spec.description = "RelatonOasis: retrieve OASIS Standards for " \
|
|
14
|
+
"bibliographic use using the BibliographicItem model"
|
|
15
15
|
spec.homepage = "https://github.com/metanorma/relaton-oasis"
|
|
16
16
|
spec.license = "BSD-2-Clause"
|
|
17
|
-
spec.required_ruby_version = ">= 2.
|
|
17
|
+
spec.required_ruby_version = ">= 2.7.0"
|
|
18
18
|
|
|
19
19
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
|
20
20
|
|
|
@@ -31,17 +31,10 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
32
32
|
spec.require_paths = ["lib"]
|
|
33
33
|
|
|
34
|
-
spec.
|
|
35
|
-
spec.
|
|
36
|
-
spec.add_development_dependency "rubocop-performance"
|
|
37
|
-
spec.add_development_dependency "rubocop-rails"
|
|
38
|
-
spec.add_development_dependency "ruby-jing"
|
|
39
|
-
spec.add_development_dependency "simplecov"
|
|
40
|
-
spec.add_development_dependency "vcr", "~> 5.0.0"
|
|
41
|
-
spec.add_development_dependency "webmock"
|
|
42
|
-
|
|
43
|
-
spec.add_dependency "mechanize"
|
|
34
|
+
spec.add_dependency "mechanize", "~> 2.8.0"
|
|
35
|
+
spec.add_dependency "multi_json", "~> 1.15.0"
|
|
44
36
|
spec.add_dependency "relaton-bib", "~> 1.14.0"
|
|
37
|
+
spec.add_dependency "relaton-index", "~> 0.2.0"
|
|
45
38
|
|
|
46
39
|
# For more information and examples about making a new gem, checkout our
|
|
47
40
|
# guide at: https://bundler.io/guides/creating_gem.html
|
metadata
CHANGED
|
@@ -1,155 +1,71 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relaton-oasis
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.14.
|
|
4
|
+
version: 1.14.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-05-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: mechanize
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
type: :
|
|
19
|
+
version: 2.8.0
|
|
20
|
+
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: pry-byebug
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rubocop-performance
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rubocop-rails
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: ruby-jing
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
26
|
+
version: 2.8.0
|
|
83
27
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: vcr
|
|
28
|
+
name: multi_json
|
|
99
29
|
requirement: !ruby/object:Gem::Requirement
|
|
100
30
|
requirements:
|
|
101
31
|
- - "~>"
|
|
102
32
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
104
|
-
type: :
|
|
33
|
+
version: 1.15.0
|
|
34
|
+
type: :runtime
|
|
105
35
|
prerelease: false
|
|
106
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
37
|
requirements:
|
|
108
38
|
- - "~>"
|
|
109
39
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: webmock
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
40
|
+
version: 1.15.0
|
|
125
41
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
42
|
+
name: relaton-bib
|
|
127
43
|
requirement: !ruby/object:Gem::Requirement
|
|
128
44
|
requirements:
|
|
129
|
-
- - "
|
|
45
|
+
- - "~>"
|
|
130
46
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
47
|
+
version: 1.14.0
|
|
132
48
|
type: :runtime
|
|
133
49
|
prerelease: false
|
|
134
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
51
|
requirements:
|
|
136
|
-
- - "
|
|
52
|
+
- - "~>"
|
|
137
53
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
54
|
+
version: 1.14.0
|
|
139
55
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name: relaton-
|
|
56
|
+
name: relaton-index
|
|
141
57
|
requirement: !ruby/object:Gem::Requirement
|
|
142
58
|
requirements:
|
|
143
59
|
- - "~>"
|
|
144
60
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
61
|
+
version: 0.2.0
|
|
146
62
|
type: :runtime
|
|
147
63
|
prerelease: false
|
|
148
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
65
|
requirements:
|
|
150
66
|
- - "~>"
|
|
151
67
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
68
|
+
version: 0.2.0
|
|
153
69
|
description: 'RelatonOasis: retrieve OASIS Standards for bibliographic use using the
|
|
154
70
|
BibliographicItem model'
|
|
155
71
|
email:
|
|
@@ -202,14 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
202
118
|
requirements:
|
|
203
119
|
- - ">="
|
|
204
120
|
- !ruby/object:Gem::Version
|
|
205
|
-
version: 2.
|
|
121
|
+
version: 2.7.0
|
|
206
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
123
|
requirements:
|
|
208
124
|
- - ">="
|
|
209
125
|
- !ruby/object:Gem::Version
|
|
210
126
|
version: '0'
|
|
211
127
|
requirements: []
|
|
212
|
-
rubygems_version: 3.
|
|
128
|
+
rubygems_version: 3.3.26
|
|
213
129
|
signing_key:
|
|
214
130
|
specification_version: 4
|
|
215
131
|
summary: 'RelatonOasis: retrieve OASIS Standards for bibliographic use using the BibliographicItem
|