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 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