lutaml-model 0.8.173 → 0.8.174
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 +4 -4
- data/bench/baselines/main_mml.json +16 -16
- data/bench/baselines/main_niso.json +12 -12
- data/bench/baselines/main_sts.json +16 -16
- data/bench/baselines/main_unitsml.json +4 -4
- data/bench/baselines/main_xmi.json +17 -17
- data/lib/lutaml/model/version.rb +1 -1
- data/lib/lutaml/yaml/adapter/yeptris_adapter.rb +10 -11
- data/spec/lutaml/yaml/yeptris_adapter_spec.rb +27 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5c88e0fabb05c803bd90e90e239491b158506fbc28a400a5c622947c6b6660f
|
|
4
|
+
data.tar.gz: 6963e7357fb635c514dcb65844ca6fba6a72e4db19a254b744dcc43ac38ddade
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aac56768d97444e04fe6e92ff1c9e4802daf1dc2d974028a972245db3b83b9c77d81993e13733393d2c0b6024329eb31cb4f36b5af1362c88c6faec41c734488
|
|
7
|
+
data.tar.gz: b999e90b67a01d971f782e906863e35c3d17ed6da0fb1f37f2c757d473d27d1b30f7385903dd94d4f0bea8dfc88a3209be24f5b2a45c17a70362c9047912f05e
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"complex1-46KB": {
|
|
3
|
-
"avg_time": 0.
|
|
4
|
-
"min_time": 0.
|
|
5
|
-
"max_time": 0.
|
|
3
|
+
"avg_time": 0.05412612500000099,
|
|
4
|
+
"min_time": 0.0533452209999723,
|
|
5
|
+
"max_time": 0.05472530600002301,
|
|
6
6
|
"allocations": 51133,
|
|
7
|
-
"ips":
|
|
7
|
+
"ips": 18.475366562819374
|
|
8
8
|
},
|
|
9
9
|
"complex4-50KB": {
|
|
10
|
-
"avg_time": 0.
|
|
11
|
-
"min_time": 0.
|
|
12
|
-
"max_time": 0.
|
|
10
|
+
"avg_time": 0.07426971533332487,
|
|
11
|
+
"min_time": 0.07386825400004682,
|
|
12
|
+
"max_time": 0.07480207200001132,
|
|
13
13
|
"allocations": 71910,
|
|
14
|
-
"ips":
|
|
14
|
+
"ips": 13.464438304522481
|
|
15
15
|
},
|
|
16
16
|
"size1000-245KB": {
|
|
17
|
-
"avg_time": 0.
|
|
18
|
-
"min_time": 0.
|
|
19
|
-
"max_time": 0.
|
|
17
|
+
"avg_time": 0.4342841280000016,
|
|
18
|
+
"min_time": 0.4245886159999941,
|
|
19
|
+
"max_time": 0.443060408000008,
|
|
20
20
|
"allocations": 406451,
|
|
21
|
-
"ips":
|
|
21
|
+
"ips": 2.302639989642901
|
|
22
22
|
},
|
|
23
23
|
"complex3-567KB": {
|
|
24
|
-
"avg_time": 0.
|
|
25
|
-
"min_time": 0.
|
|
26
|
-
"max_time": 0.
|
|
24
|
+
"avg_time": 0.6035884146666604,
|
|
25
|
+
"min_time": 0.5935764820000031,
|
|
26
|
+
"max_time": 0.6103887489999806,
|
|
27
27
|
"allocations": 587536,
|
|
28
|
-
"ips":
|
|
28
|
+
"ips": 1.6567581081758556
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"metrology-4KB": {
|
|
3
|
-
"avg_time": 0.
|
|
4
|
-
"min_time": 0.
|
|
5
|
-
"max_time": 0.
|
|
3
|
+
"avg_time": 0.00901943666666701,
|
|
4
|
+
"min_time": 0.008446076000012681,
|
|
5
|
+
"max_time": 0.009944491999988259,
|
|
6
6
|
"allocations": 7544,
|
|
7
|
-
"ips":
|
|
7
|
+
"ips": 110.87166936885141
|
|
8
8
|
},
|
|
9
9
|
"bmj-49KB": {
|
|
10
|
-
"avg_time": 0.
|
|
11
|
-
"min_time": 0.
|
|
12
|
-
"max_time": 0.
|
|
10
|
+
"avg_time": 0.08010254133333206,
|
|
11
|
+
"min_time": 0.07855880500000012,
|
|
12
|
+
"max_time": 0.08229944900000419,
|
|
13
13
|
"allocations": 72378,
|
|
14
|
-
"ips":
|
|
14
|
+
"ips": 12.483998426949816
|
|
15
15
|
},
|
|
16
16
|
"pnas-152KB": {
|
|
17
|
-
"avg_time": 0.
|
|
18
|
-
"min_time": 0.
|
|
19
|
-
"max_time": 0.
|
|
17
|
+
"avg_time": 0.37417935833332194,
|
|
18
|
+
"min_time": 0.3672698569999966,
|
|
19
|
+
"max_time": 0.37714925399998833,
|
|
20
20
|
"allocations": 259437,
|
|
21
|
-
"ips": 2.
|
|
21
|
+
"ips": 2.6725151394086044
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"feature-doc-23KB": {
|
|
3
|
-
"avg_time": 0.
|
|
4
|
-
"min_time": 0.
|
|
5
|
-
"max_time": 0.
|
|
3
|
+
"avg_time": 0.06622223333332992,
|
|
4
|
+
"min_time": 0.06541184899998598,
|
|
5
|
+
"max_time": 0.06742671500001052,
|
|
6
6
|
"allocations": 32998,
|
|
7
|
-
"ips":
|
|
7
|
+
"ips": 15.100668607271146
|
|
8
8
|
},
|
|
9
9
|
"tbx-nisosts-101KB": {
|
|
10
|
-
"avg_time": 0.
|
|
11
|
-
"min_time": 0.
|
|
12
|
-
"max_time": 0.
|
|
10
|
+
"avg_time": 0.18845745966666527,
|
|
11
|
+
"min_time": 0.1869356610000068,
|
|
12
|
+
"max_time": 0.18972858899999778,
|
|
13
13
|
"allocations": 134786,
|
|
14
|
-
"ips":
|
|
14
|
+
"ips": 5.306237289671383
|
|
15
15
|
},
|
|
16
16
|
"iso-13849-1MB": {
|
|
17
|
-
"avg_time":
|
|
18
|
-
"min_time":
|
|
19
|
-
"max_time":
|
|
17
|
+
"avg_time": 7.070507873666647,
|
|
18
|
+
"min_time": 7.02138297999997,
|
|
19
|
+
"max_time": 7.105545188000008,
|
|
20
20
|
"allocations": 1733464,
|
|
21
|
-
"ips": 0.
|
|
21
|
+
"ips": 0.1414325558881553
|
|
22
22
|
},
|
|
23
23
|
"din-iso-1.1MB": {
|
|
24
|
-
"avg_time": 0.
|
|
25
|
-
"min_time": 0.
|
|
26
|
-
"max_time": 0.
|
|
24
|
+
"avg_time": 0.7734601796666615,
|
|
25
|
+
"min_time": 0.7701626870000098,
|
|
26
|
+
"max_time": 0.7775508419999824,
|
|
27
27
|
"allocations": 883501,
|
|
28
|
-
"ips": 1.
|
|
28
|
+
"ips": 1.292891381209787
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"800-expressions": {
|
|
3
|
-
"avg_time": 0.
|
|
4
|
-
"min_time": 0.
|
|
5
|
-
"max_time": 0.
|
|
3
|
+
"avg_time": 0.3305013003333386,
|
|
4
|
+
"min_time": 0.32859900500000094,
|
|
5
|
+
"max_time": 0.331687751000004,
|
|
6
6
|
"allocations": 134002,
|
|
7
|
-
"ips": 3.
|
|
7
|
+
"ips": 3.0257067036995475
|
|
8
8
|
}
|
|
9
9
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"ea251": {
|
|
3
|
-
"avg_time": 0.
|
|
4
|
-
"min_time": 0.
|
|
5
|
-
"max_time": 0.
|
|
6
|
-
"allocations":
|
|
7
|
-
"ips":
|
|
3
|
+
"avg_time": 0.17868011099999612,
|
|
4
|
+
"min_time": 0.17459571999998502,
|
|
5
|
+
"max_time": 0.18370481700000596,
|
|
6
|
+
"allocations": 183152,
|
|
7
|
+
"ips": 5.596593792131804
|
|
8
8
|
},
|
|
9
9
|
"medium": {
|
|
10
|
-
"avg_time": 0.
|
|
11
|
-
"min_time": 0.
|
|
12
|
-
"max_time": 0.
|
|
10
|
+
"avg_time": 0.44010202266666926,
|
|
11
|
+
"min_time": 0.43002588400000263,
|
|
12
|
+
"max_time": 0.4478196080000032,
|
|
13
13
|
"allocations": 474403,
|
|
14
|
-
"ips":
|
|
14
|
+
"ips": 2.272200418304813
|
|
15
15
|
},
|
|
16
16
|
"citygml": {
|
|
17
|
-
"avg_time": 0.
|
|
18
|
-
"min_time": 0.
|
|
19
|
-
"max_time": 0.
|
|
17
|
+
"avg_time": 0.5005277433333314,
|
|
18
|
+
"min_time": 0.49570570700001326,
|
|
19
|
+
"max_time": 0.5039381569999932,
|
|
20
20
|
"allocations": 586804,
|
|
21
|
-
"ips": 1.
|
|
21
|
+
"ips": 1.9978912524216268
|
|
22
22
|
},
|
|
23
23
|
"large": {
|
|
24
|
-
"avg_time":
|
|
25
|
-
"min_time":
|
|
26
|
-
"max_time":
|
|
24
|
+
"avg_time": 4.091806745666673,
|
|
25
|
+
"min_time": 4.049281349000012,
|
|
26
|
+
"max_time": 4.164525467999994,
|
|
27
27
|
"allocations": 4531263,
|
|
28
|
-
"ips": 0.
|
|
28
|
+
"ips": 0.24439081856908937
|
|
29
29
|
}
|
|
30
30
|
}
|
data/lib/lutaml/model/version.rb
CHANGED
|
@@ -90,17 +90,16 @@ module Lutaml
|
|
|
90
90
|
end
|
|
91
91
|
private_class_method :syntax_error
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
end
|
|
93
|
+
# Dump rides the inherited standard (Psych) adapter — this class
|
|
94
|
+
# does not override #to_yaml. The native Yeptris::Psych.dump
|
|
95
|
+
# does not fold long plain scalars at Psych's 80-column
|
|
96
|
+
# boundary, so an override here changes every stored fixture's
|
|
97
|
+
# byte format the moment the native lane is selected (the
|
|
98
|
+
# 0.8.171 default-flip broke relaton's SAE round-trip spec
|
|
99
|
+
# exactly this way: parse parity landed in yeptris 0.6.57+,
|
|
100
|
+
# dump folding did not — yeptris#863's remaining scope). Parse
|
|
101
|
+
# keeps the native lane, where the parity is real; generation
|
|
102
|
+
# returns here when the engine folds at parity.
|
|
104
103
|
end
|
|
105
104
|
end
|
|
106
105
|
end
|
|
@@ -55,6 +55,33 @@ RSpec.describe Lutaml::Yaml::Adapter::YeptrisAdapter do
|
|
|
55
55
|
it "serializes a hash to YAML that parses back identically" do
|
|
56
56
|
expect(described_class.parse(document.to_yaml)).to eq(attributes)
|
|
57
57
|
end
|
|
58
|
+
|
|
59
|
+
# Dump parity with the standard adapter is the contract: a stored
|
|
60
|
+
# fixture generated under one adapter must round-trip byte-exactly
|
|
61
|
+
# under the other, or a host whose bundle flips the default engine
|
|
62
|
+
# rewrites every stored YAML (relaton's SAE suite caught the
|
|
63
|
+
# 0.8.171 default flip this way — the native emitter does not fold
|
|
64
|
+
# long plain scalars at Psych's 80-column boundary, so generation
|
|
65
|
+
# rides the standard adapter until the engine folds at parity).
|
|
66
|
+
describe "byte parity with the standard adapter" do
|
|
67
|
+
let(:long_scalar) do
|
|
68
|
+
"Taxonomy and Definitions for Terms Related to Driving Automation " \
|
|
69
|
+
"Systems for On-Road Motor Vehicles for On-Road Motor Vehicles"
|
|
70
|
+
end
|
|
71
|
+
let(:wrapped_attributes) do
|
|
72
|
+
{ "title" => long_scalar, "roles" => %w[admin dev] }
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it "folds long plain scalars exactly like the standard adapter" do
|
|
76
|
+
standard = Lutaml::Yaml::Adapter::StandardAdapter.new(wrapped_attributes).to_yaml
|
|
77
|
+
expect(described_class.new(wrapped_attributes).to_yaml).to eq(standard)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
it "parses the standard adapter's folded dump back identically" do
|
|
81
|
+
standard = Lutaml::Yaml::Adapter::StandardAdapter.new(wrapped_attributes).to_yaml
|
|
82
|
+
expect(described_class.parse(standard)).to eq(wrapped_attributes)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
58
85
|
end
|
|
59
86
|
|
|
60
87
|
describe "round trip through a model" do
|
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.174
|
|
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-11-
|
|
11
|
+
date: 2026-11-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|