metanorma-iso 3.5.2 → 3.5.3

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: 41f2468c77bd949ee94e2f8cbfa5f60c01b5a5633db5d1ee05b248a977966f6f
4
- data.tar.gz: 2413d3b2af2054253b248a3661929282e2eb43d26f4660304805bd86abc7b19d
3
+ metadata.gz: 66c9e9b0d1e7b7543e36cc45fcf3da25412f1f5a07f743a1cfc7a13258a9bcb7
4
+ data.tar.gz: c9f02b3911b7e103ba710fd51f9e08266c185c3e3de5a0b0cba2d718f96ed768
5
5
  SHA512:
6
- metadata.gz: 0536b71c11b64054b8f8efc51e4eabe7430759d5c3f70189a53770b6425fdd585a141bee630c2adc63a07fa8d4da9b87cce4112b1a0e8651824191823b3903a9
7
- data.tar.gz: ae3d8b25bf269f9efe7b71ff210599f30f3af7f2a222b10663714394dda19402467102774f849ee2f0c7f702d471f21426038f6c477438c98d052afa813a5f5f
6
+ metadata.gz: 2f72541b1c6ddf638541c2724ce5bad4c1f7fab8141f0250b9d0f01531f21437f5b1f08ff80ee08bbeac9f00ffff96141880a816a131d0776a9d391772d22c13
7
+ data.tar.gz: 4a6a3271493c97dcd34eac4acda96ad20dfbeddf526bfa87b8407d94c72c75456767016f348d2ad88485290cab68977110edf23476b43037b3f2a4f9a0b54de2
@@ -68,7 +68,9 @@ module Metanorma
68
68
  items << SectionItem.new(kind: clause_kind(clause), node: clause) if clause
69
69
  clause_idx += 1
70
70
  when "terms"
71
- terms = sections.terms
71
+ # Multiple terms clauses are an Array; the order walk is
72
+ # per-occurrence, so index like the clause branch does.
73
+ terms = Array(sections.terms)[terms_idx]
72
74
  items << SectionItem.new(kind: :terms, node: terms) if terms
73
75
  terms_idx += 1
74
76
  when "definitions"
@@ -36,7 +36,11 @@ module Metanorma
36
36
  return enum_for(__method__, root) unless block_given?
37
37
 
38
38
  sections = root&.sections or return
39
- visit_terms_section(sections.terms) { |term| yield(term) }
39
+ # sections.terms is an Array when the document carries multiple
40
+ # terms clauses (vocabulary corpora carry one per concept).
41
+ Array(sections.terms).each do |terms_section|
42
+ visit_terms_section(terms_section) { |term| yield(term) }
43
+ end
40
44
  visit_clause_subtree_for_terms(sections.clause) { |t| yield(t) }
41
45
  end
42
46
 
@@ -68,7 +72,7 @@ module Metanorma
68
72
  return enum_for(__method__, root) unless block_given?
69
73
 
70
74
  sections = root&.sections or return
71
- yield(sections.terms) if sections.terms
75
+ Array(sections.terms).each { |terms_section| yield(terms_section) }
72
76
  visit_clauses_for_terms(sections.clause) { |t| yield(t) }
73
77
  end
74
78
 
@@ -462,7 +466,9 @@ module Metanorma
462
466
 
463
467
  def visit_clauses_for_terms(clauses)
464
468
  Array(clauses).each do |clause|
465
- yield(clause.terms) if clause.class.method_defined?(:terms) && clause.terms
469
+ if clause.class.method_defined?(:terms) && clause.terms
470
+ Array(clause.terms).each { |terms_section| yield(terms_section) }
471
+ end
466
472
  visit_clauses_for_terms(clause.clause) { |t| yield(t) } if clause.class.method_defined?(:clause)
467
473
  end
468
474
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Iso
3
- VERSION = "3.5.2".freeze
3
+ VERSION = "3.5.3".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.2
4
+ version: 3.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.