trailblazer-activity-dsl-linear 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d539047d4fc798ef33f6a128457db0197bbc196f6a03ea9a49e577c338224a8e
4
- data.tar.gz: 6c461ee1e7f77eb07b428d34f5a0a6689ecc5584ea25c519e434c898b4dd9ed5
3
+ metadata.gz: 6780d2e6a84569a17741b99569f6ac18a62c9be2f184c5e16d7962b187ff014f
4
+ data.tar.gz: e2cdd1defca192f3ce67e0035607ecadadc5ba24d3fcfa1c842db68cf7947824
5
5
  SHA512:
6
- metadata.gz: 6b29289e1248383a8a10a7d81428eb729dfaeeea2e6b6bc7a400d8aa399eff1875686042ef4c27dff715cae8f9a65933da9981d9adf089d0648497b58454c404
7
- data.tar.gz: 942c8edbe8e4cc5710a9fdbea07e1714c25c3027d657c84836bb844febb79c16082ca63a1d6b5c802914f1be99353daa229f2a2d09fc9e45bac263dc9d3477b0
6
+ metadata.gz: 3b7b2af929a4666ed270cb9ba0034fc07b0e7accede59717ca9783dd1ae0bfc237e62789cd9a80a1631025a47879ec3eed3f9ece63ebdba12732ec6ccb535516
7
+ data.tar.gz: 5a804cc8552966516cb9ccbdb175385a5e7ce9f16092cea03e9f6a73a2723d781a4da56c22c36542f8f757ade965aae1b7eeb92f6509b111e7729d78ca7a88ea
data/.gitignore CHANGED
@@ -7,3 +7,6 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /.rubocop-https---raw-githubusercontent-com-trailblazer-meta-master-rubocop-yml
11
+ /.rakeTasks
12
+ /.tool-versions
@@ -0,0 +1,6 @@
1
+ inherit_from:
2
+ - https://raw.githubusercontent.com/trailblazer/meta/master/rubocop.yml
3
+ - .rubocop_todo.yml
4
+
5
+ Naming/MethodName:
6
+ Enabled: false
@@ -0,0 +1,609 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-04-05 17:30:01 +1100 using RuboCop version 0.58.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
12
+ # Include: **/*.gemfile, **/Gemfile, **/gems.rb
13
+ Bundler/OrderedGems:
14
+ Exclude:
15
+ - 'Gemfile'
16
+
17
+ # Offense count: 1
18
+ # Configuration parameters: Include.
19
+ # Include: **/*.gemspec
20
+ Gemspec/RequiredRubyVersion:
21
+ Exclude:
22
+ - 'trailblazer-activity-dsl-linear.gemspec'
23
+
24
+ # Offense count: 17
25
+ # Cop supports --auto-correct.
26
+ # Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
27
+ # SupportedHashRocketStyles: key, separator, table
28
+ # SupportedColonStyles: key, separator, table
29
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
30
+ Layout/AlignHash:
31
+ Exclude:
32
+ - 'lib/trailblazer/activity/path.rb'
33
+ - 'lib/trailblazer/activity/railway.rb'
34
+ - 'test/fast_track_test.rb'
35
+ - 'test/railway_test.rb'
36
+
37
+ # Offense count: 4
38
+ # Cop supports --auto-correct.
39
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
40
+ # SupportedStyles: with_first_parameter, with_fixed_indentation
41
+ Layout/AlignParameters:
42
+ Exclude:
43
+ - 'lib/trailblazer/activity/fast_track.rb'
44
+ - 'lib/trailblazer/activity/railway.rb'
45
+
46
+ # Offense count: 1
47
+ # Cop supports --auto-correct.
48
+ # Configuration parameters: EnforcedStyleAlignWith.
49
+ # SupportedStylesAlignWith: either, start_of_block, start_of_line
50
+ Layout/BlockAlignment:
51
+ Exclude:
52
+ - 'test/activity_test.rb'
53
+
54
+ # Offense count: 3
55
+ # Cop supports --auto-correct.
56
+ Layout/ClosingParenthesisIndentation:
57
+ Exclude:
58
+ - 'test/compiler_test.rb'
59
+ - 'test/path_test.rb'
60
+
61
+ # Offense count: 40
62
+ # Cop supports --auto-correct.
63
+ Layout/CommentIndentation:
64
+ Exclude:
65
+ - 'lib/trailblazer/activity/dsl/linear.rb'
66
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
67
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
68
+ - 'lib/trailblazer/activity/railway.rb'
69
+ - 'test/activity_test.rb'
70
+ - 'test/compiler_test.rb'
71
+ - 'test/docs/activity_test.rb'
72
+ - 'test/fast_track_test.rb'
73
+ - 'test/railway_test.rb'
74
+ - 'test/test_helper.rb'
75
+ - 'test/wrap_test.rb'
76
+
77
+ # Offense count: 2
78
+ # Cop supports --auto-correct.
79
+ # Configuration parameters: EnforcedStyle.
80
+ # SupportedStyles: leading, trailing
81
+ Layout/DotPosition:
82
+ Exclude:
83
+ - 'lib/trailblazer/activity/fast_track.rb'
84
+ - 'lib/trailblazer/activity/railway.rb'
85
+
86
+ # Offense count: 1
87
+ # Cop supports --auto-correct.
88
+ # Configuration parameters: AllowBorderComment, AllowMarginComment.
89
+ Layout/EmptyComment:
90
+ Exclude:
91
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
92
+
93
+ # Offense count: 5
94
+ # Cop supports --auto-correct.
95
+ # Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines.
96
+ Layout/EmptyLineBetweenDefs:
97
+ Exclude:
98
+ - 'lib/trailblazer/activity/dsl/linear.rb'
99
+ - 'lib/trailblazer/activity/dsl/linear/variable_mapping.rb'
100
+ - 'lib/trailblazer/activity/railway.rb'
101
+ - 'test/activity_test.rb'
102
+ - 'test/test_helper.rb'
103
+
104
+ # Offense count: 14
105
+ # Cop supports --auto-correct.
106
+ Layout/EmptyLines:
107
+ Exclude:
108
+ - 'lib/trailblazer/activity/dsl/linear/variable_mapping.rb'
109
+ - 'lib/trailblazer/activity/fast_track.rb'
110
+ - 'lib/trailblazer/activity/railway.rb'
111
+ - 'test/activity_test.rb'
112
+ - 'test/fast_track_test.rb'
113
+ - 'test/path_test.rb'
114
+ - 'test/railway_test.rb'
115
+ - 'test/test_helper.rb'
116
+ - 'trailblazer-activity-dsl-linear.gemspec'
117
+
118
+ # Offense count: 12
119
+ # Cop supports --auto-correct.
120
+ Layout/EmptyLinesAroundArguments:
121
+ Exclude:
122
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
123
+ - 'lib/trailblazer/activity/fast_track.rb'
124
+ - 'lib/trailblazer/activity/path.rb'
125
+ - 'lib/trailblazer/activity/railway.rb'
126
+
127
+ # Offense count: 8
128
+ # Cop supports --auto-correct.
129
+ # Configuration parameters: EnforcedStyle.
130
+ # SupportedStyles: empty_lines, no_empty_lines
131
+ Layout/EmptyLinesAroundBlockBody:
132
+ Exclude:
133
+ - 'test/activity_test.rb'
134
+ - 'test/compiler_test.rb'
135
+ - 'test/fast_track_test.rb'
136
+ - 'test/railway_test.rb'
137
+ - 'test/variable_mapping_test.rb'
138
+
139
+ # Offense count: 6
140
+ # Cop supports --auto-correct.
141
+ # Configuration parameters: EnforcedStyle.
142
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
143
+ Layout/EmptyLinesAroundClassBody:
144
+ Exclude:
145
+ - 'lib/trailblazer/activity/fast_track.rb'
146
+ - 'lib/trailblazer/activity/railway.rb'
147
+ - 'test/docs/activity_test.rb'
148
+ - 'test/path_test.rb'
149
+ - 'test/railway_test.rb'
150
+ - 'test/wrap_test.rb'
151
+
152
+ # Offense count: 2
153
+ # Cop supports --auto-correct.
154
+ Layout/EmptyLinesAroundMethodBody:
155
+ Exclude:
156
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
157
+ - 'test/docs/activity_test.rb'
158
+
159
+ # Offense count: 5
160
+ # Cop supports --auto-correct.
161
+ # Configuration parameters: EnforcedStyle.
162
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
163
+ Layout/EmptyLinesAroundModuleBody:
164
+ Exclude:
165
+ - 'lib/trailblazer/activity/dsl/linear.rb'
166
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
167
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
168
+ - 'lib/trailblazer/activity/path.rb'
169
+ - 'lib/trailblazer/activity/railway.rb'
170
+
171
+ # Offense count: 7
172
+ # Cop supports --auto-correct.
173
+ # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
174
+ Layout/ExtraSpacing:
175
+ Exclude:
176
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
177
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
178
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
179
+ - 'lib/trailblazer/activity/path.rb'
180
+
181
+ # Offense count: 9
182
+ # Cop supports --auto-correct.
183
+ Layout/FirstMethodArgumentLineBreak:
184
+ Exclude:
185
+ - 'lib/trailblazer/activity/fast_track.rb'
186
+ - 'lib/trailblazer/activity/railway.rb'
187
+ - 'test/activity_test.rb'
188
+ - 'test/path_test.rb'
189
+
190
+ # Offense count: 1
191
+ # Cop supports --auto-correct.
192
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
193
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
194
+ Layout/FirstParameterIndentation:
195
+ Exclude:
196
+ - 'test/fast_track_test.rb'
197
+
198
+ # Offense count: 2
199
+ # Cop supports --auto-correct.
200
+ # Configuration parameters: IndentationWidth.
201
+ # SupportedStyles: special_inside_parentheses, consistent, align_brackets
202
+ Layout/IndentArray:
203
+ EnforcedStyle: consistent
204
+
205
+ # Offense count: 4
206
+ # Cop supports --auto-correct.
207
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
208
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
209
+ Layout/IndentHash:
210
+ Exclude:
211
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
212
+ - 'lib/trailblazer/activity/path.rb'
213
+
214
+ # Offense count: 9
215
+ # Cop supports --auto-correct.
216
+ # Configuration parameters: EnforcedStyle.
217
+ # SupportedStyles: normal, rails
218
+ Layout/IndentationConsistency:
219
+ Exclude:
220
+ - 'test/activity_test.rb'
221
+ - 'test/compiler_test.rb'
222
+ - 'test/fast_track_test.rb'
223
+
224
+ # Offense count: 1
225
+ # Cop supports --auto-correct.
226
+ # Configuration parameters: Width, IgnoredPatterns.
227
+ Layout/IndentationWidth:
228
+ Exclude:
229
+ - 'test/fast_track_test.rb'
230
+
231
+ # Offense count: 1
232
+ # Cop supports --auto-correct.
233
+ Layout/LeadingCommentSpace:
234
+ Exclude:
235
+ - 'test/docs/**/*'
236
+ - 'test/path_test.rb'
237
+
238
+ # Offense count: 3
239
+ # Cop supports --auto-correct.
240
+ # Configuration parameters: EnforcedStyle.
241
+ # SupportedStyles: symmetrical, new_line, same_line
242
+ Layout/MultilineArrayBraceLayout:
243
+ Exclude:
244
+ - 'lib/trailblazer/activity/path.rb'
245
+ - 'test/railway_test.rb'
246
+
247
+ # Offense count: 2
248
+ # Cop supports --auto-correct.
249
+ # Configuration parameters: EnforcedStyle.
250
+ # SupportedTypes: block, case, class, if, kwbegin, module
251
+ # SupportedStyles: same_line, new_line
252
+ Layout/MultilineAssignmentLayout:
253
+ Exclude:
254
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
255
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
256
+
257
+ # Offense count: 3
258
+ # Cop supports --auto-correct.
259
+ # Configuration parameters: EnforcedStyle.
260
+ # SupportedStyles: symmetrical, new_line, same_line
261
+ Layout/MultilineMethodCallBraceLayout:
262
+ Exclude:
263
+ - 'lib/trailblazer/activity/fast_track.rb'
264
+ - 'test/path_test.rb'
265
+
266
+ # Offense count: 2
267
+ # Cop supports --auto-correct.
268
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
269
+ # SupportedStyles: aligned, indented, indented_relative_to_receiver
270
+ Layout/MultilineMethodCallIndentation:
271
+ Exclude:
272
+ - 'lib/trailblazer/activity/fast_track.rb'
273
+ - 'lib/trailblazer/activity/railway.rb'
274
+
275
+ # Offense count: 4
276
+ # Cop supports --auto-correct.
277
+ Layout/SpaceAfterComma:
278
+ Exclude:
279
+ - 'lib/trailblazer/activity/dsl/linear.rb'
280
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
281
+
282
+ # Offense count: 1
283
+ # Cop supports --auto-correct.
284
+ Layout/SpaceAfterNot:
285
+ Exclude:
286
+ - 'lib/trailblazer/activity/dsl/linear/helper.rb'
287
+
288
+ # Offense count: 6
289
+ # Cop supports --auto-correct.
290
+ # Configuration parameters: .
291
+ # SupportedStyles: space, no_space
292
+ Layout/SpaceAroundEqualsInParameterDefault:
293
+ EnforcedStyle: no_space
294
+
295
+ # Offense count: 8
296
+ # Cop supports --auto-correct.
297
+ # Configuration parameters: AllowForAlignment.
298
+ Layout/SpaceAroundOperators:
299
+ Exclude:
300
+ - 'lib/trailblazer/activity/dsl/linear.rb'
301
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
302
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
303
+ - 'lib/trailblazer/activity/path.rb'
304
+
305
+ # Offense count: 3
306
+ # Cop supports --auto-correct.
307
+ Layout/SpaceBeforeComment:
308
+ Exclude:
309
+ - 'lib/trailblazer/activity/path.rb'
310
+ - 'test/path_test.rb'
311
+
312
+ # Offense count: 1
313
+ # Cop supports --auto-correct.
314
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
315
+ # SupportedStyles: space, no_space, compact
316
+ # SupportedStylesForEmptyBrackets: space, no_space
317
+ Layout/SpaceInsideArrayLiteralBrackets:
318
+ Exclude:
319
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
320
+
321
+ # Offense count: 20
322
+ # Cop supports --auto-correct.
323
+ # Configuration parameters: EnforcedStyle.
324
+ # SupportedStyles: space, no_space
325
+ Layout/SpaceInsideParens:
326
+ Exclude:
327
+ - 'lib/trailblazer/activity/dsl/linear/variable_mapping.rb'
328
+ - 'lib/trailblazer/activity/fast_track.rb'
329
+ - 'lib/trailblazer/activity/path.rb'
330
+ - 'lib/trailblazer/activity/railway.rb'
331
+
332
+ # Offense count: 1
333
+ # Cop supports --auto-correct.
334
+ # Configuration parameters: EnforcedStyle.
335
+ # SupportedStyles: final_newline, final_blank_line
336
+ Layout/TrailingBlankLines:
337
+ Exclude:
338
+ - 'lib/trailblazer/activity/path.rb'
339
+
340
+ # Offense count: 2
341
+ # Configuration parameters: AllowSafeAssignment.
342
+ Lint/AssignmentInCondition:
343
+ Exclude:
344
+ - 'lib/trailblazer/activity/path.rb'
345
+
346
+ # Offense count: 3
347
+ Lint/UnderscorePrefixedVariableName:
348
+ Exclude:
349
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
350
+ - 'lib/trailblazer/activity/dsl/linear/helper.rb'
351
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
352
+
353
+ # Offense count: 11
354
+ # Cop supports --auto-correct.
355
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
356
+ Lint/UnusedBlockArgument:
357
+ Exclude:
358
+ - 'lib/trailblazer/activity/dsl/linear.rb'
359
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
360
+ - 'lib/trailblazer/activity/dsl/linear/helper.rb'
361
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
362
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
363
+ - 'lib/trailblazer/activity/dsl/linear/variable_mapping.rb'
364
+
365
+ # Offense count: 5
366
+ # Cop supports --auto-correct.
367
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
368
+ Lint/UnusedMethodArgument:
369
+ Exclude:
370
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
371
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
372
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
373
+ - 'lib/trailblazer/activity/railway.rb'
374
+
375
+ # Offense count: 47
376
+ Lint/UselessAssignment:
377
+ Exclude:
378
+ - 'lib/trailblazer/activity/dsl/linear.rb'
379
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
380
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
381
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
382
+ - 'lib/trailblazer/activity/fast_track.rb'
383
+ - 'lib/trailblazer/activity/path.rb'
384
+ - 'lib/trailblazer/activity/railway.rb'
385
+ - 'test/activity_test.rb'
386
+ - 'test/docs/activity_test.rb'
387
+ - 'test/path_test.rb'
388
+ - 'test/railway_test.rb'
389
+ - 'test/test_helper.rb'
390
+ - 'test/variable_mapping_test.rb'
391
+ - 'test/wrap_test.rb'
392
+
393
+ # Offense count: 1
394
+ Metrics/AbcSize:
395
+ Max: 28
396
+
397
+ # Offense count: 5
398
+ # Configuration parameters: CountComments.
399
+ Metrics/ClassLength:
400
+ Max: 490
401
+
402
+ # Offense count: 35
403
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
404
+ # URISchemes: http, https
405
+ Metrics/LineLength:
406
+ Max: 526
407
+
408
+ # Offense count: 2
409
+ # Configuration parameters: CountComments.
410
+ Metrics/MethodLength:
411
+ Max: 29
412
+
413
+ # Offense count: 2
414
+ # Configuration parameters: CountComments.
415
+ Metrics/ModuleLength:
416
+ Max: 137
417
+
418
+ # Offense count: 1
419
+ # Configuration parameters: EnforcedStyle.
420
+ # SupportedStyles: snake_case, camelCase
421
+ Naming/VariableName:
422
+ Exclude:
423
+ - 'test/wrap_test.rb'
424
+
425
+ # Offense count: 9
426
+ # Configuration parameters: EnforcedStyle.
427
+ # SupportedStyles: inline, group
428
+ Style/AccessModifierDeclarations:
429
+ Exclude:
430
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
431
+ - 'lib/trailblazer/activity/fast_track.rb'
432
+ - 'lib/trailblazer/activity/railway.rb'
433
+
434
+ # Offense count: 2
435
+ # Cop supports --auto-correct.
436
+ Style/BlockComments:
437
+ Exclude:
438
+ - 'test/docs/activity_test.rb'
439
+ - 'test/variable_mapping_test.rb'
440
+
441
+ # Offense count: 1
442
+ # Cop supports --auto-correct.
443
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods.
444
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining
445
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
446
+ # FunctionalMethods: let, let!, subject, watch
447
+ # IgnoredMethods: lambda, proc, it
448
+ Style/BlockDelimiters:
449
+ Exclude:
450
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
451
+
452
+ # Offense count: 1
453
+ # Cop supports --auto-correct.
454
+ # Configuration parameters: EnforcedStyle.
455
+ # SupportedStyles: braces, no_braces, context_dependent
456
+ Style/BracesAroundHashParameters:
457
+ Exclude:
458
+ - 'lib/trailblazer/activity/railway.rb'
459
+
460
+ # Offense count: 2
461
+ # Cop supports --auto-correct.
462
+ # Configuration parameters: EnforcedStyle.
463
+ # SupportedStyles: is_a?, kind_of?
464
+ Style/ClassCheck:
465
+ Exclude:
466
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
467
+
468
+ # Offense count: 1
469
+ # Cop supports --auto-correct.
470
+ # Configuration parameters: Keywords.
471
+ # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
472
+ Style/CommentAnnotation:
473
+ Exclude:
474
+ - 'lib/trailblazer/activity/dsl/linear.rb'
475
+
476
+ # Offense count: 20
477
+ Style/CommentedKeyword:
478
+ Exclude:
479
+ - 'lib/trailblazer/activity/dsl/linear.rb'
480
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
481
+ - 'lib/trailblazer/activity/dsl/linear/helper.rb'
482
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
483
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
484
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
485
+ - 'lib/trailblazer/activity/fast_track.rb'
486
+ - 'lib/trailblazer/activity/path.rb'
487
+ - 'lib/trailblazer/activity/railway.rb'
488
+ - 'test/activity_test.rb'
489
+
490
+ # Offense count: 2
491
+ # Cop supports --auto-correct.
492
+ Style/ExpandPathArguments:
493
+ Exclude:
494
+ - 'test/test_helper.rb'
495
+ - 'trailblazer-activity-dsl-linear.gemspec'
496
+
497
+ # Offense count: 1
498
+ Style/ImplicitRuntimeError:
499
+ Exclude:
500
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
501
+
502
+ # Offense count: 1
503
+ # Cop supports --auto-correct.
504
+ # Configuration parameters: InverseMethods, InverseBlocks.
505
+ Style/InverseMethods:
506
+ Exclude:
507
+ - 'lib/trailblazer/activity/dsl/linear/helper.rb'
508
+
509
+ # Offense count: 1
510
+ Style/MethodCalledOnDoEndBlock:
511
+ Exclude:
512
+ - 'lib/trailblazer/activity/dsl/linear/compiler.rb'
513
+
514
+ # Offense count: 1
515
+ # Cop supports --auto-correct.
516
+ Style/MutableConstant:
517
+ Exclude:
518
+ - 'lib/trailblazer/activity/dsl/linear/version.rb'
519
+
520
+ # Offense count: 1
521
+ # Cop supports --auto-correct.
522
+ # Configuration parameters: EnforcedStyle.
523
+ # SupportedStyles: compact, exploded
524
+ Style/RaiseArgs:
525
+ Exclude:
526
+ - 'lib/trailblazer/activity/dsl/linear.rb'
527
+
528
+ # Offense count: 1
529
+ Style/Send:
530
+ Exclude:
531
+ - 'lib/trailblazer/activity/dsl/linear/strategy.rb'
532
+
533
+ # Offense count: 8
534
+ # Cop supports --auto-correct.
535
+ # Configuration parameters: EnforcedStyle.
536
+ # SupportedStyles: only_raise, only_fail, semantic
537
+ Style/SignalException:
538
+ Exclude:
539
+ - 'lib/trailblazer/activity/dsl/linear.rb'
540
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
541
+ - 'lib/trailblazer/activity/path.rb'
542
+
543
+ # Offense count: 3
544
+ # Cop supports --auto-correct.
545
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
546
+ # SupportedStyles: single_quotes, double_quotes
547
+ Style/StringLiterals:
548
+ Exclude:
549
+ - 'test/test_helper.rb'
550
+ - 'trailblazer-activity-dsl-linear.gemspec'
551
+
552
+ # Offense count: 2
553
+ # Cop supports --auto-correct.
554
+ # Configuration parameters: MinSize.
555
+ # SupportedStyles: percent, brackets
556
+ Style/SymbolArray:
557
+ EnforcedStyle: brackets
558
+
559
+ # Offense count: 7
560
+ # Cop supports --auto-correct.
561
+ # Configuration parameters: EnforcedStyleForMultiline.
562
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
563
+ Style/TrailingCommaInArguments:
564
+ Exclude:
565
+ - 'lib/trailblazer/activity/fast_track.rb'
566
+ - 'lib/trailblazer/activity/path.rb'
567
+ - 'lib/trailblazer/activity/railway.rb'
568
+ - 'test/fast_track_test.rb'
569
+ - 'test/railway_test.rb'
570
+
571
+ # Offense count: 12
572
+ # Cop supports --auto-correct.
573
+ # Configuration parameters: EnforcedStyleForMultiline.
574
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
575
+ Style/TrailingCommaInArrayLiteral:
576
+ Exclude:
577
+ - 'test/activity_test.rb'
578
+ - 'test/compiler_test.rb'
579
+ - 'test/wrap_test.rb'
580
+
581
+ # Offense count: 9
582
+ # Cop supports --auto-correct.
583
+ # Configuration parameters: EnforcedStyleForMultiline.
584
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
585
+ Style/TrailingCommaInHashLiteral:
586
+ Exclude:
587
+ - 'lib/trailblazer/activity/dsl/linear/normalizer.rb'
588
+ - 'lib/trailblazer/activity/fast_track.rb'
589
+ - 'lib/trailblazer/activity/path.rb'
590
+ - 'lib/trailblazer/activity/railway.rb'
591
+
592
+ # Offense count: 41
593
+ # Cop supports --auto-correct.
594
+ # Configuration parameters: AllowNamedUnderscoreVariables.
595
+ Style/TrailingUnderscoreVariable:
596
+ Exclude:
597
+ - 'lib/trailblazer/activity/dsl/linear.rb'
598
+ - 'lib/trailblazer/activity/dsl/linear/state.rb'
599
+ - 'test/activity_test.rb'
600
+ - 'test/fast_track_test.rb'
601
+ - 'test/path_test.rb'
602
+ - 'test/railway_test.rb'
603
+ - 'test/test_helper.rb'
604
+
605
+ # Offense count: 2
606
+ # Cop supports --auto-correct.
607
+ Style/UnneededPercentQ:
608
+ Exclude:
609
+ - 'trailblazer-activity-dsl-linear.gemspec'
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ #- ruby-head
4
+ - 2.6.2
5
+ - 2.5.1
6
+ - 2.4.4
7
+
8
+ cache: bundler
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 0.1.1
2
+
3
+ * Raise when a step has a duplicate, already existing {:id} but is *not* a {:replace}.
4
+
1
5
  # 0.1.0
2
6
 
3
7
  * This code is extracted, refactored and heavy-metaly simplified from the original `trailblazer-activity` gem.
data/Gemfile CHANGED
@@ -7,7 +7,6 @@ gem "minitest-line"
7
7
 
8
8
  gem "rubocop", require: false
9
9
 
10
- # gem "trailblazer-context", path: "../trailblazer-context"
10
+ gem "trailblazer-context", path: "../trailblazer-context"
11
11
  # gem "trailblazer-developer", path: "../trailblazer-developer"
12
- gem "trailblazer-developer", github: "trailblazer/trailblazer-developer", branch: "exception-tracing"
13
12
  gem "trailblazer-activity", path: "../trailblazer-activity"
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require "rubocop/rake_task"
5
5
  Rake::TestTask.new(:test) do |t|
6
6
  t.libs << "test"
7
7
  t.libs << "lib"
8
- t.test_files = FileList["**/*_test.rb"]
8
+ t.test_files = FileList["test/**/*_test.rb"]
9
9
  end
10
10
 
11
11
  RuboCop::RakeTask.new
@@ -161,3 +161,4 @@ require "trailblazer/activity/path"
161
161
  require "trailblazer/activity/railway"
162
162
  require "trailblazer/activity/fast_track"
163
163
  require "trailblazer/activity/dsl/linear/helper" # FIXME
164
+ require "trailblazer/activity/dsl/linear/variable_mapping"
@@ -31,6 +31,7 @@ module Trailblazer
31
31
  {
32
32
  "activity.normalize_outputs_from_dsl" => method(:normalize_outputs_from_dsl), # Output(Signal, :semantic) => Id()
33
33
  "activity.normalize_connections_from_dsl" => method(:normalize_connections_from_dsl),
34
+ "activity.input_output_dsl" => method(:input_output_dsl), # FIXME: make this optional and allow to dynamically change normalizer steps
34
35
  },
35
36
 
36
37
  Linear::Insert.method(:Prepend), "path.wirings"
@@ -206,6 +207,18 @@ module Trailblazer
206
207
  return Trailblazer::Activity::Right, [new_ctx, flow_options]
207
208
  end
208
209
 
210
+ def input_output_dsl((ctx, flow_options), *)
211
+ input, output = ctx[:input], ctx[:output]
212
+
213
+ return Trailblazer::Activity::Right, [ctx, flow_options] unless input || output
214
+
215
+ new_ctx = {}
216
+ new_ctx[:extensions] ||= [] # FIXME
217
+ new_ctx[:extensions] += [Linear.VariableMapping(input: input, output: output)]
218
+
219
+ return Trailblazer::Activity::Right, [ctx.merge(new_ctx), flow_options]
220
+ end
221
+
209
222
  # TODO: make this extendable!
210
223
  def cleanup_options((ctx, flow_options), *)
211
224
  new_ctx = ctx.reject { |k, v| [:connections, :outputs, :end_id, :step_interface_builder, :failure_end, :track_name, :sequence].include?(k) }
@@ -1,3 +1,5 @@
1
+ require "forwardable"
2
+
1
3
  module Trailblazer
2
4
  class Activity
3
5
  module DSL
@@ -84,7 +86,15 @@ module Trailblazer
84
86
  end
85
87
 
86
88
  extend Forwardable
87
- def_delegators :@activity, :to_h, :call
89
+ def_delegators :@activity, :to_h
90
+
91
+ # Injects {:exec_context} so that {:instance_method}s work.
92
+ def call(args, circuit_options={})
93
+ @activity.(
94
+ args,
95
+ circuit_options.merge(exec_context: new)
96
+ )
97
+ end
88
98
  end # Strategy
89
99
  end
90
100
  end
@@ -1,82 +1,86 @@
1
- # DSL step for Magnetic::Normalizer.
2
- # Translates `:input` and `:output` into VariableMapping taskWrap extensions.
3
- def self.normalizer_step_for_input_output(ctx, *)
4
- options, io_config = Magnetic::Options.normalize( ctx[:options], [:input, :output] )
1
+ module Trailblazer
2
+ class Activity
3
+ module DSL
4
+ module Linear
5
+ # Normalizer-steps to implement {:input} and {:output}
6
+ # Returns an Extension instance to be thrown into the `step` DSL arguments.
7
+ def self.VariableMapping(input:, output:)
8
+ input = #TaskWrap::Input.new(
9
+ VariableMapping::Input::Scoped.new(
10
+ Trailblazer::Option::KW( VariableMapping::filter_for(input) )
11
+ # ->(*args) { raise args.inspect }
12
+ )
13
+ #)
5
14
 
6
- return if io_config.empty?
15
+ output = #TaskWrap::Output.new(
16
+ VariableMapping::Output::Unscoped.new(
17
+ Trailblazer::Option::KW( VariableMapping::filter_for(output) )
18
+ # ),
19
+ # id: :dsl_input_output
20
+ )
7
21
 
8
- ctx[:options] = options # without :input and :output
9
- ctx[:options] = options.merge(Trailblazer::Activity::TaskWrap::VariableMapping(io_config) => true)
10
- end
22
+ TaskWrap::Extension(
23
+ merge: TaskWrap::VariableMapping.merge_for(input, output, id: input.object_id), # wraps filters: {Input(input), Output(output)}
24
+ )
25
+ end
11
26
 
27
+ module VariableMapping
28
+ # @private
29
+ def self.filter_for(filter)
30
+ if filter.is_a?(::Array) || filter.is_a?(::Hash)
31
+ DSL.filter_from_dsl(filter)
32
+ else
33
+ filter
34
+ end
35
+ end
12
36
 
13
- # @private
14
- def self.filter_for(filter)
15
- if filter.is_a?(::Array) || filter.is_a?(::Hash)
16
- TaskWrap::DSL.filter_from_dsl(filter)
17
- else
18
- filter
19
- end
20
- end
37
+ module DSL
38
+ # The returned filter compiles a new hash for Scoped/Unscoped that only contains
39
+ # the desired i/o variables.
40
+ def self.filter_from_dsl(map)
41
+ hsh = DSL.hash_for(map)
21
42
 
22
- # Returns an Extension instance to be thrown into the `step` DSL arguments.
23
- def self.VariableMapping(input:, output:)
24
- input = Input.new(
25
- Input::Scoped.new(
26
- Trailblazer::Option::KW( filter_for(input) )
27
- )
28
- )
43
+ ->(incoming_ctx, kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
44
+ end
29
45
 
30
- output = Output.new(
31
- Output::Unscoped.new(
32
- Trailblazer::Option::KW( filter_for(output) )
33
- )
34
- )
46
+ def self.hash_for(ary)
47
+ return ary if ary.instance_of?(::Hash)
48
+ Hash[ary.collect { |name| [name, name] }]
49
+ end
50
+ end
35
51
 
36
- VariableMapping.extension_for(input, output)
37
- end
38
52
 
39
- module Input
40
- class Scoped
41
- def initialize(filter)
42
- @filter = filter
43
- end
53
+ module Input
54
+ class Scoped
55
+ def initialize(filter)
56
+ @filter = filter
57
+ end
44
58
 
45
- def call(original_ctx, circuit_options)
46
- Trailblazer::Context( # TODO: make this interchangeable so we can work on faster contexts?
47
- @filter.(original_ctx, **circuit_options)
48
- )
49
- end
50
- end
51
- end
59
+ def call(original_ctx, **circuit_options)
60
+ Trailblazer::Context( # TODO: make this interchangeable so we can work on faster contexts?
61
+ @filter.(original_ctx, **circuit_options)
62
+ )
63
+ end
64
+ end
65
+ end
52
66
 
53
- module DSL
54
- # The returned filter compiles a new hash for Scoped/Unscoped that only contains
55
- # the desired i/o variables.
56
- def self.filter_from_dsl(map)
57
- hsh = DSL.hash_for(map)
58
-
59
- ->(incoming_ctx, kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
60
- end
61
-
62
- def self.hash_for(ary)
63
- return ary if ary.instance_of?(::Hash)
64
- Hash[ary.collect { |name| [name, name] }]
65
- end
66
- end
67
-
68
- module Output
69
- # Merge the resulting {@filter.()} hash back into the original ctx.
70
- # DISCUSS: do we need the original_ctx as a filter argument?
71
- class Unscoped
72
- def initialize(filter)
73
- @filter = filter
74
- end
67
+ module Output
68
+ # Merge the resulting {@filter.()} hash back into the original ctx.
69
+ # DISCUSS: do we need the original_ctx as a filter argument?
70
+ class Unscoped
71
+ def initialize(filter)
72
+ @filter = filter
73
+ end
75
74
 
76
- def call(original_ctx, new_ctx, **circuit_options)
77
- original_ctx.merge(
78
- @filter.(new_ctx, **circuit_options)
79
- )
75
+ def call(original_ctx, new_ctx, **circuit_options)
76
+ original_ctx.merge(
77
+ @filter.(new_ctx, **circuit_options)
78
+ )
79
+ end
80
+ end
81
+ end
82
+ end # VariableMapping
83
+ end
80
84
  end
81
85
  end
82
86
  end
@@ -3,7 +3,7 @@ module Trailblazer
3
3
  module Activity
4
4
  module DSL
5
5
  module Linear
6
- VERSION = "0.1.0"
6
+ VERSION = "0.1.1"
7
7
  end
8
8
  end
9
9
  end
@@ -113,7 +113,7 @@ module Trailblazer
113
113
  )
114
114
  end
115
115
 
116
- def initial_sequence(initial_sequence:, fail_fast_end: Activity::End.new(semantic: :fail_fast), pass_fast_end: Activity::End.new(semantic: :pass_fast), **)
116
+ def initial_sequence(initial_sequence:, fail_fast_end: Activity::End.new(semantic: :fail_fast), pass_fast_end: Activity::End.new(semantic: :pass_fast), **_o)
117
117
  sequence = initial_sequence
118
118
 
119
119
  sequence = Path::DSL.append_end(sequence, task: fail_fast_end, magnetic_to: :fail_fast, id: "End.fail_fast")
@@ -81,6 +81,16 @@ module Trailblazer
81
81
  }
82
82
  end
83
83
 
84
+ def raise_on_duplicate_id((ctx, flow_options), *)
85
+ id, sequence, insert = ctx[:id], ctx[:sequence], ctx[:sequence_insert][0] # DISCUSS: should we use Replace here or rather the option(s)?
86
+
87
+ if insert != Linear::Insert.method(:Replace)
88
+ raise "ID #{id} is already taken. Please specify an `:id`." if sequence.find { |row| row[3][:id] == id }
89
+ end
90
+
91
+ return Right, [ctx, flow_options]
92
+ end
93
+
84
94
  def normalize_magnetic_to((ctx, flow_options), *) # TODO: merge with Railway.merge_magnetic_to
85
95
  raise unless track_name = ctx[:track_name]# TODO: make track_name required kw.
86
96
 
@@ -97,6 +107,7 @@ module Trailblazer
97
107
  "path.outputs" => method(:merge_path_outputs),
98
108
  "path.connections" => method(:merge_path_connections),
99
109
  "path.sequence_insert" => method(:normalize_sequence_insert),
110
+ "path.raise_on_duplicate_id" => method(:raise_on_duplicate_id),
100
111
  "path.magnetic_to" => method(:normalize_magnetic_to),
101
112
  "path.wirings" => Linear::Normalizer.method(:compile_wirings),
102
113
  )
@@ -138,6 +149,8 @@ module Trailblazer
138
149
  step: Linear::Normalizer.activity_normalizer( Path::DSL.normalizer ), # here, we extend the generic FastTrack::step_normalizer with the Activity-specific DSL
139
150
  )
140
151
 
152
+ # pp Normalizers
153
+
141
154
  def self.OptionsForState(normalizers: Normalizers, track_name: :success, end_task: Activity::End.new(semantic: :success), end_id: "End.success", **options)
142
155
  initial_sequence = Path::DSL.initial_sequence(track_name: track_name, end_task: end_task, end_id: end_id) # DISCUSS: the standard initial_seq could be cached.
143
156
 
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Nick Sutterer"]
10
10
  spec.email = ["apotonick@gmail.com"]
11
11
 
12
- spec.summary = %q{Simple DSL to compile Trailblazer activities.}
13
- spec.description = %q{Simple DSL to compile Trailblazer activities with arbitrary wirings.}
12
+ spec.summary = %q(Simple DSL to compile Trailblazer activities.)
13
+ spec.description = %q(Simple DSL to compile Trailblazer activities with arbitrary wirings.)
14
14
  spec.homepage = "http://trailblazer.to"
15
15
  spec.licenses = ["MIT"]
16
16
 
@@ -19,11 +19,12 @@ Gem::Specification.new do |spec|
19
19
  end
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "trailblazer-activity" # FIXME: we only need DSL objects.
22
+ spec.add_dependency "trailblazer-activity"
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.14"
25
25
  spec.add_development_dependency "minitest", "~> 5.0"
26
26
  spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "trailblazer-developer"
27
28
 
28
29
  spec.required_ruby_version = '>= 2.1.0'
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-activity-dsl-linear
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-01 00:00:00.000000000 Z
11
+ date: 2019-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-activity
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: trailblazer-developer
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Simple DSL to compile Trailblazer activities with arbitrary wirings.
70
84
  email:
71
85
  - apotonick@gmail.com
@@ -74,6 +88,9 @@ extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
90
  - ".gitignore"
91
+ - ".rubocop.yml"
92
+ - ".rubocop_todo.yml"
93
+ - ".travis.yml"
77
94
  - CHANGES.md
78
95
  - DSL_IDEAS
79
96
  - Gemfile