relaton-ietf 1.0.4 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rspec +29 -0
- data/grammars/biblio.rng +35 -5
- data/grammars/isodoc.rng +17 -1
- data/grammars/isostandard.rng +9 -1
- data/lib/relaton_ietf/ietf_bibliographic_item.rb +1 -3
- data/lib/relaton_ietf/scrapper.rb +16 -4
- data/lib/relaton_ietf/version.rb +1 -1
- data/relaton_ietf.gemspec +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b4c5d8312868629129478bdcae9e7974ed1e32052a4bb674f8e2e93f43448ab
|
4
|
+
data.tar.gz: 6fd9cc41e53b2a0333faafaa692a6c6a5c0f60b36a1a93d3520a31e420c48cc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 721d3953bb74e0ca0b7a63a8870ce845491c458fe9b1f33d1f9219cf2d40d853da68c2c413296480aad01c546caa79ed89820408f391a5f62c35e178a1ef0354
|
7
|
+
data.tar.gz: 4c6ea63c04af0190e09e0bc42b807be9e4e7e2f0548022b8de6fc640829e46a887b83f2cf3ed8e07b9acbb0497c62cea0951db9e9b96c99d6944b69bcdabb0bf
|
data/bin/rspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rspec' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rspec-core", "rspec")
|
data/grammars/biblio.rng
CHANGED
@@ -88,7 +88,7 @@
|
|
88
88
|
<text/>
|
89
89
|
</element>
|
90
90
|
</define>
|
91
|
-
<define name="
|
91
|
+
<define name="LocalizedString1">
|
92
92
|
<optional>
|
93
93
|
<!-- multiple languages and scripts possible: comma delimit them if so -->
|
94
94
|
<attribute name="language"/>
|
@@ -98,6 +98,16 @@
|
|
98
98
|
</optional>
|
99
99
|
<text/>
|
100
100
|
</define>
|
101
|
+
<define name="LocalizedString">
|
102
|
+
<choice>
|
103
|
+
<ref name="LocalizedString1"/>
|
104
|
+
<oneOrMore>
|
105
|
+
<element name="variant">
|
106
|
+
<ref name="LocalizedString1"/>
|
107
|
+
</element>
|
108
|
+
</oneOrMore>
|
109
|
+
</choice>
|
110
|
+
</define>
|
101
111
|
<!--
|
102
112
|
Unlike UML, change type to format: type is overloaded
|
103
113
|
Would be need if plain were default value and could omit the attribute
|
@@ -121,7 +131,7 @@
|
|
121
131
|
</optional>
|
122
132
|
<ref name="LocalizedStringOrXsAny"/>
|
123
133
|
</define>
|
124
|
-
<define name="
|
134
|
+
<define name="LocalizedStringOrXsAny1">
|
125
135
|
<optional>
|
126
136
|
<!-- multiple languages and scripts possible: comma delimit them if so -->
|
127
137
|
<attribute name="language"/>
|
@@ -136,6 +146,16 @@
|
|
136
146
|
</choice>
|
137
147
|
</oneOrMore>
|
138
148
|
</define>
|
149
|
+
<define name="LocalizedStringOrXsAny">
|
150
|
+
<choice>
|
151
|
+
<ref name="LocalizedStringOrXsAny1"/>
|
152
|
+
<oneOrMore>
|
153
|
+
<element name="variant">
|
154
|
+
<ref name="LocalizedStringOrXsAny1"/>
|
155
|
+
</element>
|
156
|
+
</oneOrMore>
|
157
|
+
</choice>
|
158
|
+
</define>
|
139
159
|
<define name="contributor">
|
140
160
|
<element name="contributor">
|
141
161
|
<zeroOrMore>
|
@@ -641,9 +661,9 @@
|
|
641
661
|
<optional>
|
642
662
|
<ref name="status"/>
|
643
663
|
</optional>
|
644
|
-
<
|
664
|
+
<zeroOrMore>
|
645
665
|
<ref name="copyright"/>
|
646
|
-
</
|
666
|
+
</zeroOrMore>
|
647
667
|
<zeroOrMore>
|
648
668
|
<ref name="docrelation"/>
|
649
669
|
</zeroOrMore>
|
@@ -1001,7 +1021,17 @@
|
|
1001
1021
|
<optional>
|
1002
1022
|
<ref name="to"/>
|
1003
1023
|
</optional>
|
1004
|
-
<
|
1024
|
+
<oneOrMore>
|
1025
|
+
<ref name="owner"/>
|
1026
|
+
</oneOrMore>
|
1027
|
+
<optional>
|
1028
|
+
<ref name="copyright_scope"/>
|
1029
|
+
</optional>
|
1030
|
+
</element>
|
1031
|
+
</define>
|
1032
|
+
<define name="copyright_scope">
|
1033
|
+
<element name="scope">
|
1034
|
+
<text/>
|
1005
1035
|
</element>
|
1006
1036
|
</define>
|
1007
1037
|
<define name="from">
|
data/grammars/isodoc.rng
CHANGED
@@ -53,6 +53,14 @@
|
|
53
53
|
<optional>
|
54
54
|
<attribute name="alt"/>
|
55
55
|
</optional>
|
56
|
+
<optional>
|
57
|
+
<attribute name="case">
|
58
|
+
<choice>
|
59
|
+
<value>capital</value>
|
60
|
+
<value>lowercase</value>
|
61
|
+
</choice>
|
62
|
+
</attribute>
|
63
|
+
</optional>
|
56
64
|
<text/>
|
57
65
|
</element>
|
58
66
|
</define>
|
@@ -902,7 +910,15 @@
|
|
902
910
|
<attribute name="id">
|
903
911
|
<data type="ID"/>
|
904
912
|
</attribute>
|
905
|
-
<
|
913
|
+
<oneOrMore>
|
914
|
+
<choice>
|
915
|
+
<ref name="paragraph"/>
|
916
|
+
<ref name="ul"/>
|
917
|
+
<ref name="ol"/>
|
918
|
+
<ref name="dl"/>
|
919
|
+
<ref name="formula"/>
|
920
|
+
</choice>
|
921
|
+
</oneOrMore>
|
906
922
|
</element>
|
907
923
|
</define>
|
908
924
|
<define name="termexample">
|
data/grammars/isostandard.rng
CHANGED
@@ -91,6 +91,12 @@
|
|
91
91
|
</define>
|
92
92
|
<define name="sections">
|
93
93
|
<element name="sections">
|
94
|
+
<zeroOrMore>
|
95
|
+
<choice>
|
96
|
+
<ref name="note"/>
|
97
|
+
<ref name="admonition"/>
|
98
|
+
</choice>
|
99
|
+
</zeroOrMore>
|
94
100
|
<ref name="clause"/>
|
95
101
|
<optional>
|
96
102
|
<choice>
|
@@ -263,6 +269,8 @@
|
|
263
269
|
<value>publicly-available-specification</value>
|
264
270
|
<value>international-workshop-agreement</value>
|
265
271
|
<value>guide</value>
|
272
|
+
<value>amendment</value>
|
273
|
+
<value>technical-corrigendum</value>
|
266
274
|
</choice>
|
267
275
|
</define>
|
268
276
|
<define name="structuredidentifier">
|
@@ -510,7 +518,7 @@
|
|
510
518
|
</attribute>
|
511
519
|
</optional>
|
512
520
|
<oneOrMore>
|
513
|
-
<ref name="
|
521
|
+
<ref name="BasicBlock"/>
|
514
522
|
</oneOrMore>
|
515
523
|
</element>
|
516
524
|
</define>
|
@@ -10,7 +10,6 @@ module RelatonIetf
|
|
10
10
|
# @param keyword [Array<String>]
|
11
11
|
def initialize(**args)
|
12
12
|
@doctype = args.delete :doctype
|
13
|
-
# @keyword = args.delete(:keyword) || []
|
14
13
|
super
|
15
14
|
end
|
16
15
|
|
@@ -20,10 +19,9 @@ module RelatonIetf
|
|
20
19
|
def to_xml(builder = nil, **opts)
|
21
20
|
opts[:date_format] ||= :short
|
22
21
|
super builder, **opts do |b|
|
23
|
-
if opts[:bibdata]
|
22
|
+
if opts[:bibdata] && doctype
|
24
23
|
b.ext do
|
25
24
|
b.doctype doctype if doctype
|
26
|
-
# keyword.each { |k| b.keyword k }
|
27
25
|
end
|
28
26
|
end
|
29
27
|
end
|
@@ -206,10 +206,15 @@ module RelatonIetf
|
|
206
206
|
# @return [Array<Hash{Symbol=>RelatonBib::Organization,Symbol=>Array<String>}>]
|
207
207
|
def organizations(reference)
|
208
208
|
publisher = { entity: new_org, role: [type: "publisher"] }
|
209
|
-
reference.xpath("./seriesinfo").reduce([publisher]) do |mem, si|
|
209
|
+
orgs = reference.xpath("./seriesinfo").reduce([publisher]) do |mem, si|
|
210
210
|
next mem unless si[:stream]
|
211
211
|
|
212
|
-
mem << { entity: new_org(si[:stream]), role: [type: "author"] }
|
212
|
+
mem << { entity: new_org(si[:stream], nil), role: [type: "author"] }
|
213
|
+
end
|
214
|
+
orgs + reference.xpath(
|
215
|
+
"front/author[not(@surname)][not(@fullname)]/organization",
|
216
|
+
).map do |org|
|
217
|
+
{ entity: new_org(org.text, nil), role: [type: "author"] }
|
213
218
|
end
|
214
219
|
end
|
215
220
|
|
@@ -314,6 +319,8 @@ module RelatonIetf
|
|
314
319
|
[RelatonBib::BibliographicDate.new(type: "published", on: date)]
|
315
320
|
end
|
316
321
|
|
322
|
+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
323
|
+
|
317
324
|
#
|
318
325
|
# Extract document identifiers from reference
|
319
326
|
#
|
@@ -323,9 +330,13 @@ module RelatonIetf
|
|
323
330
|
# @return [Array<RelatonBib::DocumentIdentifier>]
|
324
331
|
#
|
325
332
|
def docids(reference, ver)
|
326
|
-
id = (reference[:anchor] || reference[:docName]
|
333
|
+
id = (reference[:anchor] || reference[:docName] || reference[:number])
|
327
334
|
ret = []
|
328
|
-
|
335
|
+
if id
|
336
|
+
ret << RelatonBib::DocumentIdentifier.new(
|
337
|
+
type: "IETF", id: id.sub(/^(RFC)/, "\\1 "),
|
338
|
+
)
|
339
|
+
end
|
329
340
|
if (id = reference[:anchor])
|
330
341
|
ret << RelatonBib::DocumentIdentifier.new(type: "rfc-anchor", id: id)
|
331
342
|
end
|
@@ -337,6 +348,7 @@ module RelatonIetf
|
|
337
348
|
RelatonBib::DocumentIdentifier.new(id: id, type: si[:name])
|
338
349
|
end.compact
|
339
350
|
end
|
351
|
+
# enable Metrics/MethodLength, Metrics/AbcSize
|
340
352
|
|
341
353
|
#
|
342
354
|
# Extract series form reference
|
data/lib/relaton_ietf/version.rb
CHANGED
data/relaton_ietf.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.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: 2020-
|
11
|
+
date: 2020-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: debase
|
@@ -154,16 +154,16 @@ dependencies:
|
|
154
154
|
name: relaton-bib
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.0
|
159
|
+
version: 1.1.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.0
|
166
|
+
version: 1.1.0
|
167
167
|
description: "RelatonIetf: retrieve IETF Standards for bibliographic use \nusing the
|
168
168
|
BibliographicItem model.\n\nFormerly known as rfcbib.\n"
|
169
169
|
email:
|
@@ -184,6 +184,7 @@ files:
|
|
184
184
|
- README.adoc
|
185
185
|
- Rakefile
|
186
186
|
- bin/console
|
187
|
+
- bin/rspec
|
187
188
|
- bin/setup
|
188
189
|
- grammars/basicdoc.rng
|
189
190
|
- grammars/biblio.rng
|