relaton-nist 0.3.1 → 0.3.6
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/Gemfile.lock +8 -8
- data/README.adoc +1 -1
- data/lib/relaton_nist.rb +4 -20
- data/lib/relaton_nist/comment_period.rb +8 -0
- data/lib/relaton_nist/hit.rb +1 -30
- data/lib/relaton_nist/hit_collection.rb +54 -58
- data/lib/relaton_nist/keyword.rb +7 -0
- data/lib/relaton_nist/nist_bibliographic_item.rb +10 -2
- data/lib/relaton_nist/nist_bibliography.rb +4 -8
- data/lib/relaton_nist/processor.rb +33 -0
- data/lib/relaton_nist/scrapper.rb +8 -9
- data/lib/relaton_nist/version.rb +1 -1
- metadata +3 -3
- data/lib/relaton/processor.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0ebd9e2599158190bfb80e6afd267317b5ad57e
|
4
|
+
data.tar.gz: ea4a05288f2669b237abb5a7c0b0da28fd51b796
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f65f7eb84352872c0f2752bd7c237c3d47691d09d35612819dc0f03fccf91c209e7372f4829f6db1763e511d6ac25b57a24a0513b97e226799e0bd2bda4af64
|
7
|
+
data.tar.gz: 47cd0da6fdc82293626b4546bcf92dbdd0000e1b3914c96bc5948ff711b99433da98061efb82b766366246d381c587020e77452f0492cb9ceb35f8533f2e8de1
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
relaton-nist (0.3.
|
4
|
+
relaton-nist (0.3.6)
|
5
5
|
relaton-bib (~> 0.3.0)
|
6
6
|
rubyzip
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
byebug (11.0.1)
|
14
14
|
coderay (1.1.2)
|
15
15
|
crack (0.4.3)
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
json (2.2.0)
|
26
26
|
method_source (0.9.2)
|
27
27
|
mini_portile2 (2.4.0)
|
28
|
-
nokogiri (1.10.
|
28
|
+
nokogiri (1.10.4)
|
29
29
|
mini_portile2 (~> 2.4.0)
|
30
30
|
pry (0.12.2)
|
31
31
|
coderay (~> 1.1.0)
|
@@ -33,11 +33,11 @@ GEM
|
|
33
33
|
pry-byebug (3.7.0)
|
34
34
|
byebug (~> 11.0)
|
35
35
|
pry (~> 0.10)
|
36
|
-
public_suffix (
|
36
|
+
public_suffix (4.0.1)
|
37
37
|
rake (10.5.0)
|
38
|
-
relaton-bib (0.3.
|
38
|
+
relaton-bib (0.3.9)
|
39
39
|
addressable
|
40
|
-
nokogiri
|
40
|
+
nokogiri
|
41
41
|
rspec (3.8.0)
|
42
42
|
rspec-core (~> 3.8.0)
|
43
43
|
rspec-expectations (~> 3.8.0)
|
@@ -53,7 +53,7 @@ GEM
|
|
53
53
|
rspec-support (3.8.2)
|
54
54
|
ruby-debug-ide (0.7.0)
|
55
55
|
rake (>= 0.8.1)
|
56
|
-
rubyzip (
|
56
|
+
rubyzip (2.0.0)
|
57
57
|
safe_yaml (1.0.5)
|
58
58
|
simplecov (0.16.1)
|
59
59
|
docile (~> 1.1)
|
data/README.adoc
CHANGED
data/lib/relaton_nist.rb
CHANGED
@@ -1,27 +1,11 @@
|
|
1
1
|
require "relaton_nist/version"
|
2
2
|
require "relaton_nist/nist_bibliography"
|
3
3
|
|
4
|
-
if defined? Relaton
|
5
|
-
|
6
|
-
|
7
|
-
end
|
4
|
+
# if defined? Relaton
|
5
|
+
# require_relative "relaton/processor"
|
6
|
+
# Relaton::Registry.instance.register(Relaton::RelatonNist::Processor)
|
7
|
+
# end
|
8
8
|
|
9
9
|
module RelatonNist
|
10
10
|
class Error < StandardError; end
|
11
|
-
|
12
|
-
class << self
|
13
|
-
# @param date [String]
|
14
|
-
# @return [Date, NilClass]
|
15
|
-
def parse_date(sdate)
|
16
|
-
if /(?<date>\w+\s\d{4})/ =~ sdate # February 2012
|
17
|
-
Date.strptime(date, "%B %Y")
|
18
|
-
elsif /(?<date>\w+\s\d{1,2},\s\d{4})/ =~ sdate # February 11, 2012
|
19
|
-
Date.strptime(date, "%B %d, %Y")
|
20
|
-
elsif /(?<date>\d{4}-\d{2}-\d{2})/ =~ sdate # 2012-02-11
|
21
|
-
Date.parse(date)
|
22
|
-
elsif /(?<date>\d{4}-\d{2})/ =~ sdate # 2012-02
|
23
|
-
Date.strptime date, "%Y-%m"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
11
|
end
|
@@ -26,5 +26,13 @@ module RelatonNist
|
|
26
26
|
builder.extended extended.to_s if extended
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
# @return [Hash]
|
31
|
+
def to_hash
|
32
|
+
hash = { "from" => from.to_s }
|
33
|
+
hash["to"] = to.to_s if to
|
34
|
+
hash["extended"] = extended.to_s if extended
|
35
|
+
hash
|
36
|
+
end
|
29
37
|
end
|
30
38
|
end
|
data/lib/relaton_nist/hit.rb
CHANGED
@@ -2,45 +2,16 @@
|
|
2
2
|
|
3
3
|
module RelatonNist
|
4
4
|
# Hit.
|
5
|
-
class Hit
|
5
|
+
class Hit < RelatonBib::Hit
|
6
6
|
# @return [RelatonNist::HitCollection]
|
7
7
|
attr_reader :hit_collection
|
8
8
|
|
9
|
-
# @return [Array<Hash>]
|
10
|
-
attr_reader :hit
|
11
|
-
|
12
|
-
# @param hit [Hash]
|
13
|
-
# @param hit_collection [RelatonNist:HitCollection]
|
14
|
-
def initialize(hit, hit_collection = nil)
|
15
|
-
@hit = hit
|
16
|
-
@hit_collection = hit_collection
|
17
|
-
end
|
18
|
-
|
19
9
|
# Parse page.
|
20
10
|
# @return [RelatonNist::NistBliographicItem]
|
21
11
|
def fetch
|
22
12
|
@fetch ||= Scrapper.parse_page @hit
|
23
13
|
end
|
24
14
|
|
25
|
-
# @return [String]
|
26
|
-
def to_s
|
27
|
-
inspect
|
28
|
-
end
|
29
|
-
|
30
|
-
# @return [String]
|
31
|
-
def inspect
|
32
|
-
"<#{self.class}:#{format('%#.14x', object_id << 1)} "\
|
33
|
-
"@text=\"#{@hit_collection&.text}\" "\
|
34
|
-
"@fetched=\"#{!@fetch.nil?}\" "\
|
35
|
-
"@fullIdentifier=\"#{@fetch&.shortref(nil)}\" "\
|
36
|
-
"@title=\"#{@hit[:code]}\">"
|
37
|
-
end
|
38
|
-
|
39
|
-
# @return [String]
|
40
|
-
def to_xml(**opts)
|
41
|
-
fetch.to_xml **opts
|
42
|
-
end
|
43
|
-
|
44
15
|
# @return [Iteger]
|
45
16
|
def sort_value
|
46
17
|
@sort_value ||= begin
|
@@ -8,19 +8,10 @@ require "open-uri"
|
|
8
8
|
|
9
9
|
module RelatonNist
|
10
10
|
# Page of hit collection.
|
11
|
-
class HitCollection <
|
11
|
+
class HitCollection < RelatonBib::HitCollection
|
12
12
|
DOMAIN = "https://csrc.nist.gov"
|
13
13
|
DATAFILE = File.expand_path "data/pubs-export.zip", __dir__
|
14
14
|
|
15
|
-
# @return [TrueClass, FalseClass]
|
16
|
-
attr_reader :fetched
|
17
|
-
|
18
|
-
# @return [String]
|
19
|
-
attr_reader :text
|
20
|
-
|
21
|
-
# @return [String]
|
22
|
-
attr_reader :year
|
23
|
-
|
24
15
|
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
25
16
|
|
26
17
|
# @param ref_nbr [String]
|
@@ -46,28 +37,6 @@ module RelatonNist
|
|
46
37
|
end
|
47
38
|
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
48
39
|
|
49
|
-
# @return [Iecbib::HitCollection]
|
50
|
-
def fetch
|
51
|
-
workers = RelatonBib::WorkersPool.new 4
|
52
|
-
workers.worker(&:fetch)
|
53
|
-
each do |hit|
|
54
|
-
workers << hit
|
55
|
-
end
|
56
|
-
workers.end
|
57
|
-
workers.result
|
58
|
-
@fetched = true
|
59
|
-
self
|
60
|
-
end
|
61
|
-
|
62
|
-
def to_s
|
63
|
-
inspect
|
64
|
-
end
|
65
|
-
|
66
|
-
# @return [String]
|
67
|
-
def inspect
|
68
|
-
"<#{self.class}:#{format('%#.14x', object_id << 1)} @fetched=#{@fetched}>"
|
69
|
-
end
|
70
|
-
|
71
40
|
private
|
72
41
|
|
73
42
|
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
@@ -107,50 +76,78 @@ module RelatonNist
|
|
107
76
|
)
|
108
77
|
end
|
109
78
|
end
|
79
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
110
80
|
|
111
81
|
# Fetches data form json
|
112
82
|
# @param docid [String]
|
83
|
+
# @param stage [String]
|
84
|
+
# @return [Array<RelatonNist::Hit>]
|
113
85
|
def from_json(docid, **opts)
|
86
|
+
select_data(docid, **opts).map do |h|
|
87
|
+
/(?<serie>(?<=-)\w+$)/ =~ h["series"]
|
88
|
+
title = [h["title-main"], h["title-sub"]].compact.join " - "
|
89
|
+
release_date = RelatonBib.parse_date h["published-date"]
|
90
|
+
Hit.new({ code: h["docidentifier"], serie: serie.upcase, title: title,
|
91
|
+
url: h["uri"], status: h["status"],
|
92
|
+
release_date: release_date, json: h }, self)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
# @param docid [String]
|
97
|
+
# @param stage [String]
|
98
|
+
# @return [Array<Hach>]
|
99
|
+
def select_data(docid, **opts)
|
100
|
+
d = Date.strptime year, "%Y" if year
|
114
101
|
data.select do |doc|
|
115
|
-
|
116
|
-
|
117
|
-
idate = RelatonNist.parse_date doc["issued-date"]
|
118
|
-
next unless idate.between? d, d.next_year.prev_day
|
119
|
-
end
|
102
|
+
next unless match_year?(doc, d)
|
103
|
+
|
120
104
|
if /PD/ =~ opts[:stage]
|
121
105
|
next unless %w[draft-public draft-prelim].include? doc["status"]
|
122
106
|
else
|
123
107
|
next unless doc["status"] == "final"
|
124
108
|
end
|
125
109
|
doc["docidentifier"] =~ Regexp.new(docid)
|
126
|
-
end.map do |h|
|
127
|
-
/(?<serie>(?<=-)\w+$)/ =~ h["series"]
|
128
|
-
title = [h["title-main"], h["title-sub"]].compact.join " - "
|
129
|
-
release_date = RelatonNist.parse_date h["published-date"]
|
130
|
-
Hit.new(
|
131
|
-
{
|
132
|
-
code: h["docidentifier"], serie: serie.upcase, title: title,
|
133
|
-
url: h["uri"], status: h["status"], release_date: release_date,
|
134
|
-
json: h
|
135
|
-
}, self
|
136
|
-
)
|
137
110
|
end
|
138
111
|
end
|
139
112
|
|
140
|
-
#
|
113
|
+
# @param doc [Hash]
|
114
|
+
# @param date [Date] first day of year
|
115
|
+
# @return [TrueClass, FalseClass]
|
116
|
+
def match_year?(doc, date)
|
117
|
+
return true unless year
|
118
|
+
|
119
|
+
idate = RelatonBib.parse_date doc["issued-date"]
|
120
|
+
idate.between? date, date.next_year.prev_day
|
121
|
+
end
|
122
|
+
|
123
|
+
# Fetches json data form server
|
141
124
|
# @return [Hash]
|
142
125
|
def data
|
143
126
|
ctime = File.ctime DATAFILE if File.exist? DATAFILE
|
144
127
|
if !ctime || ctime.to_date < Date.today
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
128
|
+
fetch_data(ctime)
|
129
|
+
end
|
130
|
+
unzip
|
131
|
+
end
|
132
|
+
|
133
|
+
# Fetch data form server and save it to file
|
134
|
+
#
|
135
|
+
# @prarm ctime [Time, NilClass]
|
136
|
+
def fetch_data(ctime)
|
137
|
+
resp = OpenURI.open_uri("https://csrc.nist.gov/CSRC/media/feeds/metanorma/pubs-export.meta")
|
138
|
+
if !ctime || ctime < resp.last_modified
|
139
|
+
@data = nil
|
140
|
+
zip = OpenURI.open_uri "https://csrc.nist.gov/CSRC/media/feeds/metanorma/pubs-export.zip"
|
141
|
+
zip.close
|
142
|
+
FileUtils.mv zip.path, DATAFILE
|
152
143
|
end
|
153
|
-
|
144
|
+
end
|
145
|
+
|
146
|
+
# upack zip file
|
147
|
+
#
|
148
|
+
# @return [Hash]
|
149
|
+
def unzip
|
150
|
+
return @data if @data
|
154
151
|
|
155
152
|
Zip::File.open(DATAFILE) do |zf|
|
156
153
|
zf.each do |f|
|
@@ -160,6 +157,5 @@ module RelatonNist
|
|
160
157
|
end
|
161
158
|
@data
|
162
159
|
end
|
163
|
-
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
164
160
|
end
|
165
161
|
end
|
data/lib/relaton_nist/keyword.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module RelatonNist
|
2
2
|
class Keyword
|
3
|
+
include RelatonBib
|
4
|
+
|
3
5
|
# @return [Nokogiri::XML::DocumentFragment]
|
4
6
|
attr_reader :element
|
5
7
|
|
@@ -12,5 +14,10 @@ module RelatonNist
|
|
12
14
|
def to_xml(builder)
|
13
15
|
builder.keyword element.to_xml
|
14
16
|
end
|
17
|
+
|
18
|
+
# @return [String]
|
19
|
+
def to_hash
|
20
|
+
element.text
|
21
|
+
end
|
15
22
|
end
|
16
23
|
end
|
@@ -6,7 +6,7 @@ module RelatonNist
|
|
6
6
|
# @return [Array<RelatonNist::Keyword>]
|
7
7
|
attr_reader :keyword
|
8
8
|
|
9
|
-
# @return [RelatonNist::CommentPeriod]
|
9
|
+
# @return [RelatonNist::CommentPeriod, NilClass]
|
10
10
|
attr_reader :commentperiod
|
11
11
|
|
12
12
|
# @param id [String, NilClass]
|
@@ -31,7 +31,7 @@ module RelatonNist
|
|
31
31
|
# @param fetched [Date, NilClass] default nil
|
32
32
|
# @param doctype [String]
|
33
33
|
# @param keyword [Array<RelatonNist::Keyword>]
|
34
|
-
# @param commentperiod [RelatonNist::CommentPeriod]
|
34
|
+
# @param commentperiod [RelatonNist::CommentPeriod, NilClass]
|
35
35
|
#
|
36
36
|
# @param date [Array<Hash>]
|
37
37
|
# @option date [String] :type
|
@@ -74,5 +74,13 @@ module RelatonNist
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
77
|
+
|
78
|
+
# @return [Hash]
|
79
|
+
def to_hash
|
80
|
+
hash = super
|
81
|
+
hash["keyword"] = single_element_array(keyword) if keyword&.any?
|
82
|
+
hash["commentperiod"] = commentperiod.to_hash if commentperiod
|
83
|
+
hash
|
84
|
+
end
|
77
85
|
end
|
78
86
|
end
|
@@ -15,7 +15,7 @@ module RelatonNist
|
|
15
15
|
# @return [RelatonNist::HitCollection]
|
16
16
|
def search(text, year = nil, opts = {})
|
17
17
|
HitCollection.new text, year, opts
|
18
|
-
rescue OpenURI::HTTPError, SocketError
|
18
|
+
rescue OpenURI::HTTPError, SocketError, OpenSSL::SSL::SSLError
|
19
19
|
raise RelatonBib::RequestError, "Could not access https://www.nist.gov"
|
20
20
|
end
|
21
21
|
|
@@ -34,9 +34,9 @@ module RelatonNist
|
|
34
34
|
code = code2.strip
|
35
35
|
if date2
|
36
36
|
if /\w+\s\d{4}/ =~ date2
|
37
|
-
opts[:issued_date] =
|
37
|
+
opts[:issued_date] = Date.strptime date2, "%B %Y"
|
38
38
|
elsif /\w+\s\d{2},\s\d{4}/ =~ date2
|
39
|
-
opts[:updated_date] =
|
39
|
+
opts[:updated_date] = Date.strptime date2, "%B %d, %Y"
|
40
40
|
end
|
41
41
|
end
|
42
42
|
opts[:stage] = stage if stage
|
@@ -51,11 +51,7 @@ module RelatonNist
|
|
51
51
|
end
|
52
52
|
|
53
53
|
code += "-1" if opts[:all_parts]
|
54
|
-
|
55
|
-
# return nil if ret.nil?
|
56
|
-
# ret.to_most_recent_reference unless year || opts[:keep_year]
|
57
|
-
# ret.to_all_parts if opts[:all_parts]
|
58
|
-
ret
|
54
|
+
nistbib_get1(code, year, opts)
|
59
55
|
end
|
60
56
|
|
61
57
|
private
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "relaton/processor"
|
2
|
+
|
3
|
+
module RelatonNist
|
4
|
+
class Processor < Relaton::Processor
|
5
|
+
def initialize
|
6
|
+
@short = :relaton_nist
|
7
|
+
@prefix = "NIST"
|
8
|
+
@defaultprefix = %r{^(NIST|NISTGCR|ITL Bulletin|JPCRD|NISTIR|CSRC)[ /]}
|
9
|
+
@idtype = "NIST"
|
10
|
+
end
|
11
|
+
|
12
|
+
# @param code [String]
|
13
|
+
# @param date [String, NilClass] year
|
14
|
+
# @param opts [Hash]
|
15
|
+
# @return [RelatonNist::GbBibliographicItem]
|
16
|
+
def get(code, date = nil, opts = {})
|
17
|
+
::RelatonNist::NistBibliography.get(code, date, opts)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @param xml [String]
|
21
|
+
# @return [RelatonNist::GbBibliographicItem]
|
22
|
+
def from_xml(xml)
|
23
|
+
::RelatonNist::XMLParser.from_xml xml
|
24
|
+
end
|
25
|
+
|
26
|
+
# @param hash [Hash]
|
27
|
+
# @return [RelatonNist::GbBibliographicItem]
|
28
|
+
def hash_to_bib(hash)
|
29
|
+
item_hash = ::RelatonNist::HashConverter.hash_to_bib(hash)
|
30
|
+
::RelatonNist::NistBibliographicItem.new item_hash
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -44,11 +44,9 @@ module RelatonNist
|
|
44
44
|
edition: fetch_edition(json),
|
45
45
|
language: [json["language"]],
|
46
46
|
script: [json["script"]],
|
47
|
-
# abstract: fetch_abstract(doc),
|
48
47
|
docstatus: fetch_status(json, hit_data[:status]),
|
49
48
|
copyright: fetch_copyright(json["published-date"]),
|
50
49
|
relation: fetch_relations_json(json),
|
51
|
-
# series: fetch_series(json),
|
52
50
|
keyword: fetch_keywords(json),
|
53
51
|
commentperiod: fetch_commentperiod_json(json),
|
54
52
|
}
|
@@ -91,7 +89,8 @@ module RelatonNist
|
|
91
89
|
resp = Net::HTTP.get_response(uri) # .encode("UTF-8")
|
92
90
|
Nokogiri::HTML(resp.body)
|
93
91
|
rescue SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
94
|
-
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError
|
92
|
+
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError,
|
93
|
+
OpenSSL::SSL::SSLError
|
95
94
|
raise RelatonBib::RequestError, "Could not access #{url}"
|
96
95
|
end
|
97
96
|
|
@@ -178,14 +177,14 @@ module RelatonNist
|
|
178
177
|
dates = [{ type: "published", on: release_date.to_s }]
|
179
178
|
|
180
179
|
if doc.is_a? Hash
|
181
|
-
issued =
|
182
|
-
updated =
|
180
|
+
issued = RelatonBib.parse_date doc["issued-date"]
|
181
|
+
updated = RelatonBib.parse_date doc["updated-date"]
|
183
182
|
dates << { type: "updated", on: updated.to_s } if updated
|
184
|
-
obsoleted =
|
183
|
+
obsoleted = RelatonBib.parse_date doc["obsoleted-date"]
|
185
184
|
dates << { type: "obsoleted", on: obsoleted.to_s } if obsoleted
|
186
185
|
else
|
187
186
|
d = doc.at("//span[@id='pub-release-date']").text.strip
|
188
|
-
issued =
|
187
|
+
issued = RelatonBib.parse_date d
|
189
188
|
end
|
190
189
|
dates << { type: "issued", on: issued.to_s }
|
191
190
|
dates
|
@@ -230,7 +229,7 @@ module RelatonNist
|
|
230
229
|
)
|
231
230
|
end
|
232
231
|
if contr["surname"]
|
233
|
-
affiliation = RelatonBib::Affilation.new org
|
232
|
+
affiliation = RelatonBib::Affilation.new organization: org
|
234
233
|
entity = RelatonBib::Person.new(
|
235
234
|
name: full_name(contr, lang, script), affiliation: [affiliation],
|
236
235
|
)
|
@@ -266,7 +265,7 @@ module RelatonNist
|
|
266
265
|
url = nil
|
267
266
|
end
|
268
267
|
org = RelatonBib::Organization.new name: org_name, url: url, abbreviation: abbrev
|
269
|
-
affiliation = RelatonBib::Affilation.new org
|
268
|
+
affiliation = RelatonBib::Affilation.new organization: org
|
270
269
|
entity = RelatonBib::Person.new(
|
271
270
|
name: fullname, affiliation: [affiliation],
|
272
271
|
)
|
data/lib/relaton_nist/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-nist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -211,7 +211,6 @@ files:
|
|
211
211
|
- appveyor.yml
|
212
212
|
- bin/console
|
213
213
|
- bin/setup
|
214
|
-
- lib/relaton/processor.rb
|
215
214
|
- lib/relaton_nist.rb
|
216
215
|
- lib/relaton_nist/comment_period.rb
|
217
216
|
- lib/relaton_nist/data/pubs-export.zip
|
@@ -222,6 +221,7 @@ files:
|
|
222
221
|
- lib/relaton_nist/keyword.rb
|
223
222
|
- lib/relaton_nist/nist_bibliographic_item.rb
|
224
223
|
- lib/relaton_nist/nist_bibliography.rb
|
224
|
+
- lib/relaton_nist/processor.rb
|
225
225
|
- lib/relaton_nist/scrapper.rb
|
226
226
|
- lib/relaton_nist/version.rb
|
227
227
|
- lib/relaton_nist/xml_parser.rb
|
data/lib/relaton/processor.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require "relaton/processor"
|
2
|
-
|
3
|
-
module Relaton
|
4
|
-
module RelatonNist
|
5
|
-
class Processor < Relaton::Processor
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@short = :relaton_nist
|
9
|
-
@prefix = "NIST"
|
10
|
-
@defaultprefix = %r{^(NIST|NISTGCR|ITL Bulletin|JPCRD|NISTIR|CSRC)[ /]}
|
11
|
-
@idtype = "NIST"
|
12
|
-
end
|
13
|
-
|
14
|
-
def get(code, date = nil, opts = {})
|
15
|
-
::RelatonNist::NistBibliography.get(code, date, opts)
|
16
|
-
end
|
17
|
-
|
18
|
-
def from_xml(xml)
|
19
|
-
::RelatonNist::XMLParser.from_xml xml
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|