relaton-ietf 1.0.4 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7c3cbbf83e978418b1b8ce37ccd498651b029af23c8917fc7dc76e7249424d3
4
- data.tar.gz: cadfca1c00571049297c95c5ab826f27d31408db332b9d8784f97debfc56dba4
3
+ metadata.gz: 9b4c5d8312868629129478bdcae9e7974ed1e32052a4bb674f8e2e93f43448ab
4
+ data.tar.gz: 6fd9cc41e53b2a0333faafaa692a6c6a5c0f60b36a1a93d3520a31e420c48cc3
5
5
  SHA512:
6
- metadata.gz: cab4dd39ba1aa43f6791e1a89e4fa373effb43dc9826af80e6e7d2ae701c6d270ea31effa7a2679a53d1240a7537a0c8c1419a809e55e950ab8de8838b0cbb32
7
- data.tar.gz: 176c22ed17078a84e4ee7548cefc172c6924fa2470900fc8386af3736a8b5f133b991baaf709f3427eb13c9cc29094f235ca16b56b8046e186221fa677ad9b82
6
+ metadata.gz: 721d3953bb74e0ca0b7a63a8870ce845491c458fe9b1f33d1f9219cf2d40d853da68c2c413296480aad01c546caa79ed89820408f391a5f62c35e178a1ef0354
7
+ data.tar.gz: 4c6ea63c04af0190e09e0bc42b807be9e4e7e2f0548022b8de6fc640829e46a887b83f2cf3ed8e07b9acbb0497c62cea0951db9e9b96c99d6944b69bcdabb0bf
@@ -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")
@@ -88,7 +88,7 @@
88
88
  <text/>
89
89
  </element>
90
90
  </define>
91
- <define name="LocalizedString">
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="LocalizedStringOrXsAny">
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
- <optional>
664
+ <zeroOrMore>
645
665
  <ref name="copyright"/>
646
- </optional>
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
- <ref name="owner"/>
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">
@@ -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
- <ref name="paragraph"/>
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">
@@ -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="paragraph-with-footnote"/>
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]).sub(/^(RFC)/, "\\1 ")
333
+ id = (reference[:anchor] || reference[:docName] || reference[:number])
327
334
  ret = []
328
- ret << RelatonBib::DocumentIdentifier.new(type: "IETF", id: id)
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
@@ -1,3 +1,3 @@
1
1
  module RelatonIetf
2
- VERSION = "1.0.4".freeze
2
+ VERSION = "1.1.4".freeze
3
3
  end
@@ -40,5 +40,5 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency "vcr"
41
41
  spec.add_development_dependency "webmock"
42
42
 
43
- spec.add_dependency "relaton-bib", ">= 1.0.4"
43
+ spec.add_dependency "relaton-bib", "~> 1.1.0"
44
44
  end
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.0.4
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-05-26 00:00:00.000000000 Z
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.4
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.4
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