metanorma-itu 2.5.8 → 2.5.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -74,6 +74,7 @@ module IsoDoc
74
74
  x = clause.at(ns("./clause[@type = '#{type}']")) or return
75
75
  ret = x.dup
76
76
  ret.at(ns("./title"))&.remove
77
+ ret.at(ns("./fmt-title"))&.remove
77
78
  ret.children.to_xml
78
79
  end
79
80
 
@@ -85,6 +85,7 @@ module IsoDoc
85
85
  abstract or return
86
86
  @doctype == "contribution" or return
87
87
  abstract.at(ns("./title"))&.remove
88
+ abstract.at(ns("./fmt-title"))&.remove
88
89
  abstract.children = <<~TABLE
89
90
  <table class="abstract" unnumbered="true" width="100%">
90
91
  <colgroup><col width="11.8%"/><col width="78.2%"/></colgroup>
@@ -98,7 +99,7 @@ module IsoDoc
98
99
  def keywords(_docxml)
99
100
  kw = @meta.get[:keywords]
100
101
  kw.nil? || kw.empty? || @doctype == "contribution" and return
101
- "<clause type='keyword'><title>#{@i18n.keywords}</title>" \
102
+ "<clause type='keyword'><fmt-title>#{@i18n.keywords}</fmt-title>" \
102
103
  "<p>#{@i18n.l10n(kw.join(', '))}.</p>"
103
104
  end
104
105
 
@@ -67,10 +67,13 @@ module IsoDoc
67
67
  end
68
68
 
69
69
  def table1(elem)
70
- elem.xpath(ns("./name | ./thead/tr/th")).each do |n|
70
+ elem.xpath(ns("./thead/tr/th")).each do |n|
71
71
  capitalise_unless_text_transform(n)
72
72
  end
73
73
  super
74
+ elem.xpath(ns("./fmt-name//semx[@element = 'name']")).each do |n|
75
+ capitalise_unless_text_transform(n)
76
+ end
74
77
  end
75
78
 
76
79
  def capitalise_unless_text_transform(elem)
@@ -110,16 +113,32 @@ module IsoDoc
110
113
  { group: "'" }
111
114
  end
112
115
 
113
- def clause1(elem)
116
+ # KILL
117
+ def clause1x(elem)
114
118
  clause1_super?(elem) and return super
115
119
  @suppressheadingnumbers || elem["unnumbered"] and return
116
120
  t = elem.at(ns("./title")) and t["depth"] = "1"
117
- lbl = @xrefs.anchor(elem["id"], :label, false) or return
121
+ lbl = @xrefs.anchor(elem["id"], :label, false)
122
+ lbl.blank? and return
118
123
  elem.previous =
119
124
  "<p keep-with-next='true' class='supertitle'>" \
120
125
  "#{@i18n.get['section'].upcase} #{lbl}</p>"
121
126
  end
122
127
 
128
+ def clause1(elem)
129
+ clause1_super?(elem) and return super
130
+ lbl = @xrefs.anchor(elem["id"], :label, false)
131
+ oldsuppressheadingnumbers = @suppressheadingnumbers
132
+ @suppressheadingnumbers = true
133
+ super
134
+ @suppressheadingnumbers = oldsuppressheadingnumbers
135
+ lbl.blank? || elem["unnumbered"] and return
136
+ elem.previous =
137
+ "<p keep-with-next='true' class='supertitle'>" \
138
+ "#{labelled_autonum(@i18n.get['section'].upcase, elem["id"], lbl)}</p>"
139
+ #"<span element='fmt-element-name'>#{@i18n.get['section'].upcase}</span> #{autonum(elem['id'], lbl)}</p>"
140
+ end
141
+
123
142
  def clause1_super?(elem)
124
143
  @doctype != "resolution" ||
125
144
  !%w(sections bibliography).include?(elem.parent.name)
@@ -136,23 +155,25 @@ module IsoDoc
136
155
 
137
156
  def annex1_resolution(elem)
138
157
  elem.elements.first.previous = annex1_supertitle(elem)
158
+ # TODO: do not alter title, alter semx/@element = title
139
159
  t = elem.at(ns("./title")) and
140
160
  t.children = "<strong>#{to_xml(t.children)}</strong>"
161
+ prefix_name(elem, {}, nil, "title")
141
162
  end
142
163
 
143
164
  def annex1_non_resolution(elem)
144
165
  info = elem["obligation"] == "informative"
145
- ins = elem.at(ns("./title"))
166
+ ins = elem.at(ns("./fmt-xref-label")) || elem.at(ns("./fmt-title"))
146
167
  p = (info ? @i18n.inform_annex : @i18n.norm_annex)
147
168
  .sub("%", @i18n.doctype_dict[@meta.get[:doctype_original]] || "")
148
- ins.next = %(<p class="annex_obligation">#{p}</p>)
169
+ ins.next = %(<p class="annex_obligation"><span class='fmt-obligation'>#{p}</span></p>)
149
170
  end
150
171
 
151
172
  def annex1_supertitle(elem)
152
173
  lbl = @xrefs.anchor(elem["id"], :label)
153
174
  res = elem.at(ns("//bibdata/title[@type = 'resolution']"))
154
175
  subhead = @i18n.l10n("(#{@i18n.get['to']} #{to_xml(res.children)})")
155
- "<p class='supertitle'>#{lbl}<br/>#{subhead}</p>"
176
+ "<p class='supertitle'>#{autonum(elem['id'], lbl)}<br/>#{subhead}</p>"
156
177
  end
157
178
 
158
179
  def ol_depth(node)
@@ -229,14 +250,15 @@ module IsoDoc
229
250
  end
230
251
 
231
252
  def dl(xml)
253
+ super
232
254
  (xml.xpath(ns("//dl")) -
233
255
  xml.xpath(ns("//table//dl | //figure//dl | //formula//dl")))
234
256
  .each do |d|
235
- dl1(d)
257
+ dl2(d)
236
258
  end
237
259
  end
238
260
 
239
- def dl1(dlist)
261
+ def dl2(dlist)
240
262
  ins = dlist.at(ns("./dt"))
241
263
  ins.previous =
242
264
  '<colgroup><col width="20%"/><col width="80%"/></colgroup>'
@@ -25,7 +25,7 @@ module IsoDoc
25
25
  i += 1
26
26
  bibitem_entry(tbody, b, i, biblio)
27
27
  else
28
- unless %w(title clause references).include? b.name
28
+ unless %w(title clause references fmt-title fmt-xref-label).include? b.name
29
29
  tbody.tx { |tx| parse(b, tx) }
30
30
  end
31
31
  end
@@ -4,7 +4,7 @@ module IsoDoc
4
4
  def termdef_parse1(node, div, defn, source)
5
5
  div.p **{ class: "TermNum", id: node["id"] } do |p|
6
6
  p.b do |b|
7
- node&.at(ns("./name"))&.children&.each { |n| parse(n, b) }
7
+ node&.at(ns("./fmt-name"))&.children&.each { |n| parse(n, b) }
8
8
  insert_tab(b, 1)
9
9
  node&.at(ns("./preferred"))&.children&.each { |n| parse(n, b) }
10
10
  end
@@ -19,8 +19,8 @@ module IsoDoc
19
19
  out.div **attr_code(id: node["id"]) do |div|
20
20
  termdef_parse1(node, div, defn, source)
21
21
  node.children.each do |n|
22
- next if %w(preferred definition termsource title
23
- name).include? n.name
22
+ next if %w(preferred definition termsource fmt-title
23
+ fmt-name).include? n.name
24
24
 
25
25
  parse(n, out)
26
26
  end
@@ -39,7 +39,7 @@ module IsoDoc
39
39
  out.div **attr_code(id: clause["id"], class: "Abstract") do |s|
40
40
  @doctype == "contribution" or
41
41
  clause_name(clause, "Summary", s, class: "AbstractTitle")
42
- clause.elements.each { |e| parse(e, s) unless e.name == "title" }
42
+ clause.elements.each { |e| parse(e, s) unless e.name == "fmt-title" }
43
43
  end
44
44
  end
45
45
 
@@ -48,7 +48,7 @@ module IsoDoc
48
48
  div.p **attr_code(class: "formula") do |_p|
49
49
  insert_tab(div, 1)
50
50
  parse(node.at(ns("./stem")), div)
51
- if lbl = node&.at(ns("./name"))&.text
51
+ if lbl = node&.at(ns("./fmt-name"))&.text
52
52
  insert_tab(div, 1)
53
53
  div << lbl
54
54
  end
@@ -127,7 +127,7 @@ module IsoDoc
127
127
  page_break(out)
128
128
  out.div **attr_code(preface_attrs(clause)) do |div|
129
129
  div.p class: "zzContents" do |p|
130
- clause.at(ns("./title"))&.children&.each do |c|
130
+ clause.at(ns("./fmt-title"))&.children&.each do |c|
131
131
  parse(c, p)
132
132
  end
133
133
  end
@@ -136,7 +136,7 @@ module IsoDoc
136
136
  p << "<b>#{@i18n.page}</b>"
137
137
  end
138
138
  clause.elements.each do |e|
139
- parse(e, div) unless e.name == "title"
139
+ parse(e, div) unless e.name == "fmt-title"
140
140
  end
141
141
  end
142
142
  end
@@ -48,11 +48,16 @@ module IsoDoc
48
48
  end
49
49
 
50
50
  def subfigure_label(subfignum)
51
- subfignum.zero? and return ""
52
- "-#{(subfignum + 96).chr}"
51
+ subfignum.zero? and return
52
+ (subfignum + 96).chr
53
53
  end
54
54
 
55
- def sequential_figure_body(subfig, counter, elem, klass, container: false)
55
+ def subfigure_delim
56
+ ")"
57
+ end
58
+
59
+ # KILL
60
+ def sequential_figure_bodyx(subfig, counter, elem, klass, container: false)
56
61
  label = counter.print
57
62
  label &&= label + subfigure_label(subfig)
58
63
  @anchors[elem["id"]] = anchor_struct(
@@ -61,8 +66,39 @@ module IsoDoc
61
66
  )
62
67
  end
63
68
 
64
- def hierarchical_figure_body(num, subfignum, counter, block, klass)
65
- label = "#{num}#{hiersep}#{counter.print}" + subfigure_label(subfignum)
69
+ def figure_anchor(elem, sublabel, label, klass, container: false)
70
+ if sublabel
71
+ subfigure_anchor(elem, sublabel, label, klass, container: false)
72
+ else
73
+ @anchors[elem["id"]] = anchor_struct(
74
+ label, elem, @labels[klass] || klass.capitalize, klass,
75
+ { unnumb: elem["unnumbered"], container: }
76
+ )
77
+ end
78
+ end
79
+
80
+ def fig_subfig_label(label, sublabel)
81
+ "#{label}#{delim_wrap("-")}#{sublabel}"
82
+ end
83
+
84
+ def subfigure_anchor(elem, sublabel, label, klass, container: false)
85
+ figlabel = fig_subfig_label(semx(elem.parent, label), semx(elem, sublabel))
86
+ @anchors[elem["id"]] = anchor_struct(
87
+ figlabel, elem, @labels[klass] || klass.capitalize, klass,
88
+ { unnumb: elem["unnumbered"] }
89
+ )
90
+ if elem["unnumbered"] != "true"
91
+ #@anchors[elem["id"]][:label] = sublabel
92
+ @anchors[elem["id"]][:xref] = @anchors[elem.parent["id"]][:xref] +
93
+ delim_wrap("-") + semx(elem, sublabel)
94
+ x = @anchors[elem.parent["id"]][:container] and
95
+ @anchors[elem["id"]][:container] = x
96
+ end
97
+ end
98
+
99
+ # KILL
100
+ def hierarchical_figure_bodyx(num, subfignum, counter, block, klass)
101
+ label = "#{num}#{hier_separator}#{counter.print}" + subfigure_label(subfignum)
66
102
  @anchors[block["id"]] = anchor_struct(
67
103
  label, nil, @labels[klass] || klass.capitalize,
68
104
  klass, block["unnumbered"]
@@ -84,9 +120,9 @@ module IsoDoc
84
120
  c = Counter.new
85
121
  clause.xpath(ns(".//formula")).noblank.each do |t|
86
122
  @anchors[t["id"]] = anchor_struct(
87
- "#{num}-#{c.increment(t).print}", nil,
123
+ "#{semx(clause, num)}#{delim_wrap("-")}#{semx(t, c.increment(t).print)}", t,
88
124
  t["inequality"] ? @labels["inequality"] : @labels["formula"],
89
- "formula", t["unnumbered"]
125
+ "formula", { unnumb:t["unnumbered"] }
90
126
  )
91
127
  end
92
128
  end
@@ -96,11 +132,11 @@ module IsoDoc
96
132
  c = Counter.new
97
133
  notes = t.xpath(ns("./termnote"))
98
134
  notes.noblank.each do |n|
99
- idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
135
+ idx = notes.size == 1 ? "" : c.increment(n).print
136
+ idx.blank? or notenum = " #{semx(n, idx)}"
100
137
  @anchors[n["id"]] =
101
- { label: termnote_label(idx).strip, type: "termnote", value: idx,
102
- xref: l10n("#{anchor(t['id'], :xref)},
103
- #{@labels['note_xref']} #{c.print}") }
138
+ { label: termnote_label(n, idx).strip, type: "termnote", value: idx,
139
+ xref: l10n("#{semx(t, anchor(t['id'], :xref))}<span class='fmt-comma'>,</span> <span class='fmt-element-name'>#{@labels['note_xref']}</span>#{notenum}") }
104
140
  end
105
141
  end
106
142
  end
@@ -44,9 +44,9 @@ module IsoDoc
44
44
  def annex_name_lbl(clause, num)
45
45
  lbl = annextype(clause)
46
46
  if @doctype == "resolution"
47
- l10n("#{lbl.upcase} #{num}")
47
+ l10n("<span class='fmt-element-name'>#{lbl.upcase}</span> #{semx(clause, num)}")
48
48
  else
49
- l10n("<strong>#{lbl} #{num}</strong>")
49
+ l10n("<strong><span class='fmt-caption-label'><span class='fmt-element-name'>#{lbl}</span> #{semx(clause, num)}</span></strong>")
50
50
  end
51
51
  end
52
52
 
@@ -56,21 +56,35 @@ module IsoDoc
56
56
  { label: annex_name_lbl(clause, num),
57
57
  elem: lbl,
58
58
  type: "clause", value: num.to_s, level: level,
59
- xref: l10n("#{lbl} #{num}") }
59
+ #xref: l10n("#{lbl} #{num}") }
60
+ xref: labelled_autonum(lbl, num)
61
+ }
60
62
  end
61
63
 
62
- def annex_names1(clause, num, level)
64
+ # KILL
65
+ def annex_names1x(clause, parentnum, num, level)
66
+ lbl = clause_number_semx(parentnum, clause, num)
67
+ #require 'debug'; binding.b
63
68
  @anchors[clause["id"]] =
64
- { label: num, elem: @labels["annex_subclause"],
65
- xref: @doctype == "resolution" ? num : l10n("#{@labels['annex_subclause']} #{num}"),
69
+ { label: lbl, elem: @labels["annex_subclause"],
70
+ xref: @doctype == "resolution" ? lbl : labelled_autonum(@labels['annex_subclause'], lbl), # l10n("#{@labels['annex_subclause']} #{num}"),
66
71
  level: level, type: "clause" }
67
- i = Counter.new(0, prefix: num)
72
+ i = Counter.new(0)
68
73
  clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
69
74
  .each do |c|
70
- annex_names1(c, i.increment(c).print, level + 1)
75
+ #require 'debug'; binding.b
76
+ annex_names1(c, lbl, i.increment(c).print, level + 1)
71
77
  end
72
78
  end
73
79
 
80
+ def annex_name_anchors1(clause, lbl, level)
81
+ xref = labelled_autonum(@labels['annex_subclause'], lbl)
82
+ @doctype == "resolution" and xref = lbl
83
+ @anchors[clause["id"]] =
84
+ { label: lbl, elem: @labels["annex_subclause"],
85
+ xref: xref, level: level, type: "clause" }
86
+ end
87
+
74
88
  def main_anchor_names(xml)
75
89
  n = Counter.new
76
90
  clause_order_main(xml).each do |a|
@@ -88,26 +102,28 @@ module IsoDoc
88
102
  )
89
103
 
90
104
  num.increment(clause)
91
- lbl = @doctype == "resolution" ? @labels["section"] : @labels["clause"]
105
+ elem = @doctype == "resolution" ? @labels["section"] : @labels["clause"]
106
+ lbl = semx(clause, num.print)
92
107
  @anchors[clause["id"]] =
93
- { label: num.print, xref: l10n("#{lbl} #{num.print}"),
94
- level: lvl, type: "clause", elem: lbl }
95
- i = Counter.new(0, prefix: num.print)
108
+ { label: lbl, xref: labelled_autonum(elem, lbl),# l10n("#{lbl} #{num.print}"),
109
+ level: lvl, type: "clause", elem: elem }
110
+ i = Counter.new(0)
96
111
  clause.xpath(ns(SUBCLAUSES)).each do |c|
97
- section_names1(c, i.increment(c).print, lvl + 1)
112
+ section_names1(c, lbl, i.increment(c).print, lvl + 1)
98
113
  end
99
114
  num
100
115
  end
101
116
 
102
- def section_names1(clause, num, level)
103
- x = @doctype == "resolution" ? num : l10n("#{@labels['clause']} #{num}")
117
+ def section_names1(clause, parentnum, num, level)
118
+ lbl = clause_number_semx(parentnum, clause, num)
119
+ x = @doctype == "resolution" ? semx(clause, lbl) : labelled_autonum(@labels['clause'], lbl) #l10n("#{@labels['clause']} #{num}")
104
120
  @anchors[clause["id"]] =
105
- { label: num, level: level,
121
+ { label: lbl, level: level,
106
122
  elem: @doctype == "resolution" ? "" : @labels["clause"],
107
123
  xref: x }
108
- i = Counter.new(0, prefix: num)
124
+ i = Counter.new(0)
109
125
  clause.xpath(ns(SUBCLAUSES)).each do |c|
110
- section_names1(c, i.increment(c).print, level + 1)
126
+ section_names1(c, lbl, i.increment(c).print, level + 1)
111
127
  end
112
128
  end
113
129
 
@@ -115,7 +131,10 @@ module IsoDoc
115
131
  clause.nil? and return
116
132
  lbl = clause.at(ns("./title"))&.text || "[#{clause['id']}]"
117
133
  @anchors[clause["id"]] =
118
- { label: lbl, xref: l10n(%{"#{lbl}"}), level: lvl,
134
+ { label: lbl,
135
+ # xref: l10n(%{"#{lbl}"}),
136
+ xref: semx(clause, lbl),
137
+ level: lvl,
119
138
  type: "clause" }
120
139
  clause.xpath(ns(SUBCLAUSES)).each do |c|
121
140
  unnumbered_section_names1(c, lvl + 1)
@@ -125,7 +144,10 @@ module IsoDoc
125
144
  def unnumbered_section_names1(clause, level)
126
145
  lbl = clause&.at(ns("./title"))&.text || "[#{clause['id']}]"
127
146
  @anchors[clause["id"]] =
128
- { label: lbl, xref: l10n(%{"#{lbl}"}), level: level,
147
+ { label: lbl,
148
+ #xref: l10n(%{"#{lbl}"}),
149
+ xref: semx(clause, lbl),
150
+ level: level,
129
151
  type: "clause" }
130
152
  clause.xpath(ns(SUBCLAUSES)).each do |c|
131
153
  unnumbered_section_names1(c, level + 1)
@@ -1783,9 +1783,21 @@ that the `number` given for the series applies to the second iteration of number
1783
1783
  May be used to differentiate rendering of notes in bibliographies</a:documentation>
1784
1784
  </attribute>
1785
1785
  </optional>
1786
- <ref name="LocalizedMarkedUpString">
1786
+ <ref name="LocalizedStringAttributes">
1787
1787
  <a:documentation>The content of the note</a:documentation>
1788
1788
  </ref>
1789
+ <choice>
1790
+ <oneOrMore>
1791
+ <ref name="BasicBlockNoId">
1792
+ <a:documentation>Multiple blocks of content</a:documentation>
1793
+ </ref>
1794
+ </oneOrMore>
1795
+ <oneOrMore>
1796
+ <ref name="TextElement">
1797
+ <a:documentation>Single block of content</a:documentation>
1798
+ </ref>
1799
+ </oneOrMore>
1800
+ </choice>
1789
1801
  </element>
1790
1802
  </define>
1791
1803
  <define name="bibabstract">
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.4.0 -->
20
+ <!-- VERSION v1.4.1 -->
21
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
@@ -326,7 +326,7 @@ normative or informative references, some split references into sections organiz
326
326
  <a:documentation>Content of note</a:documentation>
327
327
  <oneOrMore>
328
328
  <choice>
329
- <ref name="paragraph"/>
329
+ <ref name="paragraph-with-footnote"/>
330
330
  <ref name="ul"/>
331
331
  <ref name="ol"/>
332
332
  <ref name="dl"/>
@@ -412,7 +412,7 @@ normative or informative references, some split references into sections organiz
412
412
  <element name="note">
413
413
  <ref name="OptionalId"/>
414
414
  <oneOrMore>
415
- <ref name="paragraph"/>
415
+ <ref name="paragraph-with-footnote"/>
416
416
  </oneOrMore>
417
417
  </element>
418
418
  </define>
@@ -1977,7 +1977,7 @@ used in document amendments</a:documentation>
1977
1977
  <oneOrMore>
1978
1978
  <choice>
1979
1979
  <a:documentation>Content of the verbal representation of the term</a:documentation>
1980
- <ref name="paragraph"/>
1980
+ <ref name="paragraph-with-footnote"/>
1981
1981
  <ref name="dl"/>
1982
1982
  <ref name="ol"/>
1983
1983
  <ref name="ul"/>
@@ -2015,7 +2015,7 @@ used in document amendments</a:documentation>
2015
2015
  <oneOrMore>
2016
2016
  <choice>
2017
2017
  <a:documentation>Content of the term note</a:documentation>
2018
- <ref name="paragraph"/>
2018
+ <ref name="paragraph-with-footnote"/>
2019
2019
  <ref name="ul"/>
2020
2020
  <ref name="ol"/>
2021
2021
  <ref name="dl"/>
@@ -2037,7 +2037,7 @@ used in document amendments</a:documentation>
2037
2037
  <ref name="dl"/>
2038
2038
  <ref name="quote"/>
2039
2039
  <ref name="sourcecode"/>
2040
- <ref name="paragraph"/>
2040
+ <ref name="paragraph-with-footnote"/>
2041
2041
  <ref name="figure"/>
2042
2042
  </choice>
2043
2043
  </oneOrMore>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Itu
3
- VERSION = "2.5.8".freeze
3
+ VERSION = "2.5.9".freeze
4
4
  end
5
5
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ["lib"]
26
26
  spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
27
27
 
28
- spec.add_dependency "metanorma-standoc", "~> 2.10.0"
28
+ spec.add_dependency "metanorma-standoc", "~> 2.10.1"
29
29
  spec.add_dependency "pubid"
30
30
  spec.add_dependency "twitter_cldr", ">= 3.0.0"
31
31
  spec.add_dependency "tzinfo-data" # we need this for windows only
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-itu
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.8
4
+ version: 2.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-11 00:00:00.000000000 Z
11
+ date: 2024-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-standoc
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.10.0
19
+ version: 2.10.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.10.0
26
+ version: 2.10.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pubid
29
29
  requirement: !ruby/object:Gem::Requirement