relaton-nist 1.14.3 → 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 +9 -0
- data/lib/relaton_nist/data_fetcher.rb +6 -0
- data/lib/relaton_nist/hit_collection.rb +8 -3
- data/lib/relaton_nist/nist_bibliography.rb +1 -1
- data/lib/relaton_nist/processor.rb +7 -0
- data/lib/relaton_nist/version.rb +1 -1
- data/lib/relaton_nist.rb +1 -0
- data/relaton_nist.gemspec +3 -11
- metadata +11 -109
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b6d5fa6a33aea5f2dd4cf62aa71a4da7ab9b41847ac35f35053810cccf2d334a
|
|
4
|
+
data.tar.gz: f38d1704600169333dfbcc8e24f29bbdc93f92f47ded7754f04a4492bd3dd1a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c807912db5bef3e57fc3a70ae862a6f9adca7b884d9174f56457ac28443a6bef6c572b745f5c3df6377313e5140b1a625c546ee9a93eaf050d70ccad4ad351b2
|
|
7
|
+
data.tar.gz: 64a6c9e1f751d6b8bfeae3c22b6fe7197e1d516afda4205dbcaf4cd67381ee6fc95e57865882a916824b6751feec7791138fbffa2d61357fd45e4797c436c35a
|
data/.github/workflows/rake.yml
CHANGED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -2,3 +2,12 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
# Specify your gem's dependencies in relaton_nist.gemspec
|
|
4
4
|
gemspec
|
|
5
|
+
|
|
6
|
+
gem "equivalent-xml", "~> 0.6"
|
|
7
|
+
gem "pry-byebug"
|
|
8
|
+
gem "rake", "~> 13.0"
|
|
9
|
+
gem "rspec", "~> 3.0"
|
|
10
|
+
gem "ruby-jing"
|
|
11
|
+
gem "simplecov"
|
|
12
|
+
gem "vcr"
|
|
13
|
+
gem "webmock"
|
|
@@ -24,6 +24,10 @@ module RelatonNist
|
|
|
24
24
|
@files = []
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
def index
|
|
28
|
+
@index ||= Relaton::Index.find_or_create :nist, file: "index-v1.yaml"
|
|
29
|
+
end
|
|
30
|
+
|
|
27
31
|
def parse_docid(doc) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
|
28
32
|
# case doi
|
|
29
33
|
# when "10.6028/NBS.CIRC.12e2revjune" then doi.sub!("13e", "12e")
|
|
@@ -296,6 +300,7 @@ module RelatonNist
|
|
|
296
300
|
when "xml" then bib.to_xml bibdata: true
|
|
297
301
|
else bib.send "to_#{@format}"
|
|
298
302
|
end
|
|
303
|
+
index.add_or_update bib.docidentifier[0].id, file
|
|
299
304
|
File.write file, output, encoding: "UTF-8"
|
|
300
305
|
end
|
|
301
306
|
|
|
@@ -337,6 +342,7 @@ module RelatonNist
|
|
|
337
342
|
docs.xpath("/body/query/doi_record/report-paper/report-paper_metadata")
|
|
338
343
|
.each { |doc| parse_doc doc }
|
|
339
344
|
|
|
345
|
+
index.save
|
|
340
346
|
t2 = Time.now
|
|
341
347
|
puts "Stopped at: #{t2}"
|
|
342
348
|
puts "Done in: #{(t2 - t1).round} sec."
|
|
@@ -9,7 +9,8 @@ require "open-uri"
|
|
|
9
9
|
module RelatonNist
|
|
10
10
|
# Hit collection.
|
|
11
11
|
class HitCollection < RelatonBib::HitCollection
|
|
12
|
-
GHNISTDATA = "https://raw.githubusercontent.com/relaton/relaton-data-nist/main/
|
|
12
|
+
GHNISTDATA = "https://raw.githubusercontent.com/relaton/relaton-data-nist/main/"
|
|
13
|
+
INDEX_FILE = "index-v1.yaml"
|
|
13
14
|
|
|
14
15
|
#
|
|
15
16
|
# @param [String] text reference
|
|
@@ -186,8 +187,12 @@ module RelatonNist
|
|
|
186
187
|
#
|
|
187
188
|
def from_ga # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
|
188
189
|
ref = full_ref
|
|
189
|
-
fn = ref.gsub(%r{[/\s:.]}, "_").upcase
|
|
190
|
-
|
|
190
|
+
# fn = ref.gsub(%r{[/\s:.]}, "_").upcase
|
|
191
|
+
index = Relaton::Index.find_or_create :nist, url: "#{GHNISTDATA}index-v1.zip", file: INDEX_FILE
|
|
192
|
+
row = index.search { |r| r[:id] == ref }.min_by { |r| r[:id] }
|
|
193
|
+
return [] unless row
|
|
194
|
+
|
|
195
|
+
yaml = OpenURI.open_uri "#{GHNISTDATA}#{row[:file]}"
|
|
191
196
|
hash = YAML.safe_load yaml
|
|
192
197
|
hash["fetched"] = Date.today.to_s
|
|
193
198
|
bib = RelatonNist::NistBibliographicItem.from_hash hash
|
|
@@ -19,7 +19,7 @@ module RelatonNist
|
|
|
19
19
|
# @return [RelatonNist::HitCollection] search result
|
|
20
20
|
#
|
|
21
21
|
def search(text, year = nil, opts = {})
|
|
22
|
-
ref = text.sub(/^
|
|
22
|
+
ref = text.sub(/^NISTIR/, "NIST IR")
|
|
23
23
|
HitCollection.search ref, year, opts
|
|
24
24
|
rescue OpenURI::HTTPError, SocketError, OpenSSL::SSL::SSLError => e
|
|
25
25
|
raise RelatonBib::RequestError, e.message
|
|
@@ -47,5 +47,12 @@ module RelatonNist
|
|
|
47
47
|
def grammar_hash
|
|
48
48
|
@grammar_hash ||= ::RelatonNist.grammar_hash
|
|
49
49
|
end
|
|
50
|
+
|
|
51
|
+
#
|
|
52
|
+
# Remove index file
|
|
53
|
+
#
|
|
54
|
+
def remove_index_file
|
|
55
|
+
Relaton::Index.find_or_create(:nist, url: true, file: HitCollection::INDEX_FILE).remove_file
|
|
56
|
+
end
|
|
50
57
|
end
|
|
51
58
|
end
|
data/lib/relaton_nist/version.rb
CHANGED
data/lib/relaton_nist.rb
CHANGED
data/relaton_nist.gemspec
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
lib = File.expand_path("
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require "relaton_nist/version"
|
|
4
4
|
|
|
@@ -21,17 +21,9 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.bindir = "exe"
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
23
23
|
spec.require_paths = ["lib"]
|
|
24
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
|
25
|
-
|
|
26
|
-
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
|
27
|
-
spec.add_development_dependency "pry-byebug"
|
|
28
|
-
spec.add_development_dependency "rake", "~> 13.0"
|
|
29
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
|
30
|
-
spec.add_development_dependency "ruby-jing"
|
|
31
|
-
spec.add_development_dependency "simplecov"
|
|
32
|
-
spec.add_development_dependency "vcr"
|
|
33
|
-
spec.add_development_dependency "webmock"
|
|
24
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
|
34
25
|
|
|
35
26
|
spec.add_dependency "relaton-bib", "~> 1.14.0"
|
|
27
|
+
spec.add_dependency "relaton-index", "~> 0.2.0"
|
|
36
28
|
spec.add_dependency "rubyzip"
|
|
37
29
|
end
|
metadata
CHANGED
|
@@ -1,141 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relaton-nist
|
|
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-06-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.6'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.6'
|
|
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: rake
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '13.0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '13.0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rspec
|
|
14
|
+
name: relaton-bib
|
|
57
15
|
requirement: !ruby/object:Gem::Requirement
|
|
58
16
|
requirements:
|
|
59
17
|
- - "~>"
|
|
60
18
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
62
|
-
type: :
|
|
19
|
+
version: 1.14.0
|
|
20
|
+
type: :runtime
|
|
63
21
|
prerelease: false
|
|
64
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
23
|
requirements:
|
|
66
24
|
- - "~>"
|
|
67
25
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
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'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: simplecov
|
|
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
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
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'
|
|
26
|
+
version: 1.14.0
|
|
125
27
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: relaton-
|
|
28
|
+
name: relaton-index
|
|
127
29
|
requirement: !ruby/object:Gem::Requirement
|
|
128
30
|
requirements:
|
|
129
31
|
- - "~>"
|
|
130
32
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
33
|
+
version: 0.2.0
|
|
132
34
|
type: :runtime
|
|
133
35
|
prerelease: false
|
|
134
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
37
|
requirements:
|
|
136
38
|
- - "~>"
|
|
137
39
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
40
|
+
version: 0.2.0
|
|
139
41
|
- !ruby/object:Gem::Dependency
|
|
140
42
|
name: rubyzip
|
|
141
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -204,14 +106,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
204
106
|
requirements:
|
|
205
107
|
- - ">="
|
|
206
108
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: 2.
|
|
109
|
+
version: 2.7.0
|
|
208
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
111
|
requirements:
|
|
210
112
|
- - ">="
|
|
211
113
|
- !ruby/object:Gem::Version
|
|
212
114
|
version: '0'
|
|
213
115
|
requirements: []
|
|
214
|
-
rubygems_version: 3.
|
|
116
|
+
rubygems_version: 3.3.26
|
|
215
117
|
signing_key:
|
|
216
118
|
specification_version: 4
|
|
217
119
|
summary: 'RelatonNist: retrive NIST standards.'
|