lutaml-model 0.8.110 → 0.8.112
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3f1d5fc3ccd267d7c8c8f4a7117db2f01b1a81da024724128402ca058584526b
|
|
4
|
+
data.tar.gz: 0c5fa1399c3e9df481ee09480f1851493544c0c26cf1e0f8851c381dec5dfa64
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4809033fde8d06502a1cde12873b1d3214b2f9799c56e9e5e8d390979e0c370332a69d072f780d903349f6115028fb9c35fc0abbc1b84290d380a8ec9e0ed20c
|
|
7
|
+
data.tar.gz: 7756798eb9c1484c509eeddef382a1566dbfbe5fb00dbc133f1d0912589cbd44e6fa539dd5f1ab428de9a37abd2c5a2aa752354df04e299ddd697bfe3ca80e60
|
|
@@ -37,11 +37,13 @@ module Lutaml
|
|
|
37
37
|
@conversion_cache = nil
|
|
38
38
|
@configured = false
|
|
39
39
|
@xml_plan_fast_path = true
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
-
#
|
|
44
|
-
|
|
40
|
+
# On by default since the engine fix: leptris#1743 (the
|
|
41
|
+
# exponential flatten on diamond-shared plan graphs) shipped in
|
|
42
|
+
# 1.9.366.2's identity-memo flatten_plan — the ISO_13849 corpus
|
|
43
|
+
# that hung for 28+ CPU-min now parses in ~8s warm. The floor
|
|
44
|
+
# bump (MIN_LEPTRIS_VERSION = 1.9.366.2) keeps consumers on
|
|
45
|
+
# memo-less engines off this lane.
|
|
46
|
+
@xml_plan_ordered_path = true
|
|
45
47
|
@element_order_tracking = true
|
|
46
48
|
end
|
|
47
49
|
|
data/lib/lutaml/model/version.rb
CHANGED
data/lib/lutaml/xml/leptris.rb
CHANGED
|
@@ -19,7 +19,7 @@ module Lutaml
|
|
|
19
19
|
# leptris-ruby#447). Bundles resolving an older gem keep the
|
|
20
20
|
# interpretive path — PlanCompiler.compile answers nil — the
|
|
21
21
|
# opt-out protocol.
|
|
22
|
-
MIN_LEPTRIS_VERSION = "1.9.
|
|
22
|
+
MIN_LEPTRIS_VERSION = "1.9.366.2"
|
|
23
23
|
|
|
24
24
|
# Memoized: the compiler consults this on every cache hit (per
|
|
25
25
|
# child row per node), and the comparison minted a Gem::Version
|
|
@@ -78,12 +78,21 @@ module Lutaml
|
|
|
78
78
|
|
|
79
79
|
def add_xml_fragment_or_raw_content(parent, fragment_string)
|
|
80
80
|
require "moxml" unless defined?(Moxml)
|
|
81
|
-
fragment_doc =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
fragment_doc = begin
|
|
82
|
+
Moxml.new.parse(fragment_string, fragment: true)
|
|
83
|
+
rescue Moxml::ParseError
|
|
84
|
+
# Engines that reject multi-root fragments outright
|
|
85
|
+
# (lutaml/moxml#188) — fall through to the synthetic root.
|
|
86
|
+
nil
|
|
87
|
+
end
|
|
88
|
+
# The fallback keys on the RESULT, not the exception: recover-mode
|
|
89
|
+
# engines return an empty document for multi-root fragments instead
|
|
90
|
+
# of raising, which used to leave the synthetic-root path dead and
|
|
91
|
+
# the fragment silently dropped.
|
|
92
|
+
if fragment_doc&.children&.any?(&:element?)
|
|
93
|
+
return add_fragment_children_to_parent(fragment_doc, parent)
|
|
94
|
+
end
|
|
95
|
+
|
|
87
96
|
wrapped = Moxml.new.parse(
|
|
88
97
|
"<lutaml-fragment>#{fragment_string}</lutaml-fragment>",
|
|
89
98
|
)
|
|
@@ -51,11 +51,12 @@ RSpec.describe Lutaml::Model::AdapterResolver, ".adapter_for with a configured t
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
describe "plan lane defaults" do
|
|
54
|
-
it "ships the ordered plan lane
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
|
|
54
|
+
it "ships the ordered plan lane on, floored to the memo-capable engine" do
|
|
55
|
+
# leptris#1743 (exponential flatten on diamond-shared plan
|
|
56
|
+
# graphs) shipped its identity-memo flatten_plan in 1.9.366.2;
|
|
57
|
+
# the MIN_LEPTRIS_VERSION floor keeps memo-less engines on the
|
|
58
|
+
# interpretive path, so the default-on lane is safe.
|
|
59
|
+
expect(Lutaml::Model::Config.instance.xml_plan_ordered_path).to be(true)
|
|
59
60
|
end
|
|
60
61
|
end
|
|
61
62
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lutaml-model
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.112
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|