expressir 2.3.3 → 2.3.5

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: bd7415865cfb8be37ccbd1dbeef665f6878230e396060cc6771c8c7df7d8fea3
4
- data.tar.gz: b1fccc63fc2bfe3c6ab2a7772a6c634a85a45125917fd3b9fb15f366537a8bc0
3
+ metadata.gz: 055f0b5a07f8fdbd0f078d9010e4dc4d119058a0301016bf93254d86e96c38af
4
+ data.tar.gz: 5f340ae55403cb3115536299cacce02fb102661035b875e251975eb8334e06a8
5
5
  SHA512:
6
- metadata.gz: 5c9c971cdc4f3eabdcd05736f29da963c1eb947e190210b18ffb3712ea7359a93a803b3d28039fc1ec29ee0c53dd7420aba2f3be53b171829e1dcd5a91e420cb
7
- data.tar.gz: dac877b21617de02ae79f622b5e58590e286d94f4c9d32702bbcbe157152249616598b6553128fcb9a9dc2bd80ae07d0d1abdd71f0ab3c6fdc08ce8172bd5211
6
+ metadata.gz: 0e6f194e91f9db5c9fdf5d1f25777a054e040dd015e66a7ba253503d80bdd73f04f872041cb3f7e6b415c0e9ff80660619c7ea7f1751de6ed0469bd73e7b2310
7
+ data.tar.gz: b49300bb99f04eea589b524affa6a96f4ba2dc37773c583042e047b2682b1e9eab64dbe2e9ce0dfbc37f47ddffb3d83c0240a03b72090654e8ed56d88db8c024
data/.gitignore CHANGED
@@ -24,3 +24,19 @@
24
24
  _site/
25
25
 
26
26
  Gemfile.lock
27
+
28
+ # Claude Code
29
+ .claude/
30
+
31
+ # Development / transient files
32
+ *.ler
33
+ *.pax
34
+ TODO.*.md
35
+ debug_*.rb
36
+ measure_mem.rb
37
+ tmp_*.rb
38
+ mise.toml
39
+ Gemfile.local
40
+ Gemfile.local.lock
41
+ Gemfile.original
42
+ benchmark/
data/.rubocop_todo.yml CHANGED
@@ -1,358 +1,18 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2026-03-31 03:29:04 UTC using RuboCop version 1.86.0.
3
+ # on 2026-05-12 14:41:49 UTC using RuboCop version 1.86.0.
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: 2
10
- # This cop supports safe autocorrection (--autocorrect).
11
- # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
12
- Gemspec/OrderedDependencies:
13
- Exclude:
14
- - 'expressir.gemspec'
15
-
16
- # Offense count: 14
17
- # This cop supports safe autocorrection (--autocorrect).
18
- # Configuration parameters: EnforcedStyle, IndentationWidth.
19
- # SupportedStyles: with_first_argument, with_fixed_indentation
20
- Layout/ArgumentAlignment:
21
- Exclude:
22
- - 'benchmark/srl_benchmark.rb'
23
- - 'debug_simple_use_clause.rb'
24
- - 'debug_use_clause.rb'
25
- - 'lib/expressir/express/parser.rb'
26
- - 'lib/expressir/express/remark_attacher.rb'
27
- - 'spec/expressir/model/repository_validator_spec.rb'
28
- - 'tmp_compare.rb'
29
- - 'tmp_mem_profile.rb'
30
-
31
- # Offense count: 4
32
- # This cop supports safe autocorrection (--autocorrect).
33
- # Configuration parameters: EnforcedStyle, IndentationWidth.
34
- # SupportedStyles: with_first_element, with_fixed_indentation
35
- Layout/ArrayAlignment:
36
- Exclude:
37
- - 'benchmark/memory_profiler.rb'
38
- - 'lib/expressir/express/parser.rb'
39
- - 'spec/expressir/model/search_engine_advanced_spec.rb'
40
-
41
- # Offense count: 10
42
- # This cop supports safe autocorrection (--autocorrect).
43
- # Configuration parameters: EnforcedStyleAlignWith.
44
- # SupportedStylesAlignWith: start_of_line, begin
45
- Layout/BeginEndAlignment:
46
- Exclude:
47
- - 'benchmark/memory_isolation_test.rb'
48
- - 'benchmark/memory_objectspace_test.rb'
49
- - 'tmp_compare.rb'
50
- - 'tmp_test_no_transform.rb'
51
-
52
- # Offense count: 22
53
- # This cop supports safe autocorrection (--autocorrect).
54
- # Configuration parameters: EnforcedStyleAlignWith.
55
- # SupportedStylesAlignWith: either, start_of_block, start_of_line
56
- Layout/BlockAlignment:
57
- Exclude:
58
- - 'benchmark/dense_cache_test.rb'
59
- - 'benchmark/malloc_trim_test.rb'
60
- - 'benchmark/memory_heap_prep.rb'
61
- - 'benchmark/memory_isolation_test.rb'
62
- - 'benchmark/memory_objectspace_test.rb'
63
- - 'benchmark/quick_mem_test.rb'
64
- - 'benchmark/srl_benchmark.rb'
65
- - 'debug_model.rb'
66
- - 'debug_use_clause3.rb'
67
- - 'lib/expressir/express/builders/entity_decl_builder.rb'
68
- - 'lib/expressir/package/builder.rb'
69
- - 'spec/expressir/commands/package_nil_guards_spec.rb'
70
- - 'spec/expressir/model/repository_validator_spec.rb'
71
-
72
- # Offense count: 22
73
- # This cop supports safe autocorrection (--autocorrect).
74
- Layout/BlockEndNewline:
75
- Exclude:
76
- - 'benchmark/dense_cache_test.rb'
77
- - 'benchmark/malloc_trim_test.rb'
78
- - 'benchmark/memory_heap_prep.rb'
79
- - 'benchmark/memory_isolation_test.rb'
80
- - 'benchmark/memory_objectspace_test.rb'
81
- - 'benchmark/quick_mem_test.rb'
82
- - 'benchmark/srl_benchmark.rb'
83
- - 'debug_model.rb'
84
- - 'debug_use_clause3.rb'
85
- - 'lib/expressir/express/builders/entity_decl_builder.rb'
86
- - 'lib/expressir/package/builder.rb'
87
- - 'spec/expressir/commands/package_nil_guards_spec.rb'
88
- - 'spec/expressir/model/repository_validator_spec.rb'
89
-
90
- # Offense count: 2
91
- # This cop supports safe autocorrection (--autocorrect).
92
- Layout/ClosingParenthesisIndentation:
93
- Exclude:
94
- - 'lib/expressir/express/parser.rb'
95
-
96
- # Offense count: 1
97
- # This cop supports safe autocorrection (--autocorrect).
98
- # Configuration parameters: AllowForAlignment.
99
- Layout/CommentIndentation:
100
- Exclude:
101
- - 'spec/expressir/model/indexes/reference_index_spec.rb'
102
-
103
- # Offense count: 7
104
- # This cop supports safe autocorrection (--autocorrect).
105
- Layout/ElseAlignment:
106
- Exclude:
107
- - 'debug_use_clause3.rb'
108
- - 'lib/expressir/express/builders/function_decl_builder.rb'
109
- - 'lib/expressir/express/builders/procedure_decl_builder.rb'
110
- - 'lib/expressir/express/builders/rule_decl_builder.rb'
111
-
112
- # Offense count: 6
113
- # This cop supports safe autocorrection (--autocorrect).
114
- Layout/EmptyLineAfterGuardClause:
115
- Exclude:
116
- - 'lib/expressir/express/builder.rb'
117
- - 'lib/expressir/model/repository.rb'
118
- - 'lib/expressir/model/search_engine.rb'
119
- - 'tmp_mem2.rb'
120
- - 'tmp_mem_with_opt.rb'
121
-
122
- # Offense count: 1
123
- # This cop supports safe autocorrection (--autocorrect).
124
- # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
125
- Layout/EmptyLineBetweenDefs:
126
- Exclude:
127
- - 'lib/expressir/express/remark_attacher.rb'
128
-
129
- # Offense count: 12
130
- # This cop supports safe autocorrection (--autocorrect).
131
- Layout/EmptyLines:
132
- Exclude:
133
- - 'lib/expressir/changes/item_change.rb'
134
- - 'lib/expressir/changes/mapping_change.rb'
135
- - 'lib/expressir/changes/schema_change.rb'
136
- - 'lib/expressir/changes/version_change.rb'
137
- - 'lib/expressir/eengine/arm_compare_report.rb'
138
- - 'lib/expressir/eengine/changes_section.rb'
139
- - 'lib/expressir/eengine/mim_compare_report.rb'
140
- - 'lib/expressir/eengine/modified_object.rb'
141
- - 'lib/expressir/express/remark_attacher.rb'
142
- - 'lib/expressir/package/metadata.rb'
143
- - 'lib/expressir/schema_manifest.rb'
144
- - 'lib/expressir/schema_manifest_entry.rb'
145
-
146
- # Offense count: 1
147
- # This cop supports safe autocorrection (--autocorrect).
148
- Layout/EmptyLinesAfterModuleInclusion:
149
- Exclude:
150
- - 'benchmark/malloc_trim_test.rb'
151
-
152
- # Offense count: 6
153
- # This cop supports safe autocorrection (--autocorrect).
154
- # Configuration parameters: EnforcedStyle.
155
- # SupportedStyles: empty_lines, no_empty_lines
156
- Layout/EmptyLinesAroundBlockBody:
157
- Exclude:
158
- - 'benchmark/perf_regression.rb'
159
- - 'benchmark/validate_load_benchmark.rb'
160
- - 'lib/expressir/express/parser.rb'
161
-
162
- # Offense count: 3
163
- # This cop supports safe autocorrection (--autocorrect).
164
- Layout/EmptyLinesAroundMethodBody:
165
- Exclude:
166
- - 'benchmark/srl_benchmark.rb'
167
- - 'debug_simple_use.rb'
168
-
169
- # Offense count: 7
170
- # This cop supports safe autocorrection (--autocorrect).
171
- # Configuration parameters: EnforcedStyleAlignWith.
172
- # SupportedStylesAlignWith: keyword, variable, start_of_line
173
- Layout/EndAlignment:
174
- Exclude:
175
- - 'debug_use_clause3.rb'
176
- - 'lib/expressir/express/builders/function_decl_builder.rb'
177
- - 'lib/expressir/express/builders/procedure_decl_builder.rb'
178
- - 'lib/expressir/express/builders/rule_decl_builder.rb'
179
-
180
- # Offense count: 3
181
- # This cop supports safe autocorrection (--autocorrect).
182
- # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
183
- Layout/ExtraSpacing:
184
- Exclude:
185
- - 'benchmark/srl_benchmark.rb'
186
- - 'lib/expressir/express/parser.rb'
187
- - 'tmp_test_no_transform.rb'
188
-
189
- # Offense count: 2
190
- # This cop supports safe autocorrection (--autocorrect).
191
- # Configuration parameters: EnforcedStyle, IndentationWidth.
192
- # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
193
- Layout/FirstArgumentIndentation:
194
- Exclude:
195
- - 'lib/expressir/express/parser.rb'
196
-
197
- # Offense count: 2
198
- # This cop supports safe autocorrection (--autocorrect).
199
- # Configuration parameters: EnforcedStyle, IndentationWidth.
200
- # SupportedStyles: special_inside_parentheses, consistent, align_brackets
201
- Layout/FirstArrayElementIndentation:
202
- Exclude:
203
- - 'spec/expressir/model/repository_validator_spec.rb'
204
-
205
- # Offense count: 21
206
- # This cop supports safe autocorrection (--autocorrect).
207
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
208
- # SupportedHashRocketStyles: key, separator, table
209
- # SupportedColonStyles: key, separator, table
210
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
211
- Layout/HashAlignment:
212
- Exclude:
213
- - 'benchmark/srl_benchmark.rb'
214
- - 'benchmark/srl_native_benchmark.rb'
215
- - 'benchmark/srl_ruby_benchmark.rb'
216
- - 'benchmark/validate_load_benchmark.rb'
217
- - 'lib/expressir/express/parser.rb'
218
- - 'lib/expressir/model/exp_file.rb'
219
- - 'spec/expressir/model/model_element_spec.rb'
220
-
221
- # Offense count: 1
222
- # This cop supports safe autocorrection (--autocorrect).
223
- Layout/HeredocIndentation:
224
- Exclude:
225
- - 'debug_simple_use.rb'
226
-
227
- # Offense count: 28
228
- # This cop supports safe autocorrection (--autocorrect).
229
- # Configuration parameters: EnforcedStyle.
230
- # SupportedStyles: normal, indented_internal_methods
231
- Layout/IndentationConsistency:
232
- Exclude:
233
- - 'benchmark/dense_cache_test.rb'
234
- - 'benchmark/malloc_trim_test.rb'
235
- - 'benchmark/memory_heap_prep.rb'
236
- - 'benchmark/memory_isolation_test.rb'
237
- - 'benchmark/memory_objectspace_test.rb'
238
- - 'benchmark/quick_mem_test.rb'
239
- - 'tmp_mem_with_opt.rb'
240
-
241
- # Offense count: 70
242
- # This cop supports safe autocorrection (--autocorrect).
243
- # Configuration parameters: Width, EnforcedStyleAlignWith, AllowedPatterns.
244
- # SupportedStylesAlignWith: start_of_line, relative_to_receiver
245
- Layout/IndentationWidth:
246
- Enabled: false
247
-
248
- # Offense count: 1127
9
+ # Offense count: 1084
249
10
  # This cop supports safe autocorrection (--autocorrect).
250
11
  # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
251
12
  # URISchemes: http, https
252
13
  Layout/LineLength:
253
14
  Enabled: false
254
15
 
255
- # Offense count: 1
256
- # This cop supports safe autocorrection (--autocorrect).
257
- # Configuration parameters: EnforcedStyle.
258
- # SupportedStyles: symmetrical, new_line, same_line
259
- Layout/MultilineArrayBraceLayout:
260
- Exclude:
261
- - 'spec/expressir/model/repository_validator_spec.rb'
262
-
263
- # Offense count: 6
264
- # This cop supports safe autocorrection (--autocorrect).
265
- Layout/MultilineBlockLayout:
266
- Exclude:
267
- - 'benchmark/dense_cache_test.rb'
268
- - 'benchmark/malloc_trim_test.rb'
269
- - 'benchmark/memory_heap_prep.rb'
270
- - 'benchmark/memory_isolation_test.rb'
271
- - 'benchmark/memory_objectspace_test.rb'
272
- - 'benchmark/quick_mem_test.rb'
273
-
274
- # Offense count: 1
275
- # This cop supports safe autocorrection (--autocorrect).
276
- # Configuration parameters: EnforcedStyle.
277
- # SupportedStyles: symmetrical, new_line, same_line
278
- Layout/MultilineMethodCallBraceLayout:
279
- Exclude:
280
- - 'lib/expressir/express/parser.rb'
281
-
282
- # Offense count: 2
283
- # This cop supports safe autocorrection (--autocorrect).
284
- # Configuration parameters: EnforcedStyle, IndentationWidth.
285
- # SupportedStyles: aligned, indented
286
- Layout/MultilineOperationIndentation:
287
- Exclude:
288
- - 'benchmark/memory_objectspace_test.rb'
289
-
290
- # Offense count: 15
291
- # This cop supports safe autocorrection (--autocorrect).
292
- Layout/RescueEnsureAlignment:
293
- Exclude:
294
- - 'benchmark/memory_isolation_test.rb'
295
- - 'benchmark/memory_objectspace_test.rb'
296
- - 'benchmark/perf_regression.rb'
297
- - 'benchmark/srl_benchmark.rb'
298
- - 'benchmark/validate_load_benchmark.rb'
299
- - 'lib/expressir/express/parser.rb'
300
- - 'tmp_compare.rb'
301
- - 'tmp_test_no_transform.rb'
302
-
303
- # Offense count: 3
304
- # This cop supports safe autocorrection (--autocorrect).
305
- # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
306
- # SupportedStylesForExponentOperator: space, no_space
307
- # SupportedStylesForRationalLiterals: space, no_space
308
- Layout/SpaceAroundOperators:
309
- Exclude:
310
- - 'benchmark/dense_cache_test.rb'
311
- - 'benchmark/srl_benchmark.rb'
312
- - 'tmp_compare.rb'
313
-
314
- # Offense count: 4
315
- # This cop supports safe autocorrection (--autocorrect).
316
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
317
- # SupportedStyles: space, no_space, compact
318
- # SupportedStylesForEmptyBraces: space, no_space
319
- Layout/SpaceInsideHashLiteralBraces:
320
- Exclude:
321
- - 'tmp_mem_profile.rb'
322
-
323
- # Offense count: 10
324
- # This cop supports safe autocorrection (--autocorrect).
325
- # Configuration parameters: EnforcedStyle.
326
- # SupportedStyles: final_newline, final_blank_line
327
- Layout/TrailingEmptyLines:
328
- Exclude:
329
- - 'benchmark/perf_regression.rb'
330
- - 'debug_model.rb'
331
- - 'debug_ruby_parser.rb'
332
- - 'debug_simple_use.rb'
333
- - 'debug_simple_use_clause.rb'
334
- - 'debug_use_clause.rb'
335
- - 'debug_use_clause2.rb'
336
- - 'debug_use_clause3.rb'
337
- - 'debug_use_clause4.rb'
338
- - 'measure_mem.rb'
339
-
340
- # Offense count: 49
341
- # This cop supports safe autocorrection (--autocorrect).
342
- # Configuration parameters: AllowInHeredoc.
343
- Layout/TrailingWhitespace:
344
- Enabled: false
345
-
346
- # Offense count: 19
347
- # This cop supports safe autocorrection (--autocorrect).
348
- Lint/AmbiguousOperatorPrecedence:
349
- Exclude:
350
- - 'benchmark/malloc_trim_test.rb'
351
- - 'benchmark/memory_isolation_test.rb'
352
- - 'benchmark/memory_leak_detector.rb'
353
- - 'benchmark/memory_objectspace_test.rb'
354
- - 'benchmark/validate_load_benchmark.rb'
355
-
356
16
  # Offense count: 9
357
17
  # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
358
18
  Lint/DuplicateBranch:
@@ -375,30 +35,6 @@ Lint/DuplicateMethods:
375
35
  Exclude:
376
36
  - 'lib/expressir/commands/validate_ascii.rb'
377
37
 
378
- # Offense count: 11
379
- # This cop supports unsafe autocorrection (--autocorrect-all).
380
- Lint/RedundantDirGlobSort:
381
- Exclude:
382
- - 'benchmark/malloc_trim_test.rb'
383
- - 'benchmark/memory_heap_prep.rb'
384
- - 'benchmark/memory_isolation_test.rb'
385
- - 'benchmark/memory_leak_detector.rb'
386
- - 'benchmark/memory_objectspace_test.rb'
387
- - 'benchmark/perf_regression.rb'
388
- - 'benchmark/quick_mem_test.rb'
389
- - 'benchmark/srl_benchmark.rb'
390
- - 'benchmark/srl_native_benchmark.rb'
391
- - 'benchmark/srl_ruby_benchmark.rb'
392
- - 'benchmark/validate_load_benchmark.rb'
393
-
394
- # Offense count: 3
395
- # This cop supports safe autocorrection (--autocorrect).
396
- Lint/RedundantRequireStatement:
397
- Exclude:
398
- - 'lib/expressir/commands/validate_ascii.rb'
399
- - 'lib/expressir/express/remark_attacher.rb'
400
- - 'lib/expressir/express/transformer/remark_handling.rb'
401
-
402
38
  # Offense count: 2
403
39
  # Configuration parameters: AllowedPatterns.
404
40
  # AllowedPatterns: (?-mix:(exactly|at_least|at_most)\(\d+\)\.times)
@@ -406,46 +42,21 @@ Lint/UnreachableLoop:
406
42
  Exclude:
407
43
  - 'lib/expressir/model/dependency_resolver.rb'
408
44
 
409
- # Offense count: 2
410
- # This cop supports safe autocorrection (--autocorrect).
411
- # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
412
- Lint/UnusedBlockArgument:
413
- Exclude:
414
- - 'benchmark/memory_heap_prep.rb'
415
- - 'benchmark/memory_profiler.rb'
416
-
417
- # Offense count: 4
45
+ # Offense count: 3
418
46
  # This cop supports safe autocorrection (--autocorrect).
419
47
  # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
420
48
  # NotImplementedExceptions: NotImplementedError
421
49
  Lint/UnusedMethodArgument:
422
50
  Exclude:
423
- - 'benchmark/srl_benchmark.rb'
424
51
  - 'lib/expressir/express/cache.rb'
425
52
  - 'lib/expressir/express/parser.rb'
426
53
 
427
- # Offense count: 12
428
- # This cop supports safe autocorrection (--autocorrect).
429
- Lint/UselessAssignment:
430
- Exclude:
431
- - 'benchmark/dense_cache_test.rb'
432
- - 'benchmark/memory_isolation_test.rb'
433
- - 'benchmark/memory_leak_detector.rb'
434
- - 'benchmark/memory_profiler.rb'
435
- - 'benchmark/perf_regression.rb'
436
- - 'benchmark/srl_benchmark.rb'
437
- - 'spec/expressir/express/pretty_formatter_spec.rb'
438
- - 'spec/expressir/model/indexes/type_index_spec.rb'
439
- - 'tmp_mem2.rb'
440
- - 'tmp_mem_profile.rb'
441
- - 'tmp_mem_with_opt.rb'
442
-
443
- # Offense count: 244
54
+ # Offense count: 239
444
55
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
445
56
  Metrics/AbcSize:
446
57
  Enabled: false
447
58
 
448
- # Offense count: 11
59
+ # Offense count: 10
449
60
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
450
61
  # AllowedMethods: refine
451
62
  Metrics/BlockLength:
@@ -456,12 +67,12 @@ Metrics/BlockLength:
456
67
  Metrics/BlockNesting:
457
68
  Max: 6
458
69
 
459
- # Offense count: 198
70
+ # Offense count: 194
460
71
  # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
461
72
  Metrics/CyclomaticComplexity:
462
73
  Enabled: false
463
74
 
464
- # Offense count: 291
75
+ # Offense count: 289
465
76
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
466
77
  Metrics/MethodLength:
467
78
  Max: 167
@@ -471,19 +82,11 @@ Metrics/MethodLength:
471
82
  Metrics/ParameterLists:
472
83
  Max: 8
473
84
 
474
- # Offense count: 171
85
+ # Offense count: 167
475
86
  # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
476
87
  Metrics/PerceivedComplexity:
477
88
  Enabled: false
478
89
 
479
- # Offense count: 4
480
- # This cop supports safe autocorrection (--autocorrect).
481
- # Configuration parameters: EnforcedStyle, BlockForwardingName.
482
- # SupportedStyles: anonymous, explicit
483
- Naming/BlockForwarding:
484
- Exclude:
485
- - 'lib/expressir/model/repository.rb'
486
-
487
90
  # Offense count: 4
488
91
  # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
489
92
  # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
@@ -569,16 +172,7 @@ RSpec/DescribeMethod:
569
172
  - 'spec/expressir/model/repository_statistics_spec.rb'
570
173
  - 'spec/expressir/model/search_engine_advanced_spec.rb'
571
174
 
572
- # Offense count: 2
573
- # This cop supports unsafe autocorrection (--autocorrect-all).
574
- # Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants.
575
- # SupportedStyles: described_class, explicit
576
- RSpec/DescribedClass:
577
- Exclude:
578
- - 'spec/expressir/model/model_element_spec.rb'
579
- - 'spec/expressir/model/repository_spec.rb'
580
-
581
- # Offense count: 452
175
+ # Offense count: 453
582
176
  # Configuration parameters: CountAsOne.
583
177
  RSpec/ExampleLength:
584
178
  Max: 122
@@ -619,7 +213,7 @@ RSpec/IteratedExpectation:
619
213
  RSpec/MessageSpies:
620
214
  EnforcedStyle: receive
621
215
 
622
- # Offense count: 582
216
+ # Offense count: 583
623
217
  RSpec/MultipleExpectations:
624
218
  Max: 114
625
219
 
@@ -664,47 +258,6 @@ Security/MarshalLoad:
664
258
  Exclude:
665
259
  - 'lib/expressir/package/reader.rb'
666
260
 
667
- # Offense count: 16
668
- # This cop supports safe autocorrection (--autocorrect).
669
- # Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
670
- # RedundantRestArgumentNames: args, arguments
671
- # RedundantKeywordRestArgumentNames: kwargs, options, opts
672
- # RedundantBlockArgumentNames: blk, block, proc
673
- Style/ArgumentsForwarding:
674
- Exclude:
675
- - 'lib/expressir/commands/changes_import_eengine.rb'
676
- - 'lib/expressir/model/repository.rb'
677
- - 'lib/expressir/model/search_engine.rb'
678
-
679
- # Offense count: 31
680
- # This cop supports safe autocorrection (--autocorrect).
681
- # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
682
- # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
683
- # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
684
- # FunctionalMethods: let, let!, subject, watch
685
- # AllowedMethods: lambda, proc, it
686
- Style/BlockDelimiters:
687
- Exclude:
688
- - 'benchmark/dense_cache_test.rb'
689
- - 'benchmark/malloc_trim_test.rb'
690
- - 'benchmark/memory_heap_prep.rb'
691
- - 'benchmark/memory_isolation_test.rb'
692
- - 'benchmark/memory_objectspace_test.rb'
693
- - 'benchmark/quick_mem_test.rb'
694
- - 'benchmark/srl_benchmark.rb'
695
- - 'debug_model.rb'
696
- - 'debug_use_clause3.rb'
697
- - 'lib/expressir/express/builders/entity_decl_builder.rb'
698
- - 'lib/expressir/package/builder.rb'
699
- - 'spec/expressir/commands/package_nil_guards_spec.rb'
700
- - 'spec/expressir/model/repository_validator_spec.rb'
701
-
702
- # Offense count: 2
703
- # This cop supports unsafe autocorrection (--autocorrect-all).
704
- Style/ConcatArrayLiterals:
705
- Exclude:
706
- - 'lib/expressir/express/builders/entity_decl_builder.rb'
707
-
708
261
  # Offense count: 1
709
262
  # This cop supports safe autocorrection (--autocorrect).
710
263
  # Configuration parameters: EnforcedStyle, AllowComments.
@@ -713,14 +266,6 @@ Style/EmptyElse:
713
266
  Exclude:
714
267
  - 'lib/expressir/commands/changes_validate.rb'
715
268
 
716
- # Offense count: 1
717
- # This cop supports safe autocorrection (--autocorrect).
718
- # Configuration parameters: EnforcedStyle.
719
- # SupportedStyles: trailing_conditional, ternary
720
- Style/EmptyStringInsideInterpolation:
721
- Exclude:
722
- - 'benchmark/perf_regression.rb'
723
-
724
269
  # Offense count: 40
725
270
  # This cop supports safe autocorrection (--autocorrect).
726
271
  # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, Mode, AllowedMethods, AllowedPatterns.
@@ -739,231 +284,8 @@ Style/MixinUsage:
739
284
  Exclude:
740
285
  - 'benchmark/srl_benchmark.rb'
741
286
 
742
- # Offense count: 2
743
- # This cop supports safe autocorrection (--autocorrect).
744
- Style/MultilineIfModifier:
745
- Exclude:
746
- - 'tmp_compare.rb'
747
-
748
- # Offense count: 1
749
- # This cop supports safe autocorrection (--autocorrect).
750
- Style/MultilineTernaryOperator:
751
- Exclude:
752
- - 'debug_use_clause3.rb'
753
-
754
- # Offense count: 3
755
- # This cop supports safe autocorrection (--autocorrect).
756
- # Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
757
- Style/MultipleComparison:
758
- Exclude:
759
- - 'benchmark/memory_profiler.rb'
760
- - 'lib/expressir/express/parser.rb'
761
-
762
- # Offense count: 1
763
- # This cop supports unsafe autocorrection (--autocorrect-all).
764
- # Configuration parameters: EnforcedStyle.
765
- # SupportedStyles: literals, strict
766
- Style/MutableConstant:
767
- Exclude:
768
- - 'benchmark/perf_regression.rb'
769
-
770
- # Offense count: 19
771
- # This cop supports unsafe autocorrection (--autocorrect-all).
772
- # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
773
- # SupportedStyles: predicate, comparison
774
- Style/NumericPredicate:
775
- Exclude:
776
- - 'spec/**/*'
777
- - 'benchmark/memory_leak_detector.rb'
778
- - 'benchmark/memory_objectspace_test.rb'
779
- - 'benchmark/memory_profiler.rb'
780
- - 'benchmark/perf_regression.rb'
781
- - 'benchmark/srl_benchmark.rb'
782
- - 'benchmark/srl_native_benchmark.rb'
783
- - 'benchmark/srl_ruby_benchmark.rb'
784
- - 'benchmark/validate_load_benchmark.rb'
785
- - 'lib/expressir/express/parser.rb'
786
- - 'tmp_compare.rb'
787
-
788
287
  # Offense count: 3
789
288
  # Configuration parameters: AllowedClasses.
790
289
  Style/OneClassPerFile:
791
290
  Exclude:
792
291
  - 'benchmark/srl_benchmark.rb'
793
-
794
- # Offense count: 1
795
- # This cop supports safe autocorrection (--autocorrect).
796
- Style/RedundantAssignment:
797
- Exclude:
798
- - 'debug_simple_use.rb'
799
-
800
- # Offense count: 4
801
- # This cop supports safe autocorrection (--autocorrect).
802
- Style/RedundantBegin:
803
- Exclude:
804
- - 'benchmark/perf_regression.rb'
805
- - 'benchmark/srl_benchmark.rb'
806
- - 'benchmark/validate_load_benchmark.rb'
807
- - 'lib/expressir/express/parser.rb'
808
-
809
- # Offense count: 6
810
- # This cop supports safe autocorrection (--autocorrect).
811
- Style/RedundantParentheses:
812
- Exclude:
813
- - 'benchmark/srl_benchmark.rb'
814
- - 'benchmark/srl_native_benchmark.rb'
815
- - 'benchmark/srl_ruby_benchmark.rb'
816
- - 'benchmark/validate_load_benchmark.rb'
817
- - 'lib/expressir/express/parser.rb'
818
-
819
- # Offense count: 2
820
- # This cop supports safe autocorrection (--autocorrect).
821
- Style/RedundantStringEscape:
822
- Exclude:
823
- - 'benchmark/srl_benchmark.rb'
824
-
825
- # Offense count: 9
826
- # This cop supports safe autocorrection (--autocorrect).
827
- Style/RescueModifier:
828
- Exclude:
829
- - 'benchmark/memory_isolation_test.rb'
830
- - 'benchmark/memory_objectspace_test.rb'
831
- - 'benchmark/srl_benchmark.rb'
832
- - 'tmp_compare.rb'
833
- - 'tmp_test_no_transform.rb'
834
-
835
- # Offense count: 32
836
- # This cop supports safe autocorrection (--autocorrect).
837
- # Configuration parameters: EnforcedStyle.
838
- # SupportedStyles: implicit, explicit
839
- Style/RescueStandardError:
840
- Exclude:
841
- - 'benchmark/memory_isolation_test.rb'
842
- - 'benchmark/memory_leak_detector.rb'
843
- - 'benchmark/memory_objectspace_test.rb'
844
- - 'benchmark/perf_regression.rb'
845
- - 'benchmark/srl_benchmark.rb'
846
- - 'benchmark/srl_native_benchmark.rb'
847
- - 'benchmark/srl_ruby_benchmark.rb'
848
- - 'benchmark/validate_load_benchmark.rb'
849
- - 'tmp_compare.rb'
850
- - 'tmp_mem2.rb'
851
- - 'tmp_mem_with_opt.rb'
852
- - 'tmp_test_no_transform.rb'
853
-
854
- # Offense count: 1
855
- # This cop supports unsafe autocorrection (--autocorrect-all).
856
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
857
- # AllowedMethods: present?, blank?, presence, try, try!
858
- Style/SafeNavigation:
859
- Exclude:
860
- - 'lib/expressir/model/repository.rb'
861
-
862
- # Offense count: 6
863
- # This cop supports unsafe autocorrection (--autocorrect-all).
864
- Style/SelectByKind:
865
- Exclude:
866
- - 'debug_model.rb'
867
- - 'lib/expressir/express/formatters/remark_formatter.rb'
868
- - 'lib/expressir/model/model_element.rb'
869
-
870
- # Offense count: 10
871
- # This cop supports safe autocorrection (--autocorrect).
872
- # Configuration parameters: AllowAsExpressionSeparator.
873
- Style/Semicolon:
874
- Exclude:
875
- - 'benchmark/dense_cache_test.rb'
876
- - 'benchmark/malloc_trim_test.rb'
877
- - 'benchmark/memory_heap_prep.rb'
878
- - 'benchmark/memory_isolation_test.rb'
879
- - 'benchmark/memory_objectspace_test.rb'
880
- - 'benchmark/quick_mem_test.rb'
881
- - 'tmp_mem_with_opt.rb'
882
-
883
- # Offense count: 27
884
- # This cop supports unsafe autocorrection (--autocorrect-all).
885
- # Configuration parameters: Mode.
886
- Style/StringConcatenation:
887
- Exclude:
888
- - 'benchmark/malloc_trim_test.rb'
889
- - 'benchmark/memory_isolation_test.rb'
890
- - 'benchmark/memory_leak_detector.rb'
891
- - 'benchmark/memory_objectspace_test.rb'
892
- - 'benchmark/validate_load_benchmark.rb'
893
-
894
- # Offense count: 128
895
- # This cop supports safe autocorrection (--autocorrect).
896
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
897
- # SupportedStyles: single_quotes, double_quotes
898
- Style/StringLiterals:
899
- Exclude:
900
- - 'benchmark/dense_cache_test.rb'
901
- - 'benchmark/malloc_trim_test.rb'
902
- - 'benchmark/memory_heap_prep.rb'
903
- - 'benchmark/memory_isolation_test.rb'
904
- - 'benchmark/memory_leak_detector.rb'
905
- - 'benchmark/memory_objectspace_test.rb'
906
- - 'benchmark/memory_profiler.rb'
907
- - 'benchmark/perf_regression.rb'
908
- - 'benchmark/quick_mem_test.rb'
909
- - 'benchmark/srl_benchmark.rb'
910
- - 'benchmark/srl_native_benchmark.rb'
911
- - 'benchmark/srl_ruby_benchmark.rb'
912
- - 'benchmark/validate_load_benchmark.rb'
913
- - 'lib/expressir/express/parser.rb'
914
-
915
- # Offense count: 14
916
- # This cop supports safe autocorrection (--autocorrect).
917
- # Configuration parameters: EnforcedStyle.
918
- # SupportedStyles: single_quotes, double_quotes
919
- Style/StringLiteralsInInterpolation:
920
- Exclude:
921
- - 'benchmark/malloc_trim_test.rb'
922
- - 'benchmark/memory_isolation_test.rb'
923
- - 'benchmark/memory_leak_detector.rb'
924
- - 'benchmark/memory_objectspace_test.rb'
925
- - 'benchmark/validate_load_benchmark.rb'
926
-
927
- # Offense count: 1
928
- # This cop supports safe autocorrection (--autocorrect).
929
- # Configuration parameters: .
930
- # SupportedStyles: percent, brackets
931
- Style/SymbolArray:
932
- EnforcedStyle: percent
933
- MinSize: 5
934
-
935
- # Offense count: 2
936
- # This cop supports unsafe autocorrection (--autocorrect-all).
937
- # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
938
- # AllowedMethods: define_method
939
- Style/SymbolProc:
940
- Exclude:
941
- - 'debug_model.rb'
942
-
943
- # Offense count: 3
944
- # This cop supports safe autocorrection (--autocorrect).
945
- # Configuration parameters: EnforcedStyleForMultiline.
946
- # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
947
- Style/TrailingCommaInArguments:
948
- Exclude:
949
- - 'benchmark/srl_benchmark.rb'
950
- - 'spec/expressir/express/pretty_formatter_spec.rb'
951
-
952
- # Offense count: 3
953
- # This cop supports safe autocorrection (--autocorrect).
954
- # Configuration parameters: EnforcedStyleForMultiline.
955
- # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
956
- Style/TrailingCommaInArrayLiteral:
957
- Exclude:
958
- - 'benchmark/memory_objectspace_test.rb'
959
- - 'tmp_mem2.rb'
960
-
961
- # Offense count: 5
962
- # This cop supports safe autocorrection (--autocorrect).
963
- # Configuration parameters: EnforcedStyleForMultiline.
964
- # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
965
- Style/TrailingCommaInHashLiteral:
966
- Exclude:
967
- - 'benchmark/perf_regression.rb'
968
- - 'benchmark/validate_load_benchmark.rb'
969
- - 'lib/expressir/express/parser.rb'
data/Gemfile CHANGED
@@ -4,9 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- # Use released parsanol for native extension
8
- gem "parsanol", "~> 1.3.5"
9
-
10
7
  gem "canon"
11
8
  gem "irb"
12
9
  gem "lutaml-model", github: "lutaml/lutaml-model", branch: "main"
@@ -12,7 +12,9 @@ module Expressir
12
12
  def build_constant_body(ast_data)
13
13
  id = Builder.build_optional(ast_data[:constant_id])
14
14
  type = Builder.build_optional(ast_data[:instantiable_type])
15
- expression = Builder.build_optional(ast_data[:expression])
15
+ expression = if ast_data[:expression]
16
+ Builder.build({ expression: ast_data[:expression] })
17
+ end
16
18
 
17
19
  Expressir::Model::Declarations::Constant.new(id: id, type: type,
18
20
  expression: expression)
@@ -11,7 +11,9 @@ module Expressir
11
11
  Builder.build({ attribute_decl: attr_decl_data })
12
12
  end
13
13
  type = Builder.build_optional(ast_data[:parameter_type])
14
- expression = Builder.build_optional(ast_data[:expression])
14
+ expression = if ast_data[:expression]
15
+ Builder.build({ expression: ast_data[:expression] })
16
+ end
15
17
 
16
18
  Expressir::Model::Declarations::DerivedAttribute.new(
17
19
  id: attr&.id,
@@ -9,7 +9,9 @@ module Expressir
9
9
  inner_data = ast_data[:domain_rule] || ast_data
10
10
 
11
11
  id = Builder.build_optional(inner_data[:rule_label_id])
12
- expression = Builder.build_optional(inner_data[:expression])
12
+ expression = if inner_data[:expression]
13
+ Builder.build({ expression: inner_data[:expression] })
14
+ end
13
15
  Expressir::Model::Declarations::WhereRule.new(id: id,
14
16
  expression: expression)
15
17
  end
@@ -223,13 +223,14 @@ module Expressir
223
223
  end
224
224
 
225
225
  def build_qualifier(ast_data)
226
- if ast_data[:attribute_qualifier]
226
+ data = ast_data[:qualifier] || ast_data
227
+ if data[:attribute_qualifier]
227
228
  Builder.build_node(:attribute_qualifier,
228
- ast_data[:attribute_qualifier])
229
- elsif ast_data[:group_qualifier]
230
- Builder.build_node(:group_qualifier, ast_data[:group_qualifier])
231
- elsif ast_data[:index_qualifier]
232
- Builder.build_node(:index_qualifier, ast_data[:index_qualifier])
229
+ data[:attribute_qualifier])
230
+ elsif data[:group_qualifier]
231
+ Builder.build_node(:group_qualifier, data[:group_qualifier])
232
+ elsif data[:index_qualifier]
233
+ Builder.build_node(:index_qualifier, data[:index_qualifier])
233
234
  end
234
235
  end
235
236
 
@@ -304,7 +305,9 @@ module Expressir
304
305
  end
305
306
 
306
307
  def build_parameter(ast_data)
307
- Builder.build_optional(ast_data[:expression])
308
+ if ast_data[:expression]
309
+ Builder.build({ expression: ast_data[:expression] })
310
+ end
308
311
  end
309
312
 
310
313
  # Entity constructor
@@ -354,7 +357,9 @@ module Expressir
354
357
  end
355
358
 
356
359
  def build_element(ast_data)
357
- expression = Builder.build_optional(ast_data[:expression])
360
+ expression = if ast_data[:expression]
361
+ Builder.build({ expression: ast_data[:expression] })
362
+ end
358
363
  repetition = Builder.build_optional(ast_data[:repetition])
359
364
 
360
365
  if repetition
@@ -138,6 +138,12 @@ module Expressir
138
138
  when Expressir::Model::References::IndexReference
139
139
  Expressir::Model::References::IndexReference.new(ref: ref,
140
140
  index1: qualifier.index1, index2: qualifier.index2)
141
+ when Expressir::Model::References::SimpleReference
142
+ Expressir::Model::References::AttributeReference.new(ref: ref,
143
+ attribute: qualifier)
144
+ when Hash
145
+ Expressir::Model::References::IndexReference.new(ref: ref,
146
+ index1: qualifier[:index1], index2: qualifier[:index2])
141
147
  else
142
148
  ref
143
149
  end
@@ -36,7 +36,9 @@ module Expressir
36
36
 
37
37
  def build_assignment_stmt(ast_data)
38
38
  ref = Builder.build_optional(ast_data[:general_ref])
39
- expression = Builder.build_optional(ast_data[:expression])
39
+ expression = if ast_data[:expression]
40
+ Builder.build({ expression: ast_data[:expression] })
41
+ end
40
42
 
41
43
  if ast_data[:qualifier]
42
44
  Builder.ensure_array(ast_data[:qualifier]).each do |qual|
@@ -93,7 +95,9 @@ module Expressir
93
95
  end
94
96
 
95
97
  def build_selector(ast_data)
96
- Builder.build_optional(ast_data[:expression])
98
+ if ast_data[:expression]
99
+ Builder.build({ expression: ast_data[:expression] })
100
+ end
97
101
  end
98
102
 
99
103
  def build_case_action(ast_data)
@@ -107,7 +111,9 @@ module Expressir
107
111
  end
108
112
 
109
113
  def build_case_label(ast_data)
110
- Builder.build_optional(ast_data[:expression])
114
+ if ast_data[:expression]
115
+ Builder.build({ expression: ast_data[:expression] })
116
+ end
111
117
  end
112
118
 
113
119
  def build_compound_stmt(ast_data)
@@ -170,7 +176,9 @@ module Expressir
170
176
  end
171
177
 
172
178
  def build_return_stmt(ast_data)
173
- expression = Builder.build_optional(ast_data[:expression])
179
+ expression = if ast_data[:expression]
180
+ Builder.build({ expression: ast_data[:expression] })
181
+ end
174
182
  Expressir::Model::Statements::Return.new(expression: expression)
175
183
  end
176
184
 
@@ -917,10 +917,10 @@ module Expressir
917
917
  src = node.source.to_s
918
918
  # Accept position=0 if source is a declaration keyword line
919
919
  valid = src.start_with?("SCHEMA", "ENTITY", "TYPE", "FUNCTION",
920
- "PROCEDURE", "RULE", "CONSTANT", "VARIABLE",
921
- "USE", "REFERENCE", "END_SCHEMA", "END_ENTITY",
922
- "END_TYPE", "END_FUNCTION", "END_PROCEDURE",
923
- "END_RULE", "END_CONSTANT", "END_VARIABLE")
920
+ "PROCEDURE", "RULE", "CONSTANT", "VARIABLE",
921
+ "USE", "REFERENCE", "END_SCHEMA", "END_ENTITY",
922
+ "END_TYPE", "END_FUNCTION", "END_PROCEDURE",
923
+ "END_RULE", "END_CONSTANT", "END_VARIABLE")
924
924
  end
925
925
  if valid
926
926
  line = get_line_number(pos)
@@ -38,6 +38,14 @@ module Expressir
38
38
  map "procedures", to: :procedures
39
39
  end
40
40
 
41
+ liquid do
42
+ map :formatted, to: :formatted
43
+ map :source, to: :source
44
+ map :full_source, to: :full_source
45
+ map :children, to: :children
46
+ map :safe_children, to: :safe_children
47
+ end
48
+
41
49
  # @return [Array<Declaration>]
42
50
  def safe_children
43
51
  [
@@ -32,6 +32,10 @@ module Expressir
32
32
  map "files", to: :files
33
33
  end
34
34
 
35
+ liquid do
36
+ map :schemas, to: :schemas
37
+ end
38
+
35
39
  def initialize(*, base_dir: nil, schemas: nil, **)
36
40
  super(*, **)
37
41
  @base_dir = base_dir
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "2.3.3".freeze
2
+ VERSION = "2.3.5".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.3.5
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-04-12 00:00:00.000000000 Z
11
+ date: 2026-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64