relaton 3.0.0.pre.alpha.14 → 3.0.0.pre.alpha.15
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/lib/relaton/3gpp/bibliography.rb +7 -2
- data/lib/relaton/3gpp.rb +4 -0
- data/lib/relaton/adobe/bibliography.rb +5 -2
- data/lib/relaton/adobe.rb +4 -0
- data/lib/relaton/bib/model/item_shared.rb +5 -1
- data/lib/relaton/bib/model/localized_string.rb +10 -0
- data/lib/relaton/bipm/bibliography.rb +5 -1
- data/lib/relaton/bipm.rb +4 -0
- data/lib/relaton/calconnect/hit_collection.rb +7 -2
- data/lib/relaton/calconnect.rb +4 -0
- data/lib/relaton/ccsds/hit_collection.rb +5 -1
- data/lib/relaton/ccsds.rb +4 -0
- data/lib/relaton/cie/scrapper.rb +5 -1
- data/lib/relaton/cie.rb +4 -0
- data/lib/relaton/db/cache.rb +10 -5
- data/lib/relaton/db/registry.rb +1 -1
- data/lib/relaton/easc/bibliography.rb +5 -2
- data/lib/relaton/easc.rb +4 -0
- data/lib/relaton/ecma/bibliography.rb +5 -1
- data/lib/relaton/ecma.rb +4 -0
- data/lib/relaton/etsi/bibliography.rb +5 -1
- data/lib/relaton/etsi.rb +4 -0
- data/lib/relaton/evs/bibliography.rb +138 -0
- data/lib/relaton/evs/hit.rb +32 -0
- data/lib/relaton/evs/hit_collection.rb +73 -0
- data/lib/relaton/evs/item_data.rb +7 -0
- data/lib/relaton/evs/model/bibdata.rb +8 -0
- data/lib/relaton/evs/model/bibitem.rb +8 -0
- data/lib/relaton/evs/model/docidentifier.rb +79 -0
- data/lib/relaton/evs/model/ext.rb +12 -0
- data/lib/relaton/evs/model/item.rb +14 -0
- data/lib/relaton/evs/model/structured_identifier.rb +9 -0
- data/lib/relaton/evs/processor.rb +50 -0
- data/lib/relaton/evs/scraper.rb +212 -0
- data/lib/relaton/evs/util.rb +8 -0
- data/lib/relaton/evs.rb +27 -0
- data/lib/relaton/gost/bibliography.rb +5 -2
- data/lib/relaton/gost.rb +4 -0
- data/lib/relaton/iala/bibliography.rb +5 -2
- data/lib/relaton/iala.rb +4 -0
- data/lib/relaton/iana/bibliography.rb +5 -2
- data/lib/relaton/iana.rb +4 -0
- data/lib/relaton/iec/hit_collection.rb +7 -2
- data/lib/relaton/iec.rb +4 -0
- data/lib/relaton/ieee/bibliography.rb +5 -1
- data/lib/relaton/ieee.rb +4 -0
- data/lib/relaton/ietf/scraper.rb +7 -2
- data/lib/relaton/ietf.rb +4 -0
- data/lib/relaton/iho/bibliography.rb +5 -2
- data/lib/relaton/iho/processor.rb +3 -0
- data/lib/relaton/iho.rb +4 -0
- data/lib/relaton/iso/hit_collection.rb +7 -2
- data/lib/relaton/iso.rb +4 -0
- data/lib/relaton/itu/hit_collection.rb +7 -2
- data/lib/relaton/itu/model/ext.rb +10 -0
- data/lib/relaton/itu.rb +4 -0
- data/lib/relaton/jcgm/bibliography.rb +5 -2
- data/lib/relaton/jcgm.rb +4 -0
- data/lib/relaton/nist/hit_collection.rb +20 -1
- data/lib/relaton/oasis/bibliography.rb +5 -2
- data/lib/relaton/oasis.rb +4 -0
- data/lib/relaton/ogc/hit_collection.rb +7 -2
- data/lib/relaton/ogc.rb +4 -0
- data/lib/relaton/oiml/bibliography.rb +5 -2
- data/lib/relaton/oiml.rb +4 -0
- data/lib/relaton/omg/bibliography.rb +40 -2
- data/lib/relaton/omg/scraper.rb +14 -2
- data/lib/relaton/omg.rb +11 -0
- data/lib/relaton/version.rb +1 -1
- data/lib/relaton/xsf/hit_collection.rb +5 -2
- data/lib/relaton/xsf.rb +4 -0
- data/lib/relaton.rb +1 -0
- metadata +18 -4
|
@@ -144,9 +144,14 @@ module Relaton
|
|
|
144
144
|
[year.to_i, month.to_i]
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
+
#
|
|
148
|
+
# The machine index on the Pages site (relaton#206, the W3C pilot's
|
|
149
|
+
# contract): a parsed query reads only its own shard. A Pages failure
|
|
150
|
+
# raises `Relaton::RequestError`; the whole-index zip on the same site
|
|
151
|
+
# serves only the retry on a miss.
|
|
152
|
+
#
|
|
147
153
|
def index
|
|
148
|
-
Relaton::Index.find_or_create :itu,
|
|
149
|
-
file: "#{INDEXFILE}.yaml",
|
|
154
|
+
Relaton::Index.find_or_create :itu, pages_url: PAGES_URL,
|
|
150
155
|
pubid_class: ::Pubid::Itu::Identifier
|
|
151
156
|
end
|
|
152
157
|
|
|
@@ -8,6 +8,14 @@ require_relative "structured_identifier"
|
|
|
8
8
|
module Relaton
|
|
9
9
|
module Itu
|
|
10
10
|
class Ext < Bib::Ext
|
|
11
|
+
# The `<flavor>` element is required by the shared ext grammar, and an
|
|
12
|
+
# ITU record is always flavor "itu" — including a legacy record
|
|
13
|
+
# deserialized before the producers stamped the attribute, which
|
|
14
|
+
# carries nil. The derived attribute keeps the element in the
|
|
15
|
+
# round-tripped XML (a `default:` would be suppressed by the
|
|
16
|
+
# serializer, omitting the element for every record).
|
|
17
|
+
attribute :flavor, :string, method: :itu_flavor
|
|
18
|
+
|
|
11
19
|
attribute :doctype, Doctype
|
|
12
20
|
attribute :structuredidentifier, StructuredIdentifier
|
|
13
21
|
attribute :question, Question, collection: true
|
|
@@ -42,6 +50,8 @@ module Relaton
|
|
|
42
50
|
end
|
|
43
51
|
|
|
44
52
|
def get_schema_version = Relaton.schema_versions["relaton-model-itu"]
|
|
53
|
+
|
|
54
|
+
def itu_flavor = "itu"
|
|
45
55
|
end
|
|
46
56
|
end
|
|
47
57
|
end
|
data/lib/relaton/itu.rb
CHANGED
|
@@ -17,6 +17,10 @@ require_relative "itu/bibliography"
|
|
|
17
17
|
module Relaton
|
|
18
18
|
module Itu
|
|
19
19
|
INDEXFILE = "index-v2"
|
|
20
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
21
|
+
# manifest + per-shard rows read by HitCollection's index; the zip stays
|
|
22
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
23
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-itu/"
|
|
20
24
|
|
|
21
25
|
class Error < StandardError; end
|
|
22
26
|
|
|
@@ -66,10 +66,13 @@ module Relaton
|
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def index
|
|
69
|
+
# The machine index on the Pages site (relaton#206): a parsed query
|
|
70
|
+
# reads only its own shard; a Pages failure raises
|
|
71
|
+
# `Relaton::RequestError`; the whole-index zip on the same site
|
|
72
|
+
# serves only the retry on a miss.
|
|
69
73
|
Relaton::Index.find_or_create(
|
|
70
74
|
:jcgm,
|
|
71
|
-
|
|
72
|
-
file: "#{INDEXFILE}.yaml",
|
|
75
|
+
pages_url: PAGES_URL,
|
|
73
76
|
pubid_class: ::Pubid::Jcgm::Identifier,
|
|
74
77
|
)
|
|
75
78
|
end
|
data/lib/relaton/jcgm.rb
CHANGED
|
@@ -12,6 +12,10 @@ require_relative "jcgm/bibliography"
|
|
|
12
12
|
module Relaton
|
|
13
13
|
module Jcgm
|
|
14
14
|
INDEXFILE = "index-v1".freeze
|
|
15
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
16
|
+
# manifest + per-shard rows read by the consumer's index; the zip stays
|
|
17
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
18
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-jcgm/"
|
|
15
19
|
|
|
16
20
|
class Error < StandardError; end
|
|
17
21
|
|
|
@@ -60,9 +60,16 @@ module Relaton
|
|
|
60
60
|
def search_filter # rubocop:disable Metrics/MethodLength
|
|
61
61
|
refid = ::Pubid::Nist::Identifier.parse(@reference)
|
|
62
62
|
parts = exclude_parts refid
|
|
63
|
+
# A stage-carrying reference matches stage-less rows: the published
|
|
64
|
+
# index has no stage-typed rows for these documents, and the
|
|
65
|
+
# from_ga search already fell back to the base document on the
|
|
66
|
+
# stage-narrowed miss (relaton#146) — so exclude the stage from
|
|
67
|
+
# both sides of the equality, not only from the hits.
|
|
68
|
+
parts << :stage if refid.stage
|
|
69
|
+
compare_refid = refid.stage ? refid.exclude(:stage) : refid
|
|
63
70
|
arr = @array.select do |item|
|
|
64
71
|
pubid = ::Pubid::Nist::Identifier.parse(item.hit[:code])
|
|
65
|
-
pubid.exclude(*parts) ==
|
|
72
|
+
pubid.exclude(*parts) == compare_refid
|
|
66
73
|
rescue StandardError
|
|
67
74
|
item.hit[:code] == ref
|
|
68
75
|
end
|
|
@@ -250,6 +257,18 @@ module Relaton
|
|
|
250
257
|
rows = index.search(r) { |row| row[:id].to_s.include?(needle) }
|
|
251
258
|
.sort_by { |row| row[:id].to_s }
|
|
252
259
|
|
|
260
|
+
if rows.empty? && r.is_a?(::Pubid::Nist::Identifier) && r.stage
|
|
261
|
+
# A stage-carrying reference (the "fpd" of NIST FIPS 197) has no
|
|
262
|
+
# stage-typed row of its own in the published index — the data repo
|
|
263
|
+
# indexes the document family by number. Retry with the stage
|
|
264
|
+
# excluded so the base document answers, as the released
|
|
265
|
+
# 3.0.0.pre.alpha.1 line did (relaton#146).
|
|
266
|
+
base = r.exclude(:stage)
|
|
267
|
+
needle = base.to_s
|
|
268
|
+
rows = index.search(base) { |row| row[:id].to_s.include?(needle) }
|
|
269
|
+
.sort_by { |row| row[:id].to_s }
|
|
270
|
+
end
|
|
271
|
+
|
|
253
272
|
rows.map do |row|
|
|
254
273
|
# index-v2 stores Pubid objects; the rest of the pipeline (search_filter,
|
|
255
274
|
# Hit, Scraper) works on string codes, so stringify at the boundary.
|
|
@@ -50,9 +50,12 @@ module Relaton
|
|
|
50
50
|
# @return [Relaton::Index::Type]
|
|
51
51
|
#
|
|
52
52
|
def index
|
|
53
|
+
# The machine index on the Pages site (relaton#206): a parsed query
|
|
54
|
+
# reads only its own shard; a Pages failure raises
|
|
55
|
+
# `Relaton::RequestError`; the whole-index zip on the same site
|
|
56
|
+
# serves only the retry on a miss.
|
|
53
57
|
Relaton::Index.find_or_create(
|
|
54
|
-
:oasis,
|
|
55
|
-
file: "#{INDEXFILE}.yaml",
|
|
58
|
+
:oasis, pages_url: PAGES_URL,
|
|
56
59
|
pubid_class: ::Pubid::Oasis::Identifier
|
|
57
60
|
)
|
|
58
61
|
end
|
data/lib/relaton/oasis.rb
CHANGED
|
@@ -25,6 +25,10 @@ module Relaton
|
|
|
25
25
|
# crawler derives it from the v2 rows for relaton v2 consumers (the
|
|
26
26
|
# IANA/BIPM/W3C/ECMA shape).
|
|
27
27
|
INDEXFILE = "index-v2".freeze
|
|
28
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
29
|
+
# manifest + per-shard rows read by the consumer's index; the zip stays
|
|
30
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
31
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-oasis/"
|
|
28
32
|
|
|
29
33
|
class Error < StandardError; end
|
|
30
34
|
# Your code goes here...
|
|
@@ -26,10 +26,15 @@ module Relaton
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
# @return [Relaton::Index::Type]
|
|
29
|
+
#
|
|
30
|
+
# The machine index on the Pages site (relaton#206, the W3C pilot's
|
|
31
|
+
# contract): a parsed query reads only its own shard. A Pages failure
|
|
32
|
+
# raises `Relaton::RequestError`; the whole-index zip on the same site
|
|
33
|
+
# serves only the retry on a miss.
|
|
34
|
+
#
|
|
29
35
|
def index
|
|
30
36
|
@index ||= Relaton::Index.find_or_create(
|
|
31
|
-
:ogc,
|
|
32
|
-
pubid_class: ::Pubid::Ogc::Identifier
|
|
37
|
+
:ogc, pages_url: PAGES_URL, pubid_class: ::Pubid::Ogc::Identifier
|
|
33
38
|
)
|
|
34
39
|
end
|
|
35
40
|
|
data/lib/relaton/ogc.rb
CHANGED
|
@@ -16,6 +16,10 @@ require_relative "ogc/bibliography"
|
|
|
16
16
|
module Relaton
|
|
17
17
|
module Ogc
|
|
18
18
|
INDEXFILE = "index-v2".freeze
|
|
19
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
20
|
+
# manifest + per-shard rows read by HitCollection's index; the zip stays
|
|
21
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
22
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-ogc/"
|
|
19
23
|
class Error < StandardError; end
|
|
20
24
|
|
|
21
25
|
# Returns hash of XML reammar
|
|
@@ -70,10 +70,13 @@ module Relaton
|
|
|
70
70
|
private
|
|
71
71
|
|
|
72
72
|
def index
|
|
73
|
+
# The machine index on the Pages site (relaton#206): a parsed query
|
|
74
|
+
# reads only its own shard; a Pages failure raises
|
|
75
|
+
# `Relaton::RequestError`; the whole-index zip on the same site
|
|
76
|
+
# serves only the retry on a miss.
|
|
73
77
|
Relaton::Index.find_or_create(
|
|
74
78
|
:oiml,
|
|
75
|
-
|
|
76
|
-
file: "#{INDEXFILE}.yaml",
|
|
79
|
+
pages_url: PAGES_URL,
|
|
77
80
|
pubid_class: ::Pubid::Oiml::Identifier,
|
|
78
81
|
)
|
|
79
82
|
end
|
data/lib/relaton/oiml.rb
CHANGED
|
@@ -12,6 +12,10 @@ require_relative "oiml/bibliography"
|
|
|
12
12
|
module Relaton
|
|
13
13
|
module Oiml
|
|
14
14
|
INDEXFILE = "index-v2".freeze
|
|
15
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
16
|
+
# manifest + per-shard rows read by the consumer's index; the zip stays
|
|
17
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
18
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-oiml/"
|
|
15
19
|
|
|
16
20
|
class Error < StandardError; end
|
|
17
21
|
|
|
@@ -6,10 +6,48 @@ module Relaton
|
|
|
6
6
|
module Bibliography
|
|
7
7
|
extend self
|
|
8
8
|
|
|
9
|
+
ENDPOINT = "https://raw.githubusercontent.com/relaton/relaton-data-omg/main/".freeze
|
|
10
|
+
|
|
9
11
|
# @param ref [String, Pubid::Omg::Identifier] the OMG standard reference
|
|
10
|
-
# @return [Relaton::Omg::Item]
|
|
12
|
+
# @return [Relaton::Omg::Item, nil] nil when neither the machine index
|
|
13
|
+
# nor the live scrape answers
|
|
11
14
|
def search(ref)
|
|
12
|
-
|
|
15
|
+
pubid = ref.is_a?(String) ? ::Pubid::Omg::Identifier.parse(ref) : ref
|
|
16
|
+
Util.info "Fetching from Relaton repository ...", key: pubid.to_s
|
|
17
|
+
from_index(pubid) || begin
|
|
18
|
+
# The crawl does not cover every spec (beta-version pages carry no
|
|
19
|
+
# download link), so a machine-index miss falls back to the live
|
|
20
|
+
# scrape. Index transport failures still raise — they are not
|
|
21
|
+
# misses.
|
|
22
|
+
Util.info "Not in the machine index; scraping www.omg.org ...", key: pubid.to_s
|
|
23
|
+
Scraper.scrape_page ref
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# The machine index on the Pages site (relaton#206): the consumer reads
|
|
28
|
+
# the published index-v2 (whole-index mode — the manifest publishes no
|
|
29
|
+
# shards) and fetches the document from the data repo.
|
|
30
|
+
#
|
|
31
|
+
# @param pubid [Pubid::Omg::Identifier]
|
|
32
|
+
# @return [Relaton::Omg::Item, nil]
|
|
33
|
+
def from_index(pubid)
|
|
34
|
+
row = index.search(pubid).min_by { |r| r[:id].version.to_s }
|
|
35
|
+
return unless row
|
|
36
|
+
|
|
37
|
+
uri = URI("#{ENDPOINT}#{row[:file]}")
|
|
38
|
+
resp = Net::HTTP.get_response uri
|
|
39
|
+
unless resp.code == "200"
|
|
40
|
+
raise Relaton::RequestError, "Could not access #{uri}: HTTP #{resp.code}"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
Relaton::Omg::Item.from_yaml resp.body
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @return [Relaton::Index::Type]
|
|
47
|
+
def index
|
|
48
|
+
Relaton::Index.find_or_create(
|
|
49
|
+
:omg, pages_url: PAGES_URL, pubid_class: ::Pubid::Omg::Identifier
|
|
50
|
+
)
|
|
13
51
|
end
|
|
14
52
|
|
|
15
53
|
# @param ref [String, Pubid::Omg::Identifier] the OMG standard reference
|
data/lib/relaton/omg/scraper.rb
CHANGED
|
@@ -38,7 +38,16 @@ module Relaton
|
|
|
38
38
|
@url += @version.gsub(" ", "/") if @version
|
|
39
39
|
agent = Mechanize.new
|
|
40
40
|
agent.open_timeout = 10
|
|
41
|
-
|
|
41
|
+
begin
|
|
42
|
+
@doc = agent.get(@url)
|
|
43
|
+
rescue Mechanize::ResponseCodeError => e
|
|
44
|
+
raise if e.response_code != "404" || !@part
|
|
45
|
+
|
|
46
|
+
# A glued beta label parses as the part ("1.5 Beta1" → version
|
|
47
|
+
# 1.5, part Beta1) but on omg.org it lives in the version URL
|
|
48
|
+
# segment — retry with the part appended.
|
|
49
|
+
@doc = agent.get("#{@url}/#{@part}")
|
|
50
|
+
end
|
|
42
51
|
rescue Mechanize::ResponseCodeError => e
|
|
43
52
|
return if e.response_code == "404"
|
|
44
53
|
|
|
@@ -155,7 +164,10 @@ module Relaton
|
|
|
155
164
|
acronym = row.at_xpath("td[3]/a")[:href].split("/")[4]
|
|
156
165
|
id = render_id(acronym, ver)
|
|
157
166
|
docid = Docidentifier.new(content: id, type: "OMG")
|
|
158
|
-
|
|
167
|
+
# Bib::Relation's bibitem is typed ItemData on this model path —
|
|
168
|
+
# a plain ItemBase fails lutaml's type validation at serialization
|
|
169
|
+
# (the crawl's "attribute 'bibitem' value is a 'ItemBase'" skips).
|
|
170
|
+
bibitem = Bib::ItemData.new(formattedref: Bib::Formattedref.new(content: id), docidentifier: [docid])
|
|
159
171
|
mem << Bib::Relation.new(type: "obsoletes", bibitem: bibitem)
|
|
160
172
|
end
|
|
161
173
|
mem
|
data/lib/relaton/omg.rb
CHANGED
|
@@ -13,6 +13,17 @@ require_relative "omg/bibliography"
|
|
|
13
13
|
|
|
14
14
|
module Relaton
|
|
15
15
|
module Omg
|
|
16
|
+
# The flavor's published index on relaton-data-omg (relaton#206): the
|
|
17
|
+
# machine index the Pages site serves, built from the crawled
|
|
18
|
+
# data/*.yaml with pubid_class ::Pubid::Omg::Identifier. relaton-data-omg
|
|
19
|
+
# supersedes the flavor's earlier "no index, no data repository" shape —
|
|
20
|
+
# the crawler and the Pages site are live.
|
|
21
|
+
INDEXFILE = "index-v2"
|
|
22
|
+
# The machine index on the data repo's Pages site (relaton#206) — the
|
|
23
|
+
# manifest + whole-index zip the consumer reads; the crawl does not cover
|
|
24
|
+
# every spec, so Bibliography falls back to the live scrape on a miss.
|
|
25
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-omg/"
|
|
26
|
+
|
|
16
27
|
# Returns hash of XML reammar
|
|
17
28
|
# @return [String]
|
|
18
29
|
def self.grammar_hash
|
data/lib/relaton/version.rb
CHANGED
|
@@ -31,10 +31,13 @@ module Relaton
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
def index
|
|
34
|
+
# The machine index on the Pages site (relaton#206): a parsed query
|
|
35
|
+
# reads only its own shard; a Pages failure raises
|
|
36
|
+
# `Relaton::RequestError`; the whole-index zip on the same site
|
|
37
|
+
# serves only the retry on a miss.
|
|
34
38
|
@index ||= Relaton::Index.find_or_create(
|
|
35
39
|
:xsf,
|
|
36
|
-
|
|
37
|
-
file: "#{INDEXFILE}.yaml",
|
|
40
|
+
pages_url: PAGES_URL,
|
|
38
41
|
pubid_class: ::Pubid::Xsf::Identifier,
|
|
39
42
|
)
|
|
40
43
|
end
|
data/lib/relaton/xsf.rb
CHANGED
|
@@ -20,6 +20,10 @@ require_relative "xsf/bibliography"
|
|
|
20
20
|
module Relaton
|
|
21
21
|
module Xsf
|
|
22
22
|
INDEXFILE = "index-v2".freeze
|
|
23
|
+
# The machine index on the data repo's Pages site (relaton#206) —
|
|
24
|
+
# manifest + per-shard rows read by the consumer's index; the zip stays
|
|
25
|
+
# on the Pages site for the whole-index retry on a miss.
|
|
26
|
+
PAGES_URL = "https://relaton.github.io/relaton-data-xsf/"
|
|
23
27
|
|
|
24
28
|
class Error < StandardError; end
|
|
25
29
|
|
data/lib/relaton.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relaton
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.0.pre.alpha.
|
|
4
|
+
version: 3.0.0.pre.alpha.15
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: addressable
|
|
@@ -98,14 +98,14 @@ dependencies:
|
|
|
98
98
|
name: sqlite3
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
|
-
- - "
|
|
101
|
+
- - ">="
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
103
|
version: '1.7'
|
|
104
104
|
type: :runtime
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
|
-
- - "
|
|
108
|
+
- - ">="
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '1.7'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
@@ -809,6 +809,20 @@ files:
|
|
|
809
809
|
- lib/relaton/etsi/pubid.rb
|
|
810
810
|
- lib/relaton/etsi/status.rb
|
|
811
811
|
- lib/relaton/etsi/util.rb
|
|
812
|
+
- lib/relaton/evs.rb
|
|
813
|
+
- lib/relaton/evs/bibliography.rb
|
|
814
|
+
- lib/relaton/evs/hit.rb
|
|
815
|
+
- lib/relaton/evs/hit_collection.rb
|
|
816
|
+
- lib/relaton/evs/item_data.rb
|
|
817
|
+
- lib/relaton/evs/model/bibdata.rb
|
|
818
|
+
- lib/relaton/evs/model/bibitem.rb
|
|
819
|
+
- lib/relaton/evs/model/docidentifier.rb
|
|
820
|
+
- lib/relaton/evs/model/ext.rb
|
|
821
|
+
- lib/relaton/evs/model/item.rb
|
|
822
|
+
- lib/relaton/evs/model/structured_identifier.rb
|
|
823
|
+
- lib/relaton/evs/processor.rb
|
|
824
|
+
- lib/relaton/evs/scraper.rb
|
|
825
|
+
- lib/relaton/evs/util.rb
|
|
812
826
|
- lib/relaton/gb.rb
|
|
813
827
|
- lib/relaton/gb/bibdata.rb
|
|
814
828
|
- lib/relaton/gb/bibitem.rb
|