relaton-ietf 1.14.3 → 1.14.5
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 +11 -1
- data/grammars/basicdoc.rng +0 -1
- data/grammars/biblio.rng +12 -2
- data/grammars/relaton-ietf.rng +15 -0
- data/lib/relaton_ietf/bibxml_parser.rb +10 -1
- data/lib/relaton_ietf/data_fetcher.rb +10 -0
- data/lib/relaton_ietf/hash_converter.rb +12 -0
- data/lib/relaton_ietf/ietf_bibliographic_item.rb +34 -5
- data/lib/relaton_ietf/processor.rb +9 -0
- data/lib/relaton_ietf/rfc_entry.rb +6 -5
- data/lib/relaton_ietf/rfc_index_entry.rb +2 -1
- data/lib/relaton_ietf/scrapper.rb +34 -23
- data/lib/relaton_ietf/version.rb +1 -1
- data/lib/relaton_ietf/xml_parser.rb +6 -0
- data/lib/relaton_ietf.rb +1 -0
- data/relaton_ietf.gemspec +5 -13
- metadata +16 -111
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa4b15e1b13a21f94aa87731fe6d49a83422a426b299ef3fa4378d65dbdf79a2
|
4
|
+
data.tar.gz: 6c3e630920810ca3bc881e794e36cd3e9898174eab83ed420fe18d36c8f641ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e6cb43373347a061abf880ee44691c7f0f324823290ae5dcb3deb93d5f8754034d34ccf1a2a1c27b2a176c6f7f3d6f6d160c22c53b91a87e939bea653af900a
|
7
|
+
data.tar.gz: fd4edf41ff906d5c5fdf3aea055a103e197deaf21d80af892428664abe078196ad49ca5c3521ae741d305c6e1f1eba7b6fd61e15d8aa55ae06d9adb020f926a2
|
data/.github/workflows/rake.yml
CHANGED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
3
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in relaton_ietf.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem "rake", "~> 13.0"
|
9
|
+
gem "rspec", "~> 3.0"
|
10
|
+
|
11
|
+
gem "equivalent-xml"
|
12
|
+
gem "pry-byebug"
|
13
|
+
gem "ruby-jing"
|
14
|
+
gem "simplecov"
|
15
|
+
gem "vcr"
|
16
|
+
gem "webmock"
|
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>
|
data/grammars/relaton-ietf.rng
CHANGED
@@ -26,6 +26,9 @@
|
|
26
26
|
<zeroOrMore>
|
27
27
|
<ref name="area"/>
|
28
28
|
</zeroOrMore>
|
29
|
+
<optional>
|
30
|
+
<ref name="stream"/>
|
31
|
+
</optional>
|
29
32
|
<optional>
|
30
33
|
<ref name="ipr"/>
|
31
34
|
</optional>
|
@@ -315,4 +318,16 @@
|
|
315
318
|
</optional>
|
316
319
|
</element>
|
317
320
|
</define>
|
321
|
+
<define name="stream">
|
322
|
+
<element name="stream">
|
323
|
+
<choice>
|
324
|
+
<value>IAB</value>
|
325
|
+
<value>IETF</value>
|
326
|
+
<value>Independent</value>
|
327
|
+
<value>IRTF</value>
|
328
|
+
<value>Legacy</value>
|
329
|
+
<value>Editorial</value>
|
330
|
+
</choice>
|
331
|
+
</element>
|
332
|
+
</define>
|
318
333
|
</grammar>
|
@@ -16,6 +16,16 @@ module RelatonIetf
|
|
16
16
|
RelatonIetf::IetfBibliographicItem.new(**attrs)
|
17
17
|
end
|
18
18
|
|
19
|
+
# def docids(reference, ver)
|
20
|
+
# ids = super
|
21
|
+
# si = reference.at("./seriesInfo[@name='Internet-Draft']",
|
22
|
+
# "./front/seriesInfo[@name='Internet-Draft']")
|
23
|
+
# if si
|
24
|
+
# id = si[:value]
|
25
|
+
# end
|
26
|
+
# ids
|
27
|
+
# end
|
28
|
+
|
19
29
|
#
|
20
30
|
# Extract document identifier type form identifier
|
21
31
|
#
|
@@ -27,7 +37,6 @@ module RelatonIetf
|
|
27
37
|
type = super
|
28
38
|
case type
|
29
39
|
when "BCP", "FYI", "STD", "RFC" then "RFC"
|
30
|
-
# when "Internet-Draft" then type
|
31
40
|
when "I-D" then "Internet-Draft"
|
32
41
|
else "IETF"
|
33
42
|
end
|
@@ -6,6 +6,7 @@ require "relaton_ietf/rfc_entry"
|
|
6
6
|
|
7
7
|
module RelatonIetf
|
8
8
|
class DataFetcher
|
9
|
+
INDEX1 = "index-v1".freeze
|
9
10
|
#
|
10
11
|
# Data fetcher initializer
|
11
12
|
#
|
@@ -20,6 +21,7 @@ module RelatonIetf
|
|
20
21
|
@format = format
|
21
22
|
@ext = @format.sub(/^bib|^rfc/, "")
|
22
23
|
@files = []
|
24
|
+
@index = Relaton::Index.find_or_create :IETF, file: "#{INDEX1}.yaml"
|
23
25
|
end
|
24
26
|
|
25
27
|
#
|
@@ -49,6 +51,7 @@ module RelatonIetf
|
|
49
51
|
when "ietf-internet-drafts" then fetch_ieft_internet_drafts
|
50
52
|
when "ietf-rfc-entries" then fetch_ieft_rfcs
|
51
53
|
end
|
54
|
+
@index.save
|
52
55
|
end
|
53
56
|
|
54
57
|
#
|
@@ -201,6 +204,13 @@ module RelatonIetf
|
|
201
204
|
@files << file
|
202
205
|
end
|
203
206
|
File.write file, c, encoding: "UTF-8"
|
207
|
+
add_to_index entry, file
|
208
|
+
end
|
209
|
+
|
210
|
+
def add_to_index(entry, file)
|
211
|
+
docid = entry.docidentifier.detect(&:primary)
|
212
|
+
docid ||= entry.docidentifier.first
|
213
|
+
@index.add_or_update docid.id, file
|
204
214
|
end
|
205
215
|
|
206
216
|
#
|
@@ -1,6 +1,14 @@
|
|
1
1
|
module RelatonIetf
|
2
2
|
class HashConverter < RelatonBib::HashConverter
|
3
3
|
class << self
|
4
|
+
def hash_to_bib(hash)
|
5
|
+
ret = super
|
6
|
+
return unless ret
|
7
|
+
|
8
|
+
stream_hash_to_bib ret
|
9
|
+
ret
|
10
|
+
end
|
11
|
+
|
4
12
|
#
|
5
13
|
# Ovverides superclass's method
|
6
14
|
#
|
@@ -19,6 +27,10 @@ module RelatonIetf
|
|
19
27
|
end
|
20
28
|
ret[:editorialgroup] = RelatonBib::EditorialGroup.new technical_committee
|
21
29
|
end
|
30
|
+
|
31
|
+
def stream_hash_to_bib(ret)
|
32
|
+
ret[:stream] = ret[:ext][:stream] if ret[:ext]&.key? :stream
|
33
|
+
end
|
22
34
|
end
|
23
35
|
end
|
24
36
|
end
|
@@ -2,18 +2,20 @@ module RelatonIetf
|
|
2
2
|
class IetfBibliographicItem < RelatonBib::BibliographicItem
|
3
3
|
DOCTYPES = %w[rfc internet-draft].freeze
|
4
4
|
|
5
|
-
# @return [String,
|
6
|
-
attr_reader :doctype
|
5
|
+
# @return [String, nil]
|
6
|
+
attr_reader :doctype, :stream
|
7
7
|
|
8
8
|
# @return [Array<String>]
|
9
9
|
attr_reader :keyword
|
10
10
|
|
11
11
|
# @param doctype [String]
|
12
12
|
# @param keyword [Array<String>]
|
13
|
+
# @param stream [String, nil]
|
13
14
|
def initialize(**args)
|
14
15
|
if args[:doctype] && !DOCTYPES.include?(args[:doctype])
|
15
16
|
warn "[relaton-ietf] WARNING: invalid doctype #{args[:doctype]}"
|
16
17
|
end
|
18
|
+
@stream = args.delete(:stream)
|
17
19
|
super
|
18
20
|
end
|
19
21
|
|
@@ -36,12 +38,39 @@ module RelatonIetf
|
|
36
38
|
# @param opts [Hash]
|
37
39
|
# @option opts [Nokogiri::XML::Builder] :builder XML builder
|
38
40
|
# @option opts [Boolean] :bibdata
|
39
|
-
# @option opts [Symbol,
|
41
|
+
# @option opts [Symbol, nil] :date_format (:short), :full
|
40
42
|
# @option opts [String, Symbol] :lang language
|
41
43
|
# @return [String] XML
|
42
|
-
def to_xml(**opts)
|
44
|
+
def to_xml(**opts) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
|
43
45
|
opts[:date_format] ||= :short
|
44
|
-
super(**opts)
|
46
|
+
super(**opts) do |builder|
|
47
|
+
if opts[:bibdata] && (doctype || editorialgroup || ics&.any? ||
|
48
|
+
structuredidentifier&.presence? || stream)
|
49
|
+
ext = builder.ext do |b|
|
50
|
+
b.doctype doctype if doctype
|
51
|
+
b.subdoctype subdoctype if subdoctype
|
52
|
+
editorialgroup&.to_xml b
|
53
|
+
ics.each { |i| i.to_xml b }
|
54
|
+
b.stream stream if stream
|
55
|
+
structuredidentifier&.to_xml b
|
56
|
+
end
|
57
|
+
ext["schema-version"] = ext_schema if !opts[:embedded] && respond_to?(:ext_schema)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# Render hash
|
64
|
+
#
|
65
|
+
# @return [Hash] docunent hash representation
|
66
|
+
#
|
67
|
+
def to_hash(embedded: false)
|
68
|
+
hash = super
|
69
|
+
return hash unless stream
|
70
|
+
|
71
|
+
hash["ext"] ||= {}
|
72
|
+
hash["ext"]["stream"] = stream
|
73
|
+
hash
|
45
74
|
end
|
46
75
|
|
47
76
|
#
|
@@ -48,5 +48,14 @@ module RelatonIetf
|
|
48
48
|
def grammar_hash
|
49
49
|
@grammar_hash ||= ::RelatonIetf.grammar_hash
|
50
50
|
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# Remove index file
|
54
|
+
#
|
55
|
+
def remove_index_file
|
56
|
+
Relaton::Index.find_or_create(:RFC, url: true, file: Scrapper::INDEX_FILE).remove_file
|
57
|
+
Relaton::Index.find_or_create(:RSS, url: true, file: Scrapper::INDEX_FILE).remove_file
|
58
|
+
Relaton::Index.find_or_create(:IDS, url: true, file: Scrapper::INDEX_FILE).remove_file
|
59
|
+
end
|
51
60
|
end
|
52
61
|
end
|
@@ -41,6 +41,7 @@ module RelatonIetf
|
|
41
41
|
relation: parse_relation,
|
42
42
|
status: parse_status,
|
43
43
|
series: parse_series,
|
44
|
+
stream: @doc.at("./xmlns:stream")&.text,
|
44
45
|
editorialgroup: parse_editorialgroup,
|
45
46
|
)
|
46
47
|
end
|
@@ -52,7 +53,7 @@ module RelatonIetf
|
|
52
53
|
#
|
53
54
|
def parse_series
|
54
55
|
title = RelatonBib::TypedTitleString.new(content: "RFC")
|
55
|
-
series_is_also +
|
56
|
+
series_is_also + [RelatonBib::Series.new(title: title, number: docnum)] + seires_stream
|
56
57
|
end
|
57
58
|
|
58
59
|
def series_is_also
|
@@ -127,14 +128,14 @@ module RelatonIetf
|
|
127
128
|
#
|
128
129
|
# @return [String] anchor
|
129
130
|
#
|
130
|
-
def anchor
|
131
|
-
|
132
|
-
end
|
131
|
+
# def anchor
|
132
|
+
# "RFC#{docnum}"
|
133
|
+
# end
|
133
134
|
|
134
135
|
#
|
135
136
|
# Create link
|
136
137
|
#
|
137
|
-
# @return [Array<RelatonBib::TypedUri>]
|
138
|
+
# @return [Array<RelatonBib::TypedUri>]
|
138
139
|
#
|
139
140
|
def parse_link
|
140
141
|
url = "https://www.rfc-editor.org/info/rfc#{docnum}"
|
@@ -10,7 +10,7 @@ module RelatonIetf
|
|
10
10
|
def initialize(doc, doc_id, is_also)
|
11
11
|
@doc = doc
|
12
12
|
@name = doc.name.split("-").first
|
13
|
-
@shortnum = doc_id[-4
|
13
|
+
@shortnum = doc_id[-4..].sub(/^0+/, "")
|
14
14
|
@doc_id = doc_id
|
15
15
|
@is_also = is_also
|
16
16
|
end
|
@@ -47,6 +47,7 @@ module RelatonIetf
|
|
47
47
|
formattedref: formattedref,
|
48
48
|
relation: parse_relation,
|
49
49
|
series: parse_series,
|
50
|
+
stream: @doc.at("./xmlns:stream")&.text,
|
50
51
|
)
|
51
52
|
end
|
52
53
|
|
@@ -5,16 +5,17 @@ module RelatonIetf
|
|
5
5
|
module Scrapper
|
6
6
|
extend Scrapper
|
7
7
|
|
8
|
-
IDS = "https://raw.githubusercontent.com/relaton/relaton-data-ids/main/
|
9
|
-
RFC = "https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/
|
10
|
-
RSS = "https://raw.githubusercontent.com/relaton/relaton-data-rfcsubseries/main/
|
8
|
+
IDS = "https://raw.githubusercontent.com/relaton/relaton-data-ids/main/"
|
9
|
+
RFC = "https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/"
|
10
|
+
RSS = "https://raw.githubusercontent.com/relaton/relaton-data-rfcsubseries/main/"
|
11
|
+
INDEX_FILE = "index-v1.yaml"
|
11
12
|
|
12
13
|
# @param text [String]
|
13
14
|
# @return [RelatonIetf::IetfBibliographicItem]
|
14
15
|
def scrape_page(text)
|
15
16
|
# Remove initial "IETF " string if specified
|
16
17
|
ref = text.gsub(/^IETF /, "")
|
17
|
-
ref.sub!(/(?<=^(?:RFC|BCP|FYI|STD))\s(\d+)/) { $1.rjust 4, "0" }
|
18
|
+
# ref.sub!(/(?<=^(?:RFC|BCP|FYI|STD))\s(\d+)/) { $1.rjust 4, "0" }
|
18
19
|
rfc_item ref
|
19
20
|
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
20
21
|
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError,
|
@@ -27,32 +28,42 @@ module RelatonIetf
|
|
27
28
|
# @param ref [String]
|
28
29
|
# @return [RelatonIetf::IetfBibliographicItem]
|
29
30
|
def rfc_item(ref) # rubocop:disable Metrics/MethodLength
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
31
|
+
case ref
|
32
|
+
when /^RFC/ then get_rfcs ref
|
33
|
+
when /^(?:BCP|FYI|STD)/ then get_rfcsubseries ref
|
34
|
+
when /^I-D/
|
35
|
+
ref.sub!(/^I-D[.\s]/, "")
|
36
|
+
get_ids ref
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def get_rfcs(ref)
|
41
|
+
index = Relaton::Index.find_or_create :RFC, url: "#{RFC}index-v1.zip", file: INDEX_FILE
|
42
|
+
row = index.search(ref).first
|
43
|
+
get_page "#{RFC}#{row[:file]}" if row
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_rfcsubseries(ref)
|
47
|
+
index = Relaton::Index.find_or_create :RSS, url: "#{RSS}index-v1.zip", file: INDEX_FILE
|
48
|
+
row = index.search(ref).first
|
49
|
+
get_page "#{RSS}#{row[:file]}" if row
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_ids(ref)
|
53
|
+
index = Relaton::Index.find_or_create :IDS, url: "#{IDS}index-v1.zip", file: INDEX_FILE
|
54
|
+
row = index.search(ref).first
|
55
|
+
get_page "#{IDS}#{row[:file]}" if row
|
47
56
|
end
|
48
57
|
|
49
58
|
# @param uri [String]
|
50
|
-
# @return [
|
59
|
+
# @return [RelatonIetf::IetfBibliographicItem, nil] HTTP response body
|
51
60
|
def get_page(uri)
|
52
61
|
res = Net::HTTP.get_response(URI(uri))
|
53
62
|
return unless res.code == "200"
|
54
63
|
|
55
|
-
res.body
|
64
|
+
hash = YAML.safe_load res.body
|
65
|
+
hash["fetched"] = Date.today.to_s
|
66
|
+
IetfBibliographicItem.from_hash hash
|
56
67
|
end
|
57
68
|
end
|
58
69
|
end
|
data/lib/relaton_ietf/version.rb
CHANGED
@@ -5,6 +5,12 @@ module RelatonIetf
|
|
5
5
|
class << self
|
6
6
|
private
|
7
7
|
|
8
|
+
def item_data(doc)
|
9
|
+
data = super
|
10
|
+
data[:stream] = doc.at("ext/stream")&.text
|
11
|
+
data
|
12
|
+
end
|
13
|
+
|
8
14
|
# override RelatonBib::BibliographicItem.bib_item method
|
9
15
|
# @param item_hash [Hash]
|
10
16
|
# @return [RelatonIetf::IetfBibliographicItem]
|
data/lib/relaton_ietf.rb
CHANGED
data/relaton_ietf.gemspec
CHANGED
@@ -10,10 +10,10 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ["Ribose Inc."]
|
11
11
|
spec.email = ["open.source@ribose.com"]
|
12
12
|
|
13
|
-
spec.summary = "RelatonIetf: retrieve IETF Standards for
|
14
|
-
"using the BibliographicItem model"
|
13
|
+
spec.summary = "RelatonIetf: retrieve IETF Standards for " \
|
14
|
+
"bibliographic use using the BibliographicItem model"
|
15
15
|
spec.description = <<~DESCRIPTION
|
16
|
-
RelatonIetf: retrieve IETF Standards for bibliographic use
|
16
|
+
RelatonIetf: retrieve IETF Standards for bibliographic use
|
17
17
|
using the BibliographicItem model.
|
18
18
|
|
19
19
|
Formerly known as rfcbib.
|
@@ -27,16 +27,8 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.bindir = "exe"
|
28
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
29
|
spec.require_paths = ["lib"]
|
30
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
31
|
-
|
32
|
-
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
33
|
-
spec.add_development_dependency "pry-byebug"
|
34
|
-
spec.add_development_dependency "rake", "~> 13.0"
|
35
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
36
|
-
spec.add_development_dependency "ruby-jing"
|
37
|
-
spec.add_development_dependency "simplecov"
|
38
|
-
spec.add_development_dependency "vcr"
|
39
|
-
spec.add_development_dependency "webmock"
|
30
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
40
31
|
|
41
32
|
spec.add_dependency "relaton-bib", "~> 1.14.0"
|
33
|
+
spec.add_dependency "relaton-index", "~> 0.2.3"
|
42
34
|
end
|
metadata
CHANGED
@@ -1,143 +1,48 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.14.
|
4
|
+
version: 1.14.5
|
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-07-02 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.3
|
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:
|
139
|
-
description:
|
140
|
-
|
40
|
+
version: 0.2.3
|
41
|
+
description: |
|
42
|
+
RelatonIetf: retrieve IETF Standards for bibliographic use
|
43
|
+
using the BibliographicItem model.
|
44
|
+
|
45
|
+
Formerly known as rfcbib.
|
141
46
|
email:
|
142
47
|
- open.source@ribose.com
|
143
48
|
executables: []
|
@@ -190,14 +95,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
95
|
requirements:
|
191
96
|
- - ">="
|
192
97
|
- !ruby/object:Gem::Version
|
193
|
-
version: 2.
|
98
|
+
version: 2.7.0
|
194
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
100
|
requirements:
|
196
101
|
- - ">="
|
197
102
|
- !ruby/object:Gem::Version
|
198
103
|
version: '0'
|
199
104
|
requirements: []
|
200
|
-
rubygems_version: 3.
|
105
|
+
rubygems_version: 3.3.26
|
201
106
|
signing_key:
|
202
107
|
specification_version: 4
|
203
108
|
summary: 'RelatonIetf: retrieve IETF Standards for bibliographic use using the BibliographicItem
|