metanorma-csa 2.4.0 → 2.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/csa/csa.standard.xsl +103 -16
- data/lib/isodoc/csa/metadata.rb +10 -8
- data/lib/metanorma/csa/basicdoc.rng +3 -0
- data/lib/metanorma/csa/isodoc.rng +4 -1
- data/lib/metanorma/csa/version.rb +1 -1
- data/metanorma-csa.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5bef565529ba8c3d376a169c0593757f0be8e0f51a876ef8043aa08127728df
|
4
|
+
data.tar.gz: 47c1ae2636d2c8d0a954694480afe9f998d08afce3eb0626ae9e6f423e583ec4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83bcf0f50b66cf1893a1de62f51e1fbcbe77a3703f6071d7be60d7968e6fdc28b772551062a781e3e1b9231aa6e16f190a00137765e60fd83dec2712c5d5e2dd
|
7
|
+
data.tar.gz: 8d50516c5236e27df948c97cf6e7c36a9182df9e1d51c9fbf382fd1a7c8392978425de3d210d825edf2268976af3c0edc4e35bc3528045f5b821b2fd69addbb7
|
@@ -1093,6 +1093,10 @@
|
|
1093
1093
|
|
1094
1094
|
</xsl:attribute-set>
|
1095
1095
|
|
1096
|
+
<xsl:template name="refine_termexample-style">
|
1097
|
+
|
1098
|
+
</xsl:template>
|
1099
|
+
|
1096
1100
|
<xsl:attribute-set name="example-style">
|
1097
1101
|
|
1098
1102
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
@@ -2185,6 +2189,36 @@
|
|
2185
2189
|
</xsl:for-each>
|
2186
2190
|
</xsl:template>
|
2187
2191
|
|
2192
|
+
<xsl:template name="processMainSectionsDefault_flatxml">
|
2193
|
+
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
|
2194
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
2195
|
+
<xsl:variable name="flatxml">
|
2196
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
2197
|
+
</xsl:variable>
|
2198
|
+
<!-- debug_flatxml='<xsl:copy-of select="$flatxml"/>' -->
|
2199
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml)/*"/>
|
2200
|
+
|
2201
|
+
</xsl:for-each>
|
2202
|
+
|
2203
|
+
<xsl:for-each select="/*/*[local-name()='annex']">
|
2204
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
2205
|
+
<xsl:variable name="flatxml">
|
2206
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
2207
|
+
</xsl:variable>
|
2208
|
+
<!-- debug_flatxml='<xsl:copy-of select="$flatxml"/>' -->
|
2209
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml)/*"/>
|
2210
|
+
</xsl:for-each>
|
2211
|
+
|
2212
|
+
<xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
|
2213
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
2214
|
+
<xsl:variable name="flatxml">
|
2215
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
2216
|
+
</xsl:variable>
|
2217
|
+
<!-- debug_flatxml='<xsl:copy-of select="$flatxml"/>' -->
|
2218
|
+
<xsl:apply-templates select="xalan:nodeset($flatxml)/*"/>
|
2219
|
+
</xsl:for-each>
|
2220
|
+
</xsl:template>
|
2221
|
+
|
2188
2222
|
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
2189
2223
|
<xsl:variable name="tag_fo_inline_keep-together_within-line_open">###fo:inline keep-together_within-line###</xsl:variable>
|
2190
2224
|
<xsl:variable name="tag_fo_inline_keep-together_within-line_close">###/fo:inline keep-together_within-line###</xsl:variable>
|
@@ -2311,7 +2345,9 @@
|
|
2311
2345
|
</xsl:template> <!-- license-statement/p -->
|
2312
2346
|
|
2313
2347
|
<xsl:template match="*[local-name()='legal-statement']">
|
2348
|
+
<xsl:param name="isLegacy">false</xsl:param>
|
2314
2349
|
<fo:block xsl:use-attribute-sets="legal-statement-style">
|
2350
|
+
|
2315
2351
|
<xsl:apply-templates/>
|
2316
2352
|
</fo:block>
|
2317
2353
|
</xsl:template> <!-- legal-statement -->
|
@@ -4256,13 +4292,13 @@
|
|
4256
4292
|
<tr>
|
4257
4293
|
<td>
|
4258
4294
|
<xsl:attribute name="id">
|
4259
|
-
<xsl:value-of select="concat($id,'
|
4295
|
+
<xsl:value-of select="concat($id,'@',$row_number,'_1')"/>
|
4260
4296
|
</xsl:attribute>
|
4261
4297
|
<xsl:apply-templates/>
|
4262
4298
|
</td>
|
4263
4299
|
<td>
|
4264
4300
|
<xsl:attribute name="id">
|
4265
|
-
<xsl:value-of select="concat($id,'
|
4301
|
+
<xsl:value-of select="concat($id,'@',$row_number,'_2')"/>
|
4266
4302
|
</xsl:attribute>
|
4267
4303
|
|
4268
4304
|
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
|
@@ -4573,13 +4609,14 @@
|
|
4573
4609
|
<!-- ================= -->
|
4574
4610
|
<!-- Added,deleted text -->
|
4575
4611
|
<!-- ================= -->
|
4576
|
-
<xsl:template match="*[local-name()='add']" name="tag_add">
|
4612
|
+
<xsl:template match="*[local-name()='add'] | *[local-name() = 'change-open-tag'] | *[local-name() = 'change-close-tag']" name="tag_add">
|
4577
4613
|
<xsl:param name="skip">true</xsl:param>
|
4578
4614
|
<xsl:param name="block">false</xsl:param>
|
4579
4615
|
<xsl:param name="type"/>
|
4580
4616
|
<xsl:param name="text-align"/>
|
4581
4617
|
<xsl:choose>
|
4582
|
-
<xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start
|
4618
|
+
<xsl:when test="starts-with(., $ace_tag) or local-name() = 'change-open-tag' or local-name() = 'change-close-tag'"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start, or
|
4619
|
+
<change-open-tag>A<sub>1</sub></change-open-tag>, <change-close-tag>A<sub>1</sub></change-close-tag> -->
|
4583
4620
|
<xsl:choose>
|
4584
4621
|
<xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
|
4585
4622
|
<xsl:otherwise>
|
@@ -4587,12 +4624,32 @@
|
|
4587
4624
|
<xsl:call-template name="insertTag">
|
4588
4625
|
<xsl:with-param name="type">
|
4589
4626
|
<xsl:choose>
|
4627
|
+
<xsl:when test="local-name() = 'change-open-tag'">start</xsl:when>
|
4628
|
+
<xsl:when test="local-name() = 'change-close-tag'">end</xsl:when>
|
4590
4629
|
<xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
|
4591
4630
|
<xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
|
4592
4631
|
</xsl:choose>
|
4593
4632
|
</xsl:with-param>
|
4594
|
-
<xsl:with-param name="kind"
|
4595
|
-
|
4633
|
+
<xsl:with-param name="kind">
|
4634
|
+
<xsl:choose>
|
4635
|
+
<xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
|
4636
|
+
<xsl:value-of select="text()"/>
|
4637
|
+
</xsl:when>
|
4638
|
+
<xsl:otherwise>
|
4639
|
+
<xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
|
4640
|
+
</xsl:otherwise>
|
4641
|
+
</xsl:choose>
|
4642
|
+
</xsl:with-param>
|
4643
|
+
<xsl:with-param name="value">
|
4644
|
+
<xsl:choose>
|
4645
|
+
<xsl:when test="local-name() = 'change-open-tag' or local-name() = 'change-close-tag'">
|
4646
|
+
<xsl:value-of select="*[local-name() = 'sub']"/>
|
4647
|
+
</xsl:when>
|
4648
|
+
<xsl:otherwise>
|
4649
|
+
<xsl:value-of select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
|
4650
|
+
</xsl:otherwise>
|
4651
|
+
</xsl:choose>
|
4652
|
+
</xsl:with-param>
|
4596
4653
|
</xsl:call-template>
|
4597
4654
|
</xsl:variable>
|
4598
4655
|
<xsl:choose>
|
@@ -4852,6 +4909,10 @@
|
|
4852
4909
|
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
4853
4910
|
</xsl:template>
|
4854
4911
|
|
4912
|
+
<xsl:template match="*[local-name() = 'span'][contains(@style, 'text-transform:none')]//text()" priority="5">
|
4913
|
+
<xsl:value-of select="."/>
|
4914
|
+
</xsl:template>
|
4915
|
+
|
4855
4916
|
<!-- ========================= -->
|
4856
4917
|
<!-- END Rich text formatting -->
|
4857
4918
|
<!-- ========================= -->
|
@@ -5482,7 +5543,7 @@
|
|
5482
5543
|
</xsl:choose>
|
5483
5544
|
</xsl:variable>
|
5484
5545
|
<xsl:attribute name="id">
|
5485
|
-
<xsl:value-of select="concat($id,'
|
5546
|
+
<xsl:value-of select="concat($id,'@',$row_number,'_',$col_number,'_',$divide)"/>
|
5486
5547
|
</xsl:attribute>
|
5487
5548
|
|
5488
5549
|
<xsl:for-each select="*[local-name() = 'p']">
|
@@ -5490,7 +5551,7 @@
|
|
5490
5551
|
<xsl:copy-of select="@*"/>
|
5491
5552
|
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
5492
5553
|
<xsl:attribute name="id">
|
5493
|
-
<xsl:value-of select="concat($id,'
|
5554
|
+
<xsl:value-of select="concat($id,'@',$row_number,'_',$col_number,'_p_',$p_num,'_',$divide)"/>
|
5494
5555
|
</xsl:attribute>
|
5495
5556
|
|
5496
5557
|
<!-- <xsl:copy-of select="node()" /> -->
|
@@ -5554,7 +5615,7 @@
|
|
5554
5615
|
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
5555
5616
|
<xsl:copy>
|
5556
5617
|
<xsl:attribute name="id">
|
5557
|
-
<xsl:value-of select="concat($id,'
|
5618
|
+
<xsl:value-of select="concat($id,'@',$row_number,'_',$col_number,'_word_',$num,'_',$divide)"/>
|
5558
5619
|
</xsl:attribute>
|
5559
5620
|
<xsl:copy-of select="node()"/>
|
5560
5621
|
</xsl:copy>
|
@@ -6800,11 +6861,17 @@
|
|
6800
6861
|
</xsl:when>
|
6801
6862
|
<xsl:otherwise>
|
6802
6863
|
|
6864
|
+
<xsl:variable name="image_class" select="ancestor::*[local-name() = 'image']/@class"/>
|
6865
|
+
<xsl:variable name="ancestor_table_cell" select="normalize-space(ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])"/>
|
6866
|
+
|
6803
6867
|
<xsl:variable name="element">
|
6804
6868
|
<xsl:choose>
|
6805
6869
|
<xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
|
6806
6870
|
<fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
|
6807
6871
|
</xsl:when>
|
6872
|
+
<xsl:when test="not(ancestor::*[local-name() = 'figure'])">
|
6873
|
+
<fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
|
6874
|
+
</xsl:when>
|
6808
6875
|
<xsl:otherwise>
|
6809
6876
|
<fo:block xsl:use-attribute-sets="image-style">
|
6810
6877
|
<xsl:if test="ancestor::*[local-name() = 'dt']">
|
@@ -6820,10 +6887,24 @@
|
|
6820
6887
|
<xsl:copy-of select="@*"/>
|
6821
6888
|
<!-- <fo:block xsl:use-attribute-sets="image-style"> -->
|
6822
6889
|
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
6823
|
-
|
6824
|
-
|
6825
|
-
|
6826
|
-
|
6890
|
+
|
6891
|
+
<xsl:choose>
|
6892
|
+
<xsl:when test="$image_class = 'corrigenda-tag'">
|
6893
|
+
<xsl:attribute name="fox:alt-text">CorrigendaTag</xsl:attribute>
|
6894
|
+
<xsl:attribute name="baseline-shift">-10%</xsl:attribute>
|
6895
|
+
<xsl:if test="$ancestor_table_cell = 'true'">
|
6896
|
+
<xsl:attribute name="baseline-shift">-25%</xsl:attribute>
|
6897
|
+
</xsl:if>
|
6898
|
+
<xsl:attribute name="height">3.5mm</xsl:attribute>
|
6899
|
+
</xsl:when>
|
6900
|
+
<xsl:otherwise>
|
6901
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
6902
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
6903
|
+
</xsl:if>
|
6904
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
6905
|
+
</xsl:otherwise>
|
6906
|
+
</xsl:choose>
|
6907
|
+
|
6827
6908
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
6828
6909
|
<xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
|
6829
6910
|
<xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
|
@@ -8339,7 +8420,7 @@
|
|
8339
8420
|
<!-- ====== -->
|
8340
8421
|
<xsl:template match="*[local-name() = 'termexample']">
|
8341
8422
|
<fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
|
8342
|
-
|
8423
|
+
<xsl:call-template name="refine_termexample-style"/>
|
8343
8424
|
<xsl:call-template name="setBlockSpanAll"/>
|
8344
8425
|
|
8345
8426
|
<xsl:apply-templates select="*[local-name()='name']"/>
|
@@ -9027,13 +9108,19 @@
|
|
9027
9108
|
<fo:block id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9028
9109
|
</xsl:when>
|
9029
9110
|
<!-- if there isn't element with id 'from', then create 'bookmark' here -->
|
9030
|
-
<xsl:when test="not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
9111
|
+
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
9112
|
+
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9113
|
+
</xsl:when>
|
9114
|
+
<xsl:when test="not(//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
9031
9115
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9032
9116
|
</xsl:when>
|
9033
9117
|
</xsl:choose>
|
9034
9118
|
|
9035
9119
|
</xsl:template>
|
9036
9120
|
|
9121
|
+
<!-- https://github.com/metanorma/mn-samples-bsi/issues/312 -->
|
9122
|
+
<xsl:template match="*[local-name() = 'review'][@type = 'other']"/>
|
9123
|
+
|
9037
9124
|
<xsl:template match="*[local-name() = 'name']/text()">
|
9038
9125
|
<!-- 0xA0 to space replacement -->
|
9039
9126
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
@@ -10616,7 +10703,7 @@
|
|
10616
10703
|
|
10617
10704
|
<xsl:template name="printEdition">
|
10618
10705
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
10619
|
-
|
10706
|
+
|
10620
10707
|
<xsl:choose>
|
10621
10708
|
<xsl:when test="$edition_i18n != ''">
|
10622
10709
|
<!-- Example: <edition language="fr">deuxième édition</edition> -->
|
data/lib/isodoc/csa/metadata.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "isodoc"
|
4
4
|
|
5
5
|
module IsoDoc
|
6
6
|
module Csa
|
@@ -12,7 +12,8 @@ module IsoDoc
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def title(isoxml, _out)
|
15
|
-
main = isoxml
|
15
|
+
main = isoxml.at(ns("//bibdata/title[@language='en']"))
|
16
|
+
&.children&.to_xml
|
16
17
|
set(:doctitle, main)
|
17
18
|
end
|
18
19
|
|
@@ -39,8 +40,8 @@ module IsoDoc
|
|
39
40
|
end
|
40
41
|
|
41
42
|
def nonauth_roles(isoxml, persons)
|
42
|
-
roles = isoxml.xpath(ns("//bibdata/contributor[person]/role/@type"))
|
43
|
-
inject([]) { |m, t| m << t.value }.reject { |i| i == "author" }
|
43
|
+
roles = isoxml.xpath(ns("//bibdata/contributor[person]/role/@type"))
|
44
|
+
.inject([]) { |m, t| m << t.value }.reject { |i| i == "author" }
|
44
45
|
roles.uniq.sort.each do |r|
|
45
46
|
n = isoxml.xpath(ns("//bibdata/contributor[role/@type = '#{r}']"\
|
46
47
|
"/person"))
|
@@ -51,12 +52,13 @@ module IsoDoc
|
|
51
52
|
|
52
53
|
def auth_roles(isoxml, persons)
|
53
54
|
roles = isoxml.xpath(ns("//bibdata/contributor[person]/"\
|
54
|
-
"role[@type = 'author']/description"))
|
55
|
-
|
55
|
+
"role[@type = 'author']/description"))
|
56
|
+
.inject([]) { |m, t| m << t.text }
|
56
57
|
roles.uniq.sort.each do |r|
|
57
58
|
n = isoxml.xpath(
|
58
|
-
|
59
|
-
|
59
|
+
ns("//bibdata/contributor[role/@type = 'author']"\
|
60
|
+
"[xmlns:role/description = '#{r}']/person"),
|
61
|
+
)
|
60
62
|
n.empty? or persons[r] = extract_person_names_affiliations(n)
|
61
63
|
end
|
62
64
|
persons
|
@@ -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.
|
20
|
+
<!-- VERSION v1.3.0 -->
|
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">
|
@@ -146,6 +146,9 @@
|
|
146
146
|
<data type="boolean"/>
|
147
147
|
</attribute>
|
148
148
|
</optional>
|
149
|
+
<optional>
|
150
|
+
<attribute name="style"/>
|
151
|
+
</optional>
|
149
152
|
<oneOrMore>
|
150
153
|
<ref name="PureTextElement"/>
|
151
154
|
</oneOrMore>
|
data/metanorma-csa.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.require_paths = ["lib"]
|
30
30
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
31
31
|
|
32
|
-
spec.add_dependency "metanorma-generic", "~> 2.6.
|
32
|
+
spec.add_dependency "metanorma-generic", "~> 2.6.1"
|
33
33
|
|
34
34
|
spec.add_development_dependency "debug"
|
35
35
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-csa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.2
|
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
|
+
date: 2024-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-generic
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.6.
|
19
|
+
version: 2.6.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.6.
|
26
|
+
version: 2.6.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: debug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|