lutaml-model 0.5.3 → 0.6.0
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/.github/workflows/dependent-tests.yml +2 -0
- data/.rubocop_todo.yml +86 -23
- data/Gemfile +2 -0
- data/README.adoc +1441 -220
- data/lib/lutaml/model/attribute.rb +33 -10
- data/lib/lutaml/model/choice.rb +56 -0
- data/lib/lutaml/model/config.rb +1 -0
- data/lib/lutaml/model/constants.rb +7 -0
- data/lib/lutaml/model/error/choice_lower_bound_error.rb +9 -0
- data/lib/lutaml/model/error/choice_upper_bound_error.rb +9 -0
- data/lib/lutaml/model/error/import_model_with_root_error.rb +9 -0
- data/lib/lutaml/model/error/incorrect_sequence_error.rb +9 -0
- data/lib/lutaml/model/error/invalid_choice_range_error.rb +20 -0
- data/lib/lutaml/model/error/no_root_mapping_error.rb +9 -0
- data/lib/lutaml/model/error/no_root_namespace_error.rb +9 -0
- data/lib/lutaml/model/error/type/invalid_value_error.rb +19 -0
- data/lib/lutaml/model/error/unknown_sequence_mapping_error.rb +9 -0
- data/lib/lutaml/model/error.rb +9 -0
- data/lib/lutaml/model/json_adapter/standard_json_adapter.rb +6 -1
- data/lib/lutaml/model/key_value_mapping.rb +34 -3
- data/lib/lutaml/model/key_value_mapping_rule.rb +4 -2
- data/lib/lutaml/model/liquefiable.rb +59 -0
- data/lib/lutaml/model/mapping_hash.rb +9 -1
- data/lib/lutaml/model/mapping_rule.rb +19 -2
- data/lib/lutaml/model/schema/templates/simple_type.rb +247 -0
- data/lib/lutaml/model/schema/xml_compiler.rb +762 -0
- data/lib/lutaml/model/schema.rb +5 -0
- data/lib/lutaml/model/schema_location.rb +7 -0
- data/lib/lutaml/model/sequence.rb +71 -0
- data/lib/lutaml/model/serialize.rb +139 -33
- data/lib/lutaml/model/toml_adapter/toml_rb_adapter.rb +1 -2
- data/lib/lutaml/model/type/decimal.rb +0 -4
- data/lib/lutaml/model/type/hash.rb +11 -11
- data/lib/lutaml/model/type/time.rb +3 -3
- data/lib/lutaml/model/utils.rb +19 -15
- data/lib/lutaml/model/validation.rb +12 -1
- data/lib/lutaml/model/version.rb +1 -1
- data/lib/lutaml/model/xml_adapter/builder/oga.rb +10 -7
- data/lib/lutaml/model/xml_adapter/builder/ox.rb +20 -13
- data/lib/lutaml/model/xml_adapter/element.rb +32 -0
- data/lib/lutaml/model/xml_adapter/nokogiri_adapter.rb +13 -9
- data/lib/lutaml/model/xml_adapter/oga/element.rb +14 -13
- data/lib/lutaml/model/xml_adapter/oga_adapter.rb +86 -19
- data/lib/lutaml/model/xml_adapter/ox_adapter.rb +19 -15
- data/lib/lutaml/model/xml_adapter/xml_document.rb +82 -25
- data/lib/lutaml/model/xml_adapter/xml_element.rb +57 -3
- data/lib/lutaml/model/xml_mapping.rb +53 -9
- data/lib/lutaml/model/xml_mapping_rule.rb +8 -6
- data/lib/lutaml/model.rb +2 -0
- data/lutaml-model.gemspec +5 -0
- data/spec/benchmarks/xml_parsing_benchmark_spec.rb +75 -0
- data/spec/ceramic_spec.rb +39 -0
- data/spec/fixtures/ceramic.rb +23 -0
- data/spec/fixtures/xml/address_example_260.xsd +9 -0
- data/spec/fixtures/xml/invalid_math_document.xml +4 -0
- data/spec/fixtures/xml/math_document_schema.xsd +56 -0
- data/spec/fixtures/xml/test_schema.xsd +53 -0
- data/spec/fixtures/xml/user.xsd +10 -0
- data/spec/fixtures/xml/valid_math_document.xml +4 -0
- data/spec/lutaml/model/cdata_spec.rb +4 -5
- data/spec/lutaml/model/choice_spec.rb +168 -0
- data/spec/lutaml/model/collection_spec.rb +1 -1
- data/spec/lutaml/model/custom_model_spec.rb +7 -21
- data/spec/lutaml/model/custom_serialization_spec.rb +74 -2
- data/spec/lutaml/model/defaults_spec.rb +3 -1
- data/spec/lutaml/model/delegation_spec.rb +7 -5
- data/spec/lutaml/model/enum_spec.rb +35 -0
- data/spec/lutaml/model/group_spec.rb +160 -0
- data/spec/lutaml/model/inheritance_spec.rb +25 -0
- data/spec/lutaml/model/key_value_mapping_spec.rb +27 -0
- data/spec/lutaml/model/liquefiable_spec.rb +121 -0
- data/spec/lutaml/model/map_all_spec.rb +188 -0
- data/spec/lutaml/model/mixed_content_spec.rb +95 -56
- data/spec/lutaml/model/multiple_mapping_spec.rb +22 -10
- data/spec/lutaml/model/schema/xml_compiler_spec.rb +1624 -0
- data/spec/lutaml/model/sequence_spec.rb +216 -0
- data/spec/lutaml/model/transformation_spec.rb +230 -0
- data/spec/lutaml/model/type_spec.rb +138 -31
- data/spec/lutaml/model/utils_spec.rb +32 -0
- data/spec/lutaml/model/with_child_mapping_spec.rb +2 -2
- data/spec/lutaml/model/xml_adapter/oga_adapter_spec.rb +11 -7
- data/spec/lutaml/model/xml_adapter/xml_namespace_spec.rb +52 -0
- data/spec/lutaml/model/xml_mapping_rule_spec.rb +51 -0
- data/spec/lutaml/model/xml_mapping_spec.rb +250 -112
- metadata +77 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9883cb9431e9cd0c40c6e30891e1fb84861f1b9e9e7eb31a1cb5c6ec0d6121dc
|
|
4
|
+
data.tar.gz: 2d00bb121ca7486d151f4daaacb86f98824ef5950460dc4caecffe4280c93607
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: df269be2c13bb4586e13d99dc79b47dbe1b445d49b8f23adf9c7ef502dae58deb77dd714431d29991c56e9aa9ac422a03910648e6f9a81414c7f375541fa6bf4
|
|
7
|
+
data.tar.gz: ed384722ad8f1fdb81671c8318ae0190c7372780a910ffece79e50658103344bd9f293afce048afa728cc91e47d952f6812bdbf2bce7a18d652d6704f9ef69cd
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,44 +1,70 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on 2025-
|
|
3
|
+
# on 2025-02-08 01:06:17 UTC using RuboCop version 1.71.2.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count:
|
|
9
|
+
# Offense count: 2
|
|
10
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
11
|
+
Layout/ElseAlignment:
|
|
12
|
+
Exclude:
|
|
13
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
14
|
+
|
|
15
|
+
# Offense count: 2
|
|
16
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
17
|
+
# Configuration parameters: EnforcedStyleAlignWith, Severity.
|
|
18
|
+
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
|
19
|
+
Layout/EndAlignment:
|
|
20
|
+
Exclude:
|
|
21
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
22
|
+
|
|
23
|
+
# Offense count: 2
|
|
24
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
25
|
+
# Configuration parameters: Width, AllowedPatterns.
|
|
26
|
+
Layout/IndentationWidth:
|
|
27
|
+
Exclude:
|
|
28
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
29
|
+
|
|
30
|
+
# Offense count: 596
|
|
10
31
|
# This cop supports safe autocorrection (--autocorrect).
|
|
11
32
|
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
|
|
12
33
|
# URISchemes: http, https
|
|
13
34
|
Layout/LineLength:
|
|
14
35
|
Enabled: false
|
|
15
36
|
|
|
16
|
-
# Offense count:
|
|
37
|
+
# Offense count: 19
|
|
17
38
|
# Configuration parameters: AllowedMethods.
|
|
18
39
|
# AllowedMethods: enums
|
|
19
40
|
Lint/ConstantDefinitionInBlock:
|
|
20
41
|
Exclude:
|
|
42
|
+
- 'spec/benchmarks/xml_parsing_benchmark_spec.rb'
|
|
21
43
|
- 'spec/lutaml/model/schema/json_schema_spec.rb'
|
|
22
44
|
- 'spec/lutaml/model/schema/relaxng_schema_spec.rb'
|
|
23
45
|
- 'spec/lutaml/model/schema/xsd_schema_spec.rb'
|
|
24
46
|
- 'spec/lutaml/model/schema/yaml_schema_spec.rb'
|
|
25
|
-
- 'spec/lutaml/model/
|
|
47
|
+
- 'spec/lutaml/model/transformation_spec.rb'
|
|
26
48
|
- 'spec/lutaml/model/validation_spec.rb'
|
|
27
49
|
- 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
|
|
28
50
|
|
|
29
|
-
# Offense count:
|
|
51
|
+
# Offense count: 4
|
|
30
52
|
Lint/DuplicateMethods:
|
|
31
53
|
Exclude:
|
|
32
54
|
- 'lib/lutaml/model/type/float.rb'
|
|
55
|
+
- 'lib/lutaml/model/xml_adapter/xml_document.rb'
|
|
56
|
+
- 'lib/lutaml/model/xml_adapter/xml_element.rb'
|
|
33
57
|
|
|
34
|
-
# Offense count:
|
|
58
|
+
# Offense count: 56
|
|
35
59
|
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
|
|
36
60
|
Metrics/AbcSize:
|
|
37
61
|
Exclude:
|
|
38
62
|
- 'lib/lutaml/model/attribute.rb'
|
|
39
63
|
- 'lib/lutaml/model/comparable_model.rb'
|
|
64
|
+
- 'lib/lutaml/model/key_value_mapping.rb'
|
|
40
65
|
- 'lib/lutaml/model/mapping_rule.rb'
|
|
41
66
|
- 'lib/lutaml/model/schema/relaxng_schema.rb'
|
|
67
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
42
68
|
- 'lib/lutaml/model/schema/xsd_schema.rb'
|
|
43
69
|
- 'lib/lutaml/model/serialize.rb'
|
|
44
70
|
- 'lib/lutaml/model/xml_adapter/nokogiri_adapter.rb'
|
|
@@ -49,18 +75,21 @@ Metrics/AbcSize:
|
|
|
49
75
|
- 'lib/lutaml/model/xml_mapping.rb'
|
|
50
76
|
- 'lib/lutaml/model/xml_mapping_rule.rb'
|
|
51
77
|
|
|
52
|
-
# Offense count:
|
|
78
|
+
# Offense count: 12
|
|
53
79
|
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
|
|
54
80
|
# AllowedMethods: refine
|
|
55
81
|
Metrics/BlockLength:
|
|
56
82
|
Max: 46
|
|
57
83
|
|
|
58
|
-
# Offense count:
|
|
84
|
+
# Offense count: 48
|
|
59
85
|
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
|
|
60
86
|
Metrics/CyclomaticComplexity:
|
|
61
87
|
Exclude:
|
|
62
88
|
- 'lib/lutaml/model/attribute.rb'
|
|
63
89
|
- 'lib/lutaml/model/comparable_model.rb'
|
|
90
|
+
- 'lib/lutaml/model/key_value_mapping.rb'
|
|
91
|
+
- 'lib/lutaml/model/mapping_rule.rb'
|
|
92
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
64
93
|
- 'lib/lutaml/model/serialize.rb'
|
|
65
94
|
- 'lib/lutaml/model/type/integer.rb'
|
|
66
95
|
- 'lib/lutaml/model/xml_adapter/builder/oga.rb'
|
|
@@ -69,26 +98,28 @@ Metrics/CyclomaticComplexity:
|
|
|
69
98
|
- 'lib/lutaml/model/xml_adapter/ox_adapter.rb'
|
|
70
99
|
- 'lib/lutaml/model/xml_adapter/xml_document.rb'
|
|
71
100
|
|
|
72
|
-
# Offense count:
|
|
101
|
+
# Offense count: 87
|
|
73
102
|
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
|
74
103
|
Metrics/MethodLength:
|
|
75
|
-
Max:
|
|
104
|
+
Max: 46
|
|
76
105
|
|
|
77
|
-
# Offense count:
|
|
106
|
+
# Offense count: 8
|
|
78
107
|
# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
|
|
79
108
|
Metrics/ParameterLists:
|
|
80
109
|
Max: 15
|
|
81
110
|
|
|
82
|
-
# Offense count:
|
|
111
|
+
# Offense count: 37
|
|
83
112
|
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
|
|
84
113
|
Metrics/PerceivedComplexity:
|
|
85
114
|
Exclude:
|
|
86
115
|
- 'lib/lutaml/model/attribute.rb'
|
|
87
116
|
- 'lib/lutaml/model/comparable_model.rb'
|
|
117
|
+
- 'lib/lutaml/model/key_value_mapping.rb'
|
|
118
|
+
- 'lib/lutaml/model/mapping_rule.rb'
|
|
119
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
88
120
|
- 'lib/lutaml/model/serialize.rb'
|
|
89
121
|
- 'lib/lutaml/model/type/integer.rb'
|
|
90
122
|
- 'lib/lutaml/model/xml_adapter/builder/oga.rb'
|
|
91
|
-
- 'lib/lutaml/model/xml_adapter/builder/ox.rb'
|
|
92
123
|
- 'lib/lutaml/model/xml_adapter/nokogiri_adapter.rb'
|
|
93
124
|
- 'lib/lutaml/model/xml_adapter/oga_adapter.rb'
|
|
94
125
|
- 'lib/lutaml/model/xml_adapter/ox_adapter.rb'
|
|
@@ -110,6 +141,18 @@ RSpec/ContextWording:
|
|
|
110
141
|
- 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
|
|
111
142
|
- 'spec/lutaml/model/xml_mapping_spec.rb'
|
|
112
143
|
|
|
144
|
+
# Offense count: 2
|
|
145
|
+
# Configuration parameters: IgnoredMetadata.
|
|
146
|
+
RSpec/DescribeClass:
|
|
147
|
+
Exclude:
|
|
148
|
+
- '**/spec/features/**/*'
|
|
149
|
+
- '**/spec/requests/**/*'
|
|
150
|
+
- '**/spec/routing/**/*'
|
|
151
|
+
- '**/spec/system/**/*'
|
|
152
|
+
- '**/spec/views/**/*'
|
|
153
|
+
- 'spec/benchmarks/xml_parsing_benchmark_spec.rb'
|
|
154
|
+
- 'spec/lutaml/model/transformation_spec.rb'
|
|
155
|
+
|
|
113
156
|
# Offense count: 1
|
|
114
157
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
115
158
|
# Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants.
|
|
@@ -118,7 +161,7 @@ RSpec/DescribedClass:
|
|
|
118
161
|
Exclude:
|
|
119
162
|
- 'spec/lutaml/model/xml_mapping_spec.rb'
|
|
120
163
|
|
|
121
|
-
# Offense count:
|
|
164
|
+
# Offense count: 169
|
|
122
165
|
# Configuration parameters: CountAsOne.
|
|
123
166
|
RSpec/ExampleLength:
|
|
124
167
|
Max: 54
|
|
@@ -129,14 +172,15 @@ RSpec/IndexedLet:
|
|
|
129
172
|
Exclude:
|
|
130
173
|
- 'spec/address_spec.rb'
|
|
131
174
|
|
|
132
|
-
# Offense count:
|
|
175
|
+
# Offense count: 30
|
|
133
176
|
RSpec/LeakyConstantDeclaration:
|
|
134
177
|
Exclude:
|
|
178
|
+
- 'spec/benchmarks/xml_parsing_benchmark_spec.rb'
|
|
135
179
|
- 'spec/lutaml/model/schema/json_schema_spec.rb'
|
|
136
180
|
- 'spec/lutaml/model/schema/relaxng_schema_spec.rb'
|
|
137
181
|
- 'spec/lutaml/model/schema/xsd_schema_spec.rb'
|
|
138
182
|
- 'spec/lutaml/model/schema/yaml_schema_spec.rb'
|
|
139
|
-
- 'spec/lutaml/model/
|
|
183
|
+
- 'spec/lutaml/model/transformation_spec.rb'
|
|
140
184
|
- 'spec/lutaml/model/validation_spec.rb'
|
|
141
185
|
- 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
|
|
142
186
|
|
|
@@ -148,16 +192,16 @@ RSpec/MultipleDescribes:
|
|
|
148
192
|
- 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
|
|
149
193
|
- 'spec/lutaml/model/xml_adapter_spec.rb'
|
|
150
194
|
|
|
151
|
-
# Offense count:
|
|
195
|
+
# Offense count: 213
|
|
152
196
|
RSpec/MultipleExpectations:
|
|
153
197
|
Max: 14
|
|
154
198
|
|
|
155
|
-
# Offense count:
|
|
199
|
+
# Offense count: 30
|
|
156
200
|
# Configuration parameters: AllowSubject.
|
|
157
201
|
RSpec/MultipleMemoizedHelpers:
|
|
158
202
|
Max: 9
|
|
159
203
|
|
|
160
|
-
# Offense count:
|
|
204
|
+
# Offense count: 108
|
|
161
205
|
# Configuration parameters: AllowedGroups.
|
|
162
206
|
RSpec/NestedGroups:
|
|
163
207
|
Max: 4
|
|
@@ -176,6 +220,11 @@ RSpec/RemoveConst:
|
|
|
176
220
|
Exclude:
|
|
177
221
|
- 'spec/lutaml/model/type_spec.rb'
|
|
178
222
|
|
|
223
|
+
# Offense count: 3
|
|
224
|
+
RSpec/RepeatedExample:
|
|
225
|
+
Exclude:
|
|
226
|
+
- 'spec/lutaml/model/key_value_mapping_spec.rb'
|
|
227
|
+
|
|
179
228
|
# Offense count: 2
|
|
180
229
|
RSpec/RepeatedExampleGroupBody:
|
|
181
230
|
Exclude:
|
|
@@ -207,6 +256,14 @@ Security/CompoundHash:
|
|
|
207
256
|
Exclude:
|
|
208
257
|
- 'lib/lutaml/model/comparable_model.rb'
|
|
209
258
|
|
|
259
|
+
# Offense count: 1
|
|
260
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
261
|
+
# Configuration parameters: AllowedReceivers.
|
|
262
|
+
# AllowedReceivers: Thread.current
|
|
263
|
+
Style/HashEachMethods:
|
|
264
|
+
Exclude:
|
|
265
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
266
|
+
|
|
210
267
|
# Offense count: 1
|
|
211
268
|
Style/MissingRespondToMissing:
|
|
212
269
|
Exclude:
|
|
@@ -219,9 +276,15 @@ Style/OptionalBooleanParameter:
|
|
|
219
276
|
Exclude:
|
|
220
277
|
- 'lib/lutaml/model/comparable_model.rb'
|
|
221
278
|
|
|
279
|
+
# Offense count: 4
|
|
280
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
281
|
+
Style/RedundantStringEscape:
|
|
282
|
+
Exclude:
|
|
283
|
+
- 'lib/lutaml/model/schema/templates/simple_type.rb'
|
|
284
|
+
- 'lib/lutaml/model/schema/xml_compiler.rb'
|
|
285
|
+
|
|
222
286
|
# Offense count: 1
|
|
223
|
-
#
|
|
224
|
-
|
|
225
|
-
Style/StringConcatenation:
|
|
287
|
+
# Configuration parameters: Max.
|
|
288
|
+
Style/SafeNavigationChainLength:
|
|
226
289
|
Exclude:
|
|
227
|
-
- '
|
|
290
|
+
- 'lib/lutaml/model/serialize.rb'
|