skeem 0.2.19 → 0.2.20

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: 6ab3868544bc84674f7828b4bf258177afc7f1192ca46ea3979328ca4a410a8c
4
- data.tar.gz: 178e5b66fed7677ef7f7a6409cd7c8fb91284654622935389cd3a0c4009b3fed
3
+ metadata.gz: f17c469661c1ebfa3ad17ae7685ac52a90b30fcd4b31d1d01b5af1c54ccfb765
4
+ data.tar.gz: ccb061b50470a01a740c99f3e01c89a5e962216fa80d3147fa5d7bbc759b6a1d
5
5
  SHA512:
6
- metadata.gz: 33868367a6683ed547c5ebe19cbad9e2dee76c6b0dbd07e4a0077b6012b698a8e8d551095e82484911a71df0590f373d24e7b11a334fa760c23507e030a44314
7
- data.tar.gz: f9726a3849a9eee31061404cf900e9529fa07db9d63663b9334105397b4c02fe2754951561049419c5e436cf846635548cd15c02e006e17ad4170e33a24be487
6
+ metadata.gz: bf7120cc110af075a3c5c3294492e5246e2857fe86d6090fba57fd8b8425f47871249710af82b1acf4471dc2ab2bf34770977acee3e98cee1cc7631382953930
7
+ data.tar.gz: af3025b621249db56813fa5c91fee6b33a47943d025a18cf50e5490f92d99b6750225b2af47d66c57bd72947faafb6e96f84cf4ab3038bf437e306308c09fa89
data/.rubocop.yml CHANGED
@@ -1,451 +1,473 @@
1
- AllCops:
2
- Exclude:
3
- - 'exp/**/*'
4
-
5
- Gemspec/DateAssignment:
6
- Enabled: true
7
-
8
- Layout/ArgumentAlignment:
9
- Enabled: false
10
-
11
- Layout/ArrayAlignment:
12
- Enabled: true
13
- EnforcedStyle: with_fixed_indentation
14
-
15
- Layout/CaseIndentation:
16
- Enabled: false
17
-
18
- Layout/ClosingHeredocIndentation:
19
- Enabled: false
20
-
21
- Layout/CommentIndentation:
22
- Enabled: false
23
-
24
- Layout/ElseAlignment:
25
- Enabled: false
26
-
27
- Layout/EmptyLines:
28
- Enabled: false
29
-
30
- Layout/EndAlignment:
31
- Enabled: false
32
-
33
- Layout/EndOfLine:
34
- Enabled: true
35
- EnforcedStyle: lf
36
-
37
- Layout/FirstArgumentIndentation:
38
- Enabled: false
39
-
40
- Layout/HashAlignment:
41
- Enabled: false
42
-
43
- Layout/IndentationWidth:
44
- Enabled: false
45
-
46
- Layout/IndentationConsistency:
47
- Enabled: true
48
-
49
- Layout/HeredocIndentation:
50
- Enabled: false
51
-
52
- Layout/LineEndStringConcatenationIndentation:
53
- Enabled: true
54
-
55
- Layout/MultilineHashBraceLayout:
56
- Enabled: true
57
-
58
- Layout/MultilineMethodCallBraceLayout:
59
- Enabled: true
60
- EnforcedStyle: same_line
61
-
62
- Layout/SpaceAroundOperators:
63
- Enabled: true
64
-
65
- Layout/SpaceBeforeBrackets:
66
- Enabled: true
67
-
68
- Layout/SpaceInsideParens:
69
- Enabled: true
70
-
71
- Layout/IndentationStyle:
72
- Enabled: true
73
-
74
- Layout/SpaceAroundMethodCallOperator:
75
- Enabled: true
76
-
77
- Layout/TrailingEmptyLines:
78
- Enabled: true
79
-
80
- Layout/TrailingWhitespace:
81
- Enabled: true
82
-
83
- Lint/AmbiguousAssignment:
84
- Enabled: true
85
-
86
- Lint/AmbiguousRange:
87
- Enabled: true
88
-
89
- Lint/DeprecatedConstants:
90
- Enabled: true
91
-
92
- Lint/DuplicateBranch:
93
- Enabled: true
94
-
95
- Lint/DuplicateRegexpCharacterClassElement:
96
- Enabled: true
97
-
98
- Lint/EmptyBlock:
99
- Enabled: true
100
-
101
- Lint/EmptyClass:
102
- Enabled: false
103
-
104
- Lint/EmptyInPattern:
105
- Enabled: true
106
-
107
- Lint/LambdaWithoutLiteralBlock:
108
- Enabled: true
109
-
110
- Lint/Loop:
111
- Enabled: true
112
-
113
- Lint/NoReturnInBeginEndBlocks:
114
- Enabled: true
115
-
116
- Lint/NumberedParameterAssignment:
117
- Enabled: true
118
-
119
- Lint/OrAssignmentToConstant:
120
- Enabled: true
121
-
122
- Lint/RaiseException:
123
- Enabled: true
124
-
125
- Lint/RedundantDirGlobSort:
126
- Enabled: true
127
-
128
- Lint/RescueException:
129
- Enabled: true
130
-
131
- Lint/StructNewOverride:
132
- Enabled: true
133
-
134
- Lint/SymbolConversion:
135
- Enabled: true
136
-
137
- Lint/ToEnumArguments:
138
- Enabled: true
139
-
140
- Lint/TripleQuotes:
141
- Enabled: true
142
-
143
- Lint/UnexpectedBlockArity:
144
- Enabled: true
145
-
146
- Lint/UnmodifiedReduceAccumulator:
147
- Enabled: true
148
-
149
- Lint/UnusedMethodArgument:
150
- Enabled: true
151
-
152
- Lint/UselessAccessModifier:
153
- Enabled: true
154
-
155
- Lint/Void:
156
- Enabled: false
157
-
158
- Lint/UselessAssignment:
159
- Enabled: true
160
-
161
- Metrics/AbcSize:
162
- Enabled: false
163
-
164
- Metrics/BlockLength:
165
- Enabled: true
166
- Max: 350
167
-
168
- Metrics/BlockNesting:
169
- Enabled: true
170
- Max: 5
171
-
172
- Metrics/ClassLength:
173
- Enabled: true
174
- Max: 450
175
-
176
- Metrics/CyclomaticComplexity:
177
- Enabled: false
178
-
179
- Layout/LineLength:
180
- Enabled: false
181
- Max: 90
182
-
183
- Metrics/MethodLength:
184
- Enabled: true
185
- Max: 60
186
-
187
- Metrics/ModuleLength:
188
- Enabled: true
189
- Max: 500
190
-
191
- Metrics/PerceivedComplexity:
192
- Enabled: false
193
-
194
- Naming/ConstantName:
195
- Enabled: false
196
-
197
- Naming/ClassAndModuleCamelCase:
198
- Enabled: false
199
-
200
- Naming/BlockParameterName:
201
- Enabled: true
202
-
203
- Naming/InclusiveLanguage:
204
- Enabled: true
205
-
206
- Naming/MethodParameterName:
207
- Enabled: false
208
-
209
- Naming/MethodName:
210
- Enabled: false
211
-
212
- Naming/VariableName:
213
- Enabled: false
214
-
215
- Style/AccessorGrouping:
216
- Enabled: false
217
-
218
- Style/Alias:
219
- Enabled: true
220
-
221
- Style/ArgumentsForwarding:
222
- Enabled: true
223
-
224
- Style/AsciiComments:
225
- Enabled: false
226
-
227
- Style/BarePercentLiterals:
228
- Enabled: false
229
-
230
- Style/BlockComments:
231
- Enabled: false
232
-
233
- Style/CharacterLiteral:
234
- Enabled: false
235
-
236
- Style/ClassCheck:
237
- Enabled: false
238
-
239
- Style/ClassVars:
240
- Enabled: false
241
-
242
- Style/CollectionCompact:
243
- Enabled: true
244
-
245
- Style/ColonMethodCall:
246
- Enabled: false
247
-
248
- Style/CommentAnnotation:
249
- Enabled: false
250
-
251
- Style/CommentedKeyword:
252
- Enabled: false
253
-
254
- Style/ConditionalAssignment:
255
- Enabled: false
256
-
257
- Style/DefWithParentheses:
258
- Enabled: true
259
-
260
- Style/Documentation:
261
- Enabled: false
262
-
263
- Style/DocumentDynamicEvalDefinition:
264
- Enabled: false
265
-
266
- Style/ExpandPathArguments:
267
- Enabled: false
268
-
269
- Style/ExponentialNotation:
270
- Enabled: true
271
-
272
- Style/GuardClause:
273
- Enabled: false
274
-
275
- Style/HashEachMethods:
276
- Enabled: true
277
-
278
- Style/HashExcept:
279
- Enabled: true
280
-
281
- Style/HashTransformKeys:
282
- Enabled: true
283
-
284
- Style/HashTransformValues:
285
- Enabled: true
286
-
287
- Style/IfUnlessModifier:
288
- Enabled: false
289
-
290
- Style/InPatternThen:
291
- Enabled: true
292
-
293
- Style/InverseMethods:
294
- Enabled: false
295
-
296
- Style/MissingRespondToMissing:
297
- Enabled: false
298
-
299
- Style/MultilineInPatternThen:
300
- Enabled: true
301
-
302
- Style/NegatedIfElseCondition:
303
- Enabled: true
304
-
305
- Style/Next:
306
- Enabled: false
307
-
308
- Style/NilLambda:
309
- Enabled: true
310
-
311
- Style/NumericLiterals:
312
- Enabled: false
313
-
314
- Style/QuotedSymbols:
315
- Enabled: true
316
-
317
- Style/RaiseArgs:
318
- Enabled: true
319
-
320
- Style/RedundantArgument:
321
- Enabled: true
322
-
323
- Style/RedundantReturn:
324
- Enabled: false
325
-
326
- Style/RedundantSelf:
327
- Enabled: true
328
-
329
- Style/RedundantSelfAssignmentBranch:
330
- Enabled: true
331
-
332
- Style/RegexpLiteral:
333
- Enabled: false
334
-
335
- Style/PercentLiteralDelimiters:
336
- Enabled: false
337
-
338
- Style/StderrPuts:
339
- Enabled: false
340
-
341
- Style/StringLiterals:
342
- Enabled: true
343
-
344
- Style/SwapValues:
345
- Enabled: true
346
-
347
- Style/TernaryParentheses:
348
- Enabled: false
349
-
350
- Style/UnlessElse:
351
- Enabled: false
352
-
353
- # Rubocop complains when it doesn't find an explicit setting for the following cops:
354
- Layout/EmptyLinesAroundAttributeAccessor:
355
- Enabled: true
356
-
357
- Lint/BinaryOperatorWithIdenticalOperands:
358
- Enabled: true
359
-
360
- Lint/DeprecatedOpenSSLConstant:
361
- Enabled: true
362
-
363
- Lint/DuplicateElsifCondition:
364
- Enabled: true
365
-
366
- Lint/DuplicateRescueException:
367
- Enabled: true
368
-
369
- Lint/EmptyConditionalBody:
370
- Enabled: true
371
-
372
- Lint/FloatComparison:
373
- Enabled: true
374
-
375
- Lint/MissingSuper:
376
- Enabled: true
377
-
378
- Lint/MixedRegexpCaptureTypes:
379
- Enabled: true
380
-
381
- Lint/OutOfRangeRegexpRef:
382
- Enabled: true
383
-
384
- Lint/SelfAssignment:
385
- Enabled: true
386
-
387
- Lint/TopLevelReturnWithArgument:
388
- Enabled: true
389
-
390
- Lint/UnreachableLoop:
391
- Enabled: true
392
-
393
- Style/ArrayCoercion:
394
- Enabled: true
395
-
396
- Style/BisectedAttrAccessor:
397
- Enabled: true
398
-
399
- Style/CaseLikeIf:
400
- Enabled: true
401
-
402
- Style/EndlessMethod:
403
- Enabled: true
404
-
405
- Style/ExplicitBlockArgument:
406
- Enabled: true
407
-
408
- Style/GlobalStdStream:
409
- Enabled: true
410
-
411
- Style/HashAsLastArrayItem:
412
- Enabled: true
413
-
414
- Style/HashConversion:
415
- Enabled: true
416
-
417
- Style/HashLikeCase:
418
- Enabled: true
419
-
420
- Style/IfWithBooleanLiteralBranches:
421
- Enabled: true
422
-
423
- Style/OptionalBooleanParameter:
424
- Enabled: true
425
-
426
- Style/RedundantAssignment:
427
- Enabled: true
428
-
429
- Style/RedundantFetchBlock:
430
- Enabled: true
431
-
432
- Style/RedundantFileExtensionInRequire:
433
- Enabled: true
434
-
435
- Style/RedundantRegexpCharacterClass:
436
- Enabled: true
437
-
438
- Style/RedundantRegexpEscape:
439
- Enabled: true
440
-
441
- Style/SingleArgumentDig:
442
- Enabled: true
443
-
444
- Style/SlicingWithRange:
445
- Enabled: true
446
-
447
- Style/StringChars:
448
- Enabled: true
449
-
450
- Style/StringConcatenation:
451
- Enabled: true
1
+ AllCops:
2
+ Exclude:
3
+ - 'exp/**/*'
4
+ - 'demo/**/*'
5
+
6
+ Gemspec/DateAssignment:
7
+ Enabled: true
8
+
9
+ Layout/ArgumentAlignment:
10
+ Enabled: false
11
+
12
+ Layout/ArrayAlignment:
13
+ Enabled: true
14
+ EnforcedStyle: with_fixed_indentation
15
+
16
+ Layout/CaseIndentation:
17
+ Enabled: false
18
+
19
+ Layout/ClosingHeredocIndentation:
20
+ Enabled: false
21
+
22
+ Layout/CommentIndentation:
23
+ Enabled: false
24
+
25
+ Layout/ElseAlignment:
26
+ Enabled: false
27
+
28
+ Layout/EmptyLines:
29
+ Enabled: false
30
+
31
+ Layout/EndAlignment:
32
+ Enabled: false
33
+
34
+ Layout/EndOfLine:
35
+ Enabled: true
36
+ EnforcedStyle: lf
37
+
38
+ Layout/FirstArgumentIndentation:
39
+ Enabled: false
40
+
41
+ Layout/HashAlignment:
42
+ Enabled: false
43
+
44
+ Layout/IndentationWidth:
45
+ Enabled: false
46
+
47
+ Layout/IndentationConsistency:
48
+ Enabled: true
49
+
50
+ Layout/HeredocIndentation:
51
+ Enabled: false
52
+
53
+ Layout/LineEndStringConcatenationIndentation:
54
+ Enabled: true
55
+
56
+ Layout/MultilineHashBraceLayout:
57
+ Enabled: true
58
+
59
+ Layout/MultilineMethodCallBraceLayout:
60
+ Enabled: true
61
+ EnforcedStyle: same_line
62
+
63
+ Layout/SpaceAroundOperators:
64
+ Enabled: true
65
+
66
+ Layout/SpaceBeforeBrackets:
67
+ Enabled: true
68
+
69
+ Layout/SpaceInsideParens:
70
+ Enabled: true
71
+
72
+ Layout/IndentationStyle:
73
+ Enabled: true
74
+
75
+ Layout/SpaceAroundMethodCallOperator:
76
+ Enabled: true
77
+
78
+ Layout/TrailingEmptyLines:
79
+ Enabled: true
80
+
81
+ Layout/TrailingWhitespace:
82
+ Enabled: true
83
+
84
+ Lint/AmbiguousAssignment:
85
+ Enabled: true
86
+
87
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
88
+ Enabled: true
89
+
90
+ Lint/AmbiguousRange:
91
+ Enabled: true
92
+
93
+ Lint/DeprecatedConstants:
94
+ Enabled: true
95
+
96
+ Lint/DuplicateBranch:
97
+ Enabled: true
98
+
99
+ Lint/DuplicateRegexpCharacterClassElement:
100
+ Enabled: true
101
+
102
+ Lint/EmptyBlock:
103
+ Enabled: true
104
+
105
+ Lint/EmptyClass:
106
+ Enabled: false
107
+
108
+ Lint/EmptyInPattern:
109
+ Enabled: true
110
+
111
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
112
+ Enabled: true
113
+
114
+ Lint/LambdaWithoutLiteralBlock:
115
+ Enabled: true
116
+
117
+ Lint/Loop:
118
+ Enabled: true
119
+
120
+ Lint/NoReturnInBeginEndBlocks:
121
+ Enabled: true
122
+
123
+ Lint/NumberedParameterAssignment:
124
+ Enabled: true
125
+
126
+ Lint/OrAssignmentToConstant:
127
+ Enabled: true
128
+
129
+ Lint/RaiseException:
130
+ Enabled: true
131
+
132
+ Lint/RedundantDirGlobSort:
133
+ Enabled: true
134
+
135
+ Lint/RequireRelativeSelfPath: # new in 1.22
136
+ Enabled: true
137
+
138
+ Lint/RescueException:
139
+ Enabled: true
140
+
141
+ Lint/StructNewOverride:
142
+ Enabled: true
143
+
144
+ Lint/SymbolConversion:
145
+ Enabled: true
146
+
147
+ Lint/ToEnumArguments:
148
+ Enabled: true
149
+
150
+ Lint/TripleQuotes:
151
+ Enabled: true
152
+
153
+ Lint/UnexpectedBlockArity:
154
+ Enabled: true
155
+
156
+ Lint/UnmodifiedReduceAccumulator:
157
+ Enabled: true
158
+
159
+ Lint/UnusedMethodArgument:
160
+ Enabled: true
161
+
162
+ Lint/UselessAccessModifier:
163
+ Enabled: true
164
+
165
+ Lint/Void:
166
+ Enabled: false
167
+
168
+ Lint/UselessAssignment:
169
+ Enabled: true
170
+
171
+ Metrics/AbcSize:
172
+ Enabled: false
173
+
174
+ Metrics/BlockLength:
175
+ Enabled: true
176
+ Max: 350
177
+
178
+ Metrics/BlockNesting:
179
+ Enabled: true
180
+ Max: 5
181
+
182
+ Metrics/ClassLength:
183
+ Enabled: true
184
+ Max: 450
185
+
186
+ Metrics/CyclomaticComplexity:
187
+ Enabled: false
188
+
189
+ Layout/LineLength:
190
+ Enabled: false
191
+ Max: 90
192
+
193
+ Metrics/MethodLength:
194
+ Enabled: true
195
+ Max: 60
196
+
197
+ Metrics/ModuleLength:
198
+ Enabled: true
199
+ Max: 500
200
+
201
+ Metrics/PerceivedComplexity:
202
+ Enabled: false
203
+
204
+ Naming/ConstantName:
205
+ Enabled: false
206
+
207
+ Naming/ClassAndModuleCamelCase:
208
+ Enabled: false
209
+
210
+ Naming/BlockParameterName:
211
+ Enabled: true
212
+
213
+ Naming/InclusiveLanguage:
214
+ Enabled: true
215
+
216
+ Naming/MethodParameterName:
217
+ Enabled: false
218
+
219
+ Naming/MethodName:
220
+ Enabled: false
221
+
222
+ Naming/VariableName:
223
+ Enabled: false
224
+
225
+ Security/IoMethods: # new in 1.22
226
+ Enabled: true
227
+
228
+ Style/Alias:
229
+ Enabled: true
230
+
231
+ Style/ArgumentsForwarding:
232
+ Enabled: true
233
+
234
+ Style/AsciiComments:
235
+ Enabled: false
236
+
237
+ Style/BarePercentLiterals:
238
+ Enabled: false
239
+
240
+ Style/BlockComments:
241
+ Enabled: false
242
+
243
+ Style/CharacterLiteral:
244
+ Enabled: false
245
+
246
+ Style/ClassCheck:
247
+ Enabled: false
248
+
249
+ Style/ClassVars:
250
+ Enabled: false
251
+
252
+ Style/CollectionCompact:
253
+ Enabled: true
254
+
255
+ Style/ColonMethodCall:
256
+ Enabled: false
257
+
258
+ Style/CommentAnnotation:
259
+ Enabled: false
260
+
261
+ Style/CommentedKeyword:
262
+ Enabled: false
263
+
264
+ Style/ConditionalAssignment:
265
+ Enabled: false
266
+
267
+ Style/DefWithParentheses:
268
+ Enabled: true
269
+
270
+ Style/Documentation:
271
+ Enabled: false
272
+
273
+ Style/DocumentDynamicEvalDefinition:
274
+ Enabled: true
275
+
276
+ Style/ExpandPathArguments:
277
+ Enabled: false
278
+
279
+ Style/ExponentialNotation:
280
+ Enabled: true
281
+
282
+ Style/GuardClause:
283
+ Enabled: false
284
+
285
+ Style/HashEachMethods:
286
+ Enabled: true
287
+
288
+ Style/HashExcept:
289
+ Enabled: true
290
+
291
+ Style/HashTransformKeys:
292
+ Enabled: true
293
+
294
+ Style/HashTransformValues:
295
+ Enabled: true
296
+
297
+ Style/IfUnlessModifier:
298
+ Enabled: false
299
+
300
+ Style/InPatternThen:
301
+ Enabled: true
302
+
303
+ Style/InverseMethods:
304
+ Enabled: false
305
+
306
+ Style/MissingRespondToMissing:
307
+ Enabled: false
308
+
309
+ Style/MultilineInPatternThen:
310
+ Enabled: true
311
+
312
+ Style/NegatedIfElseCondition:
313
+ Enabled: true
314
+
315
+ Style/Next:
316
+ Enabled: false
317
+
318
+ Style/NilLambda:
319
+ Enabled: true
320
+
321
+ Style/NumberedParameters: # new in 1.22
322
+ Enabled: true
323
+
324
+ Style/NumberedParametersLimit: # new in 1.22
325
+ Enabled: true
326
+
327
+ Style/NumericLiterals:
328
+ Enabled: false
329
+
330
+ Style/QuotedSymbols:
331
+ Enabled: true
332
+
333
+ Style/RaiseArgs:
334
+ Enabled: true
335
+
336
+ Style/RedundantArgument:
337
+ Enabled: true
338
+
339
+ Style/RedundantReturn:
340
+ Enabled: false
341
+
342
+ Style/RedundantSelf:
343
+ Enabled: true
344
+
345
+ Style/RedundantSelfAssignmentBranch:
346
+ Enabled: true
347
+
348
+ Style/RegexpLiteral:
349
+ Enabled: false
350
+
351
+ Style/PercentLiteralDelimiters:
352
+ Enabled: false
353
+
354
+ Style/SelectByRegexp: # new in 1.22
355
+ Enabled: true
356
+
357
+ Style/StderrPuts:
358
+ Enabled: false
359
+
360
+ Style/StringLiterals:
361
+ Enabled: true
362
+
363
+ Style/SwapValues:
364
+ Enabled: true
365
+
366
+ Style/TernaryParentheses:
367
+ Enabled: false
368
+
369
+ Style/UnlessElse:
370
+ Enabled: false
371
+
372
+ # Rubocop complains when it doesn't find an explicit setting for the following cops:
373
+ Layout/EmptyLinesAroundAttributeAccessor:
374
+ Enabled: true
375
+
376
+ Lint/BinaryOperatorWithIdenticalOperands:
377
+ Enabled: true
378
+
379
+ Lint/DeprecatedOpenSSLConstant:
380
+ Enabled: true
381
+
382
+ Lint/DuplicateElsifCondition:
383
+ Enabled: true
384
+
385
+ Lint/DuplicateRescueException:
386
+ Enabled: true
387
+
388
+ Lint/EmptyConditionalBody:
389
+ Enabled: true
390
+
391
+ Lint/FloatComparison:
392
+ Enabled: true
393
+
394
+ Lint/MissingSuper:
395
+ Enabled: true
396
+
397
+ Lint/MixedRegexpCaptureTypes:
398
+ Enabled: true
399
+
400
+ Lint/OutOfRangeRegexpRef:
401
+ Enabled: true
402
+
403
+ Lint/SelfAssignment:
404
+ Enabled: true
405
+
406
+ Lint/TopLevelReturnWithArgument:
407
+ Enabled: true
408
+
409
+ Lint/UnreachableLoop:
410
+ Enabled: true
411
+
412
+ Style/AccessorGrouping:
413
+ Enabled: true
414
+
415
+ Style/ArrayCoercion:
416
+ Enabled: true
417
+
418
+ Style/BisectedAttrAccessor:
419
+ Enabled: true
420
+
421
+ Style/CaseLikeIf:
422
+ Enabled: true
423
+
424
+ Style/EndlessMethod:
425
+ Enabled: true
426
+
427
+ Style/ExplicitBlockArgument:
428
+ Enabled: true
429
+
430
+ Style/GlobalStdStream:
431
+ Enabled: true
432
+
433
+ Style/HashAsLastArrayItem:
434
+ Enabled: true
435
+
436
+ Style/HashConversion:
437
+ Enabled: true
438
+
439
+ Style/HashLikeCase:
440
+ Enabled: true
441
+
442
+ Style/IfWithBooleanLiteralBranches:
443
+ Enabled: true
444
+
445
+ Style/OptionalBooleanParameter:
446
+ Enabled: true
447
+
448
+ Style/RedundantAssignment:
449
+ Enabled: true
450
+
451
+ Style/RedundantFetchBlock:
452
+ Enabled: true
453
+
454
+ Style/RedundantFileExtensionInRequire:
455
+ Enabled: true
456
+
457
+ Style/RedundantRegexpCharacterClass:
458
+ Enabled: true
459
+
460
+ Style/RedundantRegexpEscape:
461
+ Enabled: true
462
+
463
+ Style/SingleArgumentDig:
464
+ Enabled: true
465
+
466
+ Style/SlicingWithRange:
467
+ Enabled: true
468
+
469
+ Style/StringChars:
470
+ Enabled: true
471
+
472
+ Style/StringConcatenation:
473
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -1,8 +1,16 @@
1
+ ## [0.2.20] - 2021-11-01
2
+ - Code update to cope with changes in `Rley` v. 0.8.08
3
+
4
+ ### Changed
5
+ - File `grammar.rb`: Refactoring to cope with ? quantifier changes
6
+ - File `s_expr_builder.rb`: Refactoring to cope with ? quantifier changes
7
+ - File `skeem.gemspec` dependency updated for `Rley` v. 0.8.08
8
+
1
9
  ## [0.2.19] - 2021-08-30
2
10
  - Grammar refactoring: use ?, * and + modifiers in Rley 0.8.03 rules
3
11
 
4
12
  ### Changed
5
- - File `grammar.rb`: Remove redundant rules after introduction og ?, * and + modifiers
13
+ - File `grammar.rb`: Remove redundant rules after introduction of ?, * and + modifiers
6
14
  - Class `SkmBuilder`: Removal of useless methods after removal of their rule counterpart
7
15
 
8
16
 
data/README.md CHANGED
@@ -392,7 +392,7 @@ This project is intended to be a safe, welcoming space for collaboration, and co
392
392
 
393
393
  Copyright
394
394
  ---------
395
- Copyright (c) 2018-2019, Dimitri Geshef.
395
+ Copyright (c) 2018-2021, Dimitri Geshef.
396
396
  __Skeem__ is released under the MIT License see [LICENSE.txt](https://github.com/famished-tiger/Skeem/blob/master/LICENSE.txt) for details.
397
397
 
398
398
  ## Code of Conduct
data/lib/skeem/grammar.rb CHANGED
@@ -6,7 +6,7 @@ require 'rley' # Load the gem
6
6
  module Skeem
7
7
  ########################################
8
8
  # Define a grammar for Skeem
9
- # Official Small Scheme grammar is available at:
9
+ # The official Small Scheme language grammar is available at:
10
10
  # https://bitbucket.org/cowan/r7rs/src/draft-10/rnrs/r7rs.pdf
11
11
  # Names of grammar elements are based on the R7RS documentation
12
12
  builder = Rley::grammar_builder do
@@ -102,7 +102,7 @@ module Skeem
102
102
  do_syntax = <<-END_SYNTAX
103
103
  LPAREN DO LPAREN iteration_spec* RPAREN
104
104
  LPAREN test do_result RPAREN
105
- command_star RPAREN
105
+ rep_command_star RPAREN
106
106
  END_SYNTAX
107
107
  rule('derived_expression' => do_syntax).as 'do_expression'
108
108
  rule 'derived_expression' => 'quasiquotation'
@@ -117,7 +117,7 @@ END_SYNTAX
117
117
  rule('iteration_spec' => 'LPAREN IDENTIFIER init RPAREN').as 'iteration_spec_short'
118
118
  rule('init' => 'expression')
119
119
  rule('step' => 'expression')
120
- rule 'do_result' => 'sequence?'
120
+ rule('do_result' => 'sequence?').tag 'do_result'
121
121
  rule('keyword' => 'IDENTIFIER')
122
122
  rule('includer' => 'LPAREN INCLUDE STRING_LIT+ RPAREN').as 'include'
123
123
  rule 'qq_template' => 'simple_datum'
@@ -8,7 +8,11 @@ require_relative './primitive/primitive_builder'
8
8
  module Skeem
9
9
  class Interpreter
10
10
  include Primitive::PrimitiveBuilder
11
+
12
+ # @return [Skeem::Parser] Link to Skeem parser
11
13
  attr_reader(:parser)
14
+
15
+ # @return [Skeem::Runtime] Link to runtime object (holds call stack & frames)
12
16
  attr_reader(:runtime)
13
17
 
14
18
  def initialize
@@ -244,10 +244,7 @@ module Skeem
244
244
  raw_result = Rational(raw_result, elem_value)
245
245
  end
246
246
 
247
- when [Integer, Rational]
248
- raw_result *= reciprocal(elem_value)
249
-
250
- when [Rational, Rational]
247
+ when [Integer, Rational], [Rational, Rational]
251
248
  raw_result *= reciprocal(elem_value)
252
249
  else
253
250
  raw_result = raw_result.to_f
@@ -5,8 +5,13 @@ require_relative '../s_expr_nodes'
5
5
  module Skeem
6
6
  module Primitive
7
7
  class PrimitiveProcedure
8
+ # @return [Skeem::SkmIdentifier] 'name' of the procedure
8
9
  attr_reader(:identifier)
10
+
11
+ # @return [Skeem::Arity] number of arguments of the procedure
9
12
  attr_reader(:arity)
13
+
14
+ # @return [Proc] A Ruby lambda that implements the primitive procedure
10
15
  attr_reader(:code)
11
16
 
12
17
  # param [anArity] Arity of the lambda code (ignoring the runtime object)
@@ -205,7 +205,8 @@ module Skeem
205
205
 
206
206
  # rule('conditional' => 'LPAREN IF test consequent alternate RPAREN').as 'conditional'
207
207
  def reduce_conditional(_production, aRange, _tokens, theChildren)
208
- SkmCondition.new(aRange, theChildren[2], theChildren[3], theChildren[4])
208
+ children = theChildren.flatten
209
+ SkmCondition.new(aRange, children[2], children[3], children[4])
209
210
  end
210
211
 
211
212
  # rule('assignment' => 'LPAREN SET! IDENTIFIER expression RPAREN').as 'assignment'
@@ -288,11 +289,21 @@ module Skeem
288
289
  SkmIterationSpec.new(theChildren[1], theChildren[2], nil)
289
290
  end
290
291
 
291
- # rule('do_result' => []).as 'empty_do_result'
292
- def reduce_empty_do_result(_production, _range, _tokens, _children)
293
- SkmEmptyList.instance
292
+ # rule('do_result' => 'sequence?')
293
+ def reduce_do_result(_production, _range, _tokens, theChildren)
294
+ children = theChildren.flatten
295
+ if children.empty?
296
+ SkmEmptyList.instance
297
+ else
298
+ children[0]
299
+ end
294
300
  end
295
301
 
302
+ # rule('do_result' => []).as 'empty_do_result'
303
+ # def reduce_empty_do_result(_production, _range, _tokens, _children)
304
+ # SkmEmptyList.instance
305
+ # end
306
+
296
307
  # rule('includer' => 'LPAREN INCLUDE string_plus RPAREN').as 'include'
297
308
  def reduce_include(_production, _range, _tokens, theChildren)
298
309
  includer = SkmIncluder.new(theChildren[2])
@@ -9,6 +9,8 @@ require_relative 'datum_dsl'
9
9
  require_relative 'skm_unary_expression'
10
10
  require_relative 'skm_procedure_exec'
11
11
 
12
+ # rubocop: disable Style/AccessorGrouping
13
+
12
14
  module Skeem
13
15
  class SkmUndefined
14
16
  include Singleton
@@ -143,6 +145,8 @@ module Skeem
143
145
  [:callee, callee]
144
146
  end
145
147
 
148
+ # rubocop: disable Style/RedundantAssignment
149
+
146
150
  def fetch_callee(aRuntime, var_key)
147
151
  begin
148
152
  aRuntime.include?(var_key.value)
@@ -172,6 +176,8 @@ module Skeem
172
176
  callee
173
177
  end
174
178
 
179
+ # rubocop: enable Style/RedundantAssignment
180
+
175
181
  def transform_operands(aRuntime)
176
182
  return [] if operands == SkmEmptyList.instance
177
183
 
@@ -817,11 +823,11 @@ module Skeem
817
823
  else
818
824
  result = cmd.evaluate(aRuntime)
819
825
  end
820
- rescue NoMethodError => e
821
- $stderr.puts inspect
822
- $stderr.puts sequence.inspect
823
- $stderr.puts cmd.inspect
824
- raise e
826
+ rescue NoMethodError => e
827
+ $stderr.puts inspect
828
+ $stderr.puts sequence.inspect
829
+ $stderr.puts cmd.inspect
830
+ raise e
825
831
  end
826
832
 
827
833
  result
@@ -843,6 +849,8 @@ module Skeem
843
849
  twin
844
850
  end
845
851
 
852
+ # rubocop: disable Naming/AccessorMethodName
853
+
846
854
  def set_cond_environment(theFrame)
847
855
  # $stderr.puts "Lambda #{object_id.to_s(16)}, env [#{environment.object_id.to_s(16)}]"
848
856
  # $stderr.puts " Runtime environment: #{theFrame.object_id.to_s(16)}"
@@ -856,6 +864,8 @@ module Skeem
856
864
  end
857
865
  end
858
866
 
867
+ # rubocop: enable Naming/AccessorMethodName
868
+
859
869
  private
860
870
 
861
871
  # Purpose: bind each formal from lambda to an actual value from the call
@@ -915,4 +925,6 @@ module Skeem
915
925
  end
916
926
  end # class
917
927
  end # module
928
+
929
+ # rubocop: enable Style/AccessorGrouping
918
930
  # End of file
@@ -89,6 +89,8 @@ module Skeem
89
89
 
90
90
  private
91
91
 
92
+ # rubocop: disable Lint/DuplicateBranch
93
+
92
94
  def _next_token
93
95
  skip_intertoken_spaces
94
96
  curr_ch = scanner.peek(1)
@@ -143,6 +145,8 @@ module Skeem
143
145
  return token
144
146
  end
145
147
 
148
+ # rubocop: enable Lint/DuplicateBranch
149
+
146
150
  =begin
147
151
  #u8( This introduces a bytevector constant (section 6.9).
148
152
  Bytevector constants are terminated by ) .
data/lib/skeem/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Skeem
4
- VERSION = '0.2.19'
4
+ VERSION = '0.2.20'
5
5
  end
data/skeem.gemspec CHANGED
@@ -62,7 +62,7 @@ SUMMARY
62
62
  PkgExtending.pkg_files(spec)
63
63
  PkgExtending.pkg_documentation(spec)
64
64
  # Runtime dependencies
65
- spec.add_dependency 'rley', '~> 0.8.03'
65
+ spec.add_dependency 'rley', '~> 0.8.08'
66
66
 
67
67
  # Development dependencies
68
68
  spec.add_development_dependency 'bundler', '~> 2.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skeem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.19
4
+ version: 0.2.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-30 00:00:00.000000000 Z
11
+ date: 2021-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rley
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.03
19
+ version: 0.8.08
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.8.03
26
+ version: 0.8.08
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement