metanorma 2.3.6 → 2.3.7

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: 4eef0412dfe852af4d9501f0728dbd623eecaf6e34be11e260c3e39d56b1cc38
4
- data.tar.gz: d056fba553e88322f4ba3e7b26f79b7a1b0742baa69b1df2e214304c44f10f54
3
+ metadata.gz: 1fe5c7a031f978aaa36771f2174a8d972d7effc8292d52365065fa0c5c23ba49
4
+ data.tar.gz: 0ec95b729ba94e8836641423adba30c308859b50e112f1796480b566063eae3c
5
5
  SHA512:
6
- metadata.gz: ffe39fe5dcc28776e081ec29f2a95db589483a84aa05cd9f5e97753151c036c9952d1f9b4feb160022f9849f6b71fdfb3d82ad4837e424514480d0664d6a1a3a
7
- data.tar.gz: 60ed129530b14a6cc95d833ed35e981e0fc119a34db65f643bb74e65bbde2b59d4da3ac51173d259f83c7f20c6920a81be7472da8194f9f73e4266af4e076ee2
6
+ metadata.gz: f32e75c81c4faa7c73954eee1442a7603541a927b7d17272ab733b3b5be4f9e643125c8ebbb3da552c5cacf5aa57acd19db138e37fb97cc4ea2fe7d4255ee7da
7
+ data.tar.gz: 38e96e9c3595fbe970c8844711fd37c860ea47484a6b4767c0d841eae630e63573576335c248def2693b1910bdcb3e863a13e0aca72676b92df66d68fac4c6b8
@@ -49,45 +49,47 @@ module Metanorma
49
49
  private
50
50
 
51
51
  # Select the appropriate Relaton parser class for the given flavor tag.
52
+ # Uses the flavor's Item class (not Bibdata) because in Relaton 2.x,
53
+ # Bibdata.from_xml produces a generic Relaton::Bib::ItemData instance
54
+ # (due to BibdataShared resolving `model ItemData` in the definer's scope),
55
+ # while Item.from_xml correctly produces a flavor-specific ItemData instance.
52
56
  # @param tag [String, nil] flavor tag (e.g. "iso", "ietf")
53
- # @param bibdata [Boolean] true when parsing a <bibdata> element (has <ext>);
54
- # false when parsing a <bibitem> element (no <ext>)
55
- # @return [Class] Relaton parser class (Bibdata or Bibitem subclass)
56
- def mn2relaton_parser(tag, bibdata: false)
57
+ # @return [Class] Relaton Item parser class
58
+ def mn2relaton_parser(tag)
57
59
  case tag
58
60
  when "bipm"
59
- require "relaton/bipm" unless defined?(::Relaton::Bipm::Bibdata)
60
- bibdata ? ::Relaton::Bipm::Bibdata : ::Relaton::Bipm::Bibitem
61
+ require "relaton/bipm" unless defined?(::Relaton::Bipm::Item)
62
+ ::Relaton::Bipm::Item
61
63
  when "bsi"
62
- require "relaton/bsi" unless defined?(::Relaton::Bsi::Bibdata)
63
- bibdata ? ::Relaton::Bsi::Bibdata : ::Relaton::Bsi::Bibitem
64
+ require "relaton/bsi" unless defined?(::Relaton::Bsi::Item)
65
+ ::Relaton::Bsi::Item
64
66
  when "ietf"
65
- require "relaton/ietf" unless defined?(::Relaton::Ietf::Bibdata)
66
- bibdata ? ::Relaton::Ietf::Bibdata : ::Relaton::Ietf::Bibitem
67
+ require "relaton/ietf" unless defined?(::Relaton::Ietf::Item)
68
+ ::Relaton::Ietf::Item
67
69
  when "iho"
68
- require "relaton/iho" unless defined?(::Relaton::Iho::Bibdata)
69
- bibdata ? ::Relaton::Iho::Bibdata : ::Relaton::Iho::Bibitem
70
+ require "relaton/iho" unless defined?(::Relaton::Iho::Item)
71
+ ::Relaton::Iho::Item
70
72
  when "itu"
71
- require "relaton/itu" unless defined?(::Relaton::Itu::Bibdata)
72
- bibdata ? ::Relaton::Itu::Bibdata : ::Relaton::Itu::Bibitem
73
+ require "relaton/itu" unless defined?(::Relaton::Itu::Item)
74
+ ::Relaton::Itu::Item
73
75
  when "iec"
74
- require "relaton/iec" unless defined?(::Relaton::Iec::Bibdata)
75
- bibdata ? ::Relaton::Iec::Bibdata : ::Relaton::Iec::Bibitem
76
+ require "relaton/iec" unless defined?(::Relaton::Iec::Item)
77
+ ::Relaton::Iec::Item
76
78
  when "iso"
77
- require "relaton/iso" unless defined?(::Relaton::Iso::Bibdata)
78
- bibdata ? ::Relaton::Iso::Bibdata : ::Relaton::Iso::Bibitem
79
+ require "relaton/iso" unless defined?(::Relaton::Iso::Item)
80
+ ::Relaton::Iso::Item
79
81
  when "nist"
80
- require "relaton/nist" unless defined?(::Relaton::Nist::Bibdata)
81
- bibdata ? ::Relaton::Nist::Bibdata : ::Relaton::Nist::Bibitem
82
+ require "relaton/nist" unless defined?(::Relaton::Nist::Item)
83
+ ::Relaton::Nist::Item
82
84
  when "ogc"
83
- require "relaton/ogc" unless defined?(::Relaton::Ogc::Bibdata)
84
- bibdata ? ::Relaton::Ogc::Bibdata : ::Relaton::Ogc::Bibitem
85
+ require "relaton/ogc" unless defined?(::Relaton::Ogc::Item)
86
+ ::Relaton::Ogc::Item
85
87
  else
86
- bibdata ? ::Relaton::Bib::Bibdata : ::Relaton::Bib::Bibitem
88
+ ::Relaton::Bib::Item
87
89
  end
88
90
  rescue LoadError => e
89
- warn "Warning: Failed to load relaton gem for '#{tag}': #{e.message}. Falling back to Relaton::Bib::Bibdata/Bibitem"
90
- bibdata ? ::Relaton::Bib::Bibdata : ::Relaton::Bib::Bibitem
91
+ warn "Warning: Failed to load relaton gem for '#{tag}': #{e.message}. Falling back to Relaton::Bib::Item"
92
+ ::Relaton::Bib::Item
91
93
  end
92
94
 
93
95
  # #param xml [Nokogiri::XML::Document, Nokogiri::XML::Element]
@@ -101,7 +103,7 @@ module Metanorma
101
103
  r = if b.name == "bibitem"
102
104
  ::Relaton::Bib::Bibitem
103
105
  else
104
- mn2relaton_parser(xml.root["flavor"], bibdata: true)
106
+ mn2relaton_parser(xml.root["flavor"])
105
107
  end
106
108
  # Relaton doesn't understand Pres XML tags
107
109
  b.xpath("//xmlns:fmt-identifier").each(&:remove)
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "2.3.6".freeze
2
+ VERSION = "2.3.7".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-13 00:00:00.000000000 Z
11
+ date: 2026-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor