dynflow 0.8.13 → 0.8.14

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
  SHA1:
3
- metadata.gz: 9215ff1efd57ed6ece39b4ae15891123a6304050
4
- data.tar.gz: 7c68d582ed355012b1de8211172d7b10240a6d45
3
+ metadata.gz: 10c16849649c62a6f0754fdbde3a7fe85adf36fd
4
+ data.tar.gz: 62bf44e0fce93610906a347d46f9573cdb5dee57
5
5
  SHA512:
6
- metadata.gz: 3f0439afb6121642343bcf9180164d0ae4155b13a42207b3f439bfd33709dd616a8bffb55b31855f7c80091e2e322de142acf6f46e42447e82645d221ec9185d
7
- data.tar.gz: aae18c603de99391980735fda2deb3ac7c1320268623a6bc550578cdf7e24e9c69274224fbe90ffdb93481bd87ab75054b338e21affce221c9be70052bc7a116
6
+ metadata.gz: 3b2160f687df87809778801247a9fb3b58001f4c8fa7763f0403c5bd81d2a49d0a84afad33071d70dc799b7f5b4e517311402a4c1eb708c6944d566b8a0bb644
7
+ data.tar.gz: b4fbc38656f85f2040015e0c9c5b3099071595badb7e15d59d16da7cfde9e930083688105ef4913c74151d125ce036c0e4e1e580da0c4d92ab3818a3c32e2534
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,635 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --exclude-limit 0`
3
+ # on 2016-08-24 10:37:35 -0400 using RuboCop version 0.39.0.
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: 7
10
+ Lint/AmbiguousOperator:
11
+ Enabled: false
12
+
13
+ # Offense count: 2
14
+ Lint/AmbiguousRegexpLiteral:
15
+ Enabled: false
16
+
17
+ # Offense count: 7
18
+ # Configuration parameters: AllowSafeAssignment.
19
+ Lint/AssignmentInCondition:
20
+ Enabled: false
21
+
22
+ # Offense count: 3
23
+ # Cop supports --auto-correct.
24
+ # Configuration parameters: AlignWith, SupportedStyles.
25
+ # SupportedStyles: either, start_of_block, start_of_line
26
+ Lint/BlockAlignment:
27
+ Enabled: false
28
+
29
+ # Offense count: 1
30
+ Lint/DuplicateMethods:
31
+ Enabled: false
32
+
33
+ # Offense count: 1
34
+ # Cop supports --auto-correct.
35
+ # Configuration parameters: AlignWith, SupportedStyles, AutoCorrect.
36
+ # SupportedStyles: keyword, variable, start_of_line
37
+ Lint/EndAlignment:
38
+ Enabled: false
39
+
40
+ # Offense count: 6
41
+ Lint/IneffectiveAccessModifier:
42
+ Enabled: false
43
+
44
+ # Offense count: 5
45
+ Lint/ParenthesesAsGroupedExpression:
46
+ Enabled: false
47
+
48
+ # Offense count: 1
49
+ Lint/RandOne:
50
+ Enabled: false
51
+
52
+ # Offense count: 3
53
+ Lint/RescueException:
54
+ Enabled: false
55
+
56
+ # Offense count: 1
57
+ Lint/ShadowingOuterLocalVariable:
58
+ Enabled: false
59
+
60
+ # Offense count: 1
61
+ Lint/UnderscorePrefixedVariableName:
62
+ Enabled: false
63
+
64
+ # Offense count: 17
65
+ # Cop supports --auto-correct.
66
+ # Configuration parameters: IgnoreEmptyBlocks.
67
+ Lint/UnusedBlockArgument:
68
+ Enabled: false
69
+
70
+ # Offense count: 78
71
+ # Cop supports --auto-correct.
72
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
73
+ Lint/UnusedMethodArgument:
74
+ Enabled: false
75
+
76
+ # Offense count: 3
77
+ Lint/UselessAccessModifier:
78
+ Enabled: false
79
+
80
+ # Offense count: 5
81
+ Lint/UselessAssignment:
82
+ Enabled: false
83
+
84
+ # Offense count: 73
85
+ Metrics/AbcSize:
86
+ Max: 207
87
+
88
+ # Offense count: 9
89
+ # Configuration parameters: CountComments.
90
+ Metrics/ClassLength:
91
+ Max: 402
92
+
93
+ # Offense count: 11
94
+ Metrics/CyclomaticComplexity:
95
+ Max: 11
96
+
97
+ # Offense count: 521
98
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
99
+ # URISchemes: http, https
100
+ Metrics/LineLength:
101
+ Max: 166
102
+
103
+ # Offense count: 99
104
+ # Configuration parameters: CountComments.
105
+ Metrics/MethodLength:
106
+ Max: 104
107
+
108
+ # Offense count: 14
109
+ # Configuration parameters: CountComments.
110
+ Metrics/ModuleLength:
111
+ Max: 548
112
+
113
+ # Offense count: 3
114
+ # Configuration parameters: CountKeywordArgs.
115
+ Metrics/ParameterLists:
116
+ Max: 13
117
+
118
+ # Offense count: 9
119
+ Metrics/PerceivedComplexity:
120
+ Max: 11
121
+
122
+ # Offense count: 16
123
+ # Cop supports --auto-correct.
124
+ Performance/RedundantBlockCall:
125
+ Enabled: false
126
+
127
+ # Offense count: 4
128
+ # Cop supports --auto-correct.
129
+ Performance/TimesMap:
130
+ Enabled: false
131
+
132
+ # Offense count: 8
133
+ Style/AccessorMethodName:
134
+ Enabled: false
135
+
136
+ # Offense count: 13
137
+ # Cop supports --auto-correct.
138
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
139
+ # SupportedStyles: prefer_alias, prefer_alias_method
140
+ Style/Alias:
141
+ Enabled: false
142
+
143
+ # Offense count: 1
144
+ # Cop supports --auto-correct.
145
+ # Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle, SupportedLastArgumentHashStyles.
146
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
147
+ Style/AlignHash:
148
+ Enabled: false
149
+
150
+ # Offense count: 51
151
+ # Cop supports --auto-correct.
152
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
153
+ # SupportedStyles: with_first_parameter, with_fixed_indentation
154
+ Style/AlignParameters:
155
+ Enabled: false
156
+
157
+ # Offense count: 11
158
+ # Cop supports --auto-correct.
159
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
160
+ # SupportedStyles: always, conditionals
161
+ Style/AndOr:
162
+ Enabled: false
163
+
164
+ # Offense count: 2
165
+ # Cop supports --auto-correct.
166
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
167
+ # SupportedStyles: percent_q, bare_percent
168
+ Style/BarePercentLiterals:
169
+ Enabled: false
170
+
171
+ # Offense count: 3
172
+ # Cop supports --auto-correct.
173
+ # Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods.
174
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining
175
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
176
+ # FunctionalMethods: let, let!, subject, watch
177
+ # IgnoredMethods: lambda, proc, it
178
+ Style/BlockDelimiters:
179
+ Enabled: false
180
+
181
+ # Offense count: 18
182
+ # Cop supports --auto-correct.
183
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
184
+ # SupportedStyles: braces, no_braces, context_dependent
185
+ Style/BracesAroundHashParameters:
186
+ Enabled: false
187
+
188
+ # Offense count: 13
189
+ Style/CaseEquality:
190
+ Enabled: false
191
+
192
+ # Offense count: 24
193
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
194
+ # SupportedStyles: nested, compact
195
+ Style/ClassAndModuleChildren:
196
+ Enabled: false
197
+
198
+ # Offense count: 3
199
+ # Cop supports --auto-correct.
200
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
201
+ # SupportedStyles: is_a?, kind_of?
202
+ Style/ClassCheck:
203
+ Enabled: false
204
+
205
+ # Offense count: 4
206
+ # Cop supports --auto-correct.
207
+ Style/ColonMethodCall:
208
+ Enabled: false
209
+
210
+ # Offense count: 5
211
+ # Cop supports --auto-correct.
212
+ # Configuration parameters: Keywords.
213
+ # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
214
+ Style/CommentAnnotation:
215
+ Enabled: false
216
+
217
+ # Offense count: 4
218
+ Style/ConstantName:
219
+ Enabled: false
220
+
221
+ # Offense count: 3
222
+ # Cop supports --auto-correct.
223
+ Style/DeprecatedHashMethods:
224
+ Enabled: false
225
+
226
+ # Offense count: 172
227
+ Style/Documentation:
228
+ Enabled: false
229
+
230
+ # Offense count: 20
231
+ # Cop supports --auto-correct.
232
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
233
+ # SupportedStyles: leading, trailing
234
+ Style/DotPosition:
235
+ Enabled: false
236
+
237
+ # Offense count: 3
238
+ Style/DoubleNegation:
239
+ Enabled: false
240
+
241
+ # Offense count: 1
242
+ Style/EachWithObject:
243
+ Enabled: false
244
+
245
+ # Offense count: 2
246
+ # Cop supports --auto-correct.
247
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
248
+ # SupportedStyles: empty, nil, both
249
+ Style/EmptyElse:
250
+ Enabled: false
251
+
252
+ # Offense count: 5
253
+ # Cop supports --auto-correct.
254
+ # Configuration parameters: AllowAdjacentOneLineDefs.
255
+ Style/EmptyLineBetweenDefs:
256
+ Enabled: false
257
+
258
+ # Offense count: 14
259
+ # Cop supports --auto-correct.
260
+ Style/EmptyLines:
261
+ Enabled: false
262
+
263
+ # Offense count: 1
264
+ # Cop supports --auto-correct.
265
+ Style/EmptyLinesAroundAccessModifier:
266
+ Enabled: false
267
+
268
+ # Offense count: 91
269
+ # Cop supports --auto-correct.
270
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
271
+ # SupportedStyles: empty_lines, no_empty_lines
272
+ Style/EmptyLinesAroundBlockBody:
273
+ Enabled: false
274
+
275
+ # Offense count: 143
276
+ # Cop supports --auto-correct.
277
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
278
+ # SupportedStyles: empty_lines, no_empty_lines
279
+ Style/EmptyLinesAroundClassBody:
280
+ Enabled: false
281
+
282
+ # Offense count: 2
283
+ # Cop supports --auto-correct.
284
+ Style/EmptyLinesAroundMethodBody:
285
+ Enabled: false
286
+
287
+ # Offense count: 52
288
+ # Cop supports --auto-correct.
289
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
290
+ # SupportedStyles: empty_lines, no_empty_lines
291
+ Style/EmptyLinesAroundModuleBody:
292
+ Enabled: false
293
+
294
+ # Offense count: 25
295
+ # Cop supports --auto-correct.
296
+ # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
297
+ Style/ExtraSpacing:
298
+ Enabled: false
299
+
300
+ # Offense count: 9
301
+ # Cop supports --auto-correct.
302
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
303
+ # SupportedStyles: consistent, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
304
+ Style/FirstParameterIndentation:
305
+ Enabled: false
306
+
307
+ # Offense count: 4
308
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
309
+ # SupportedStyles: format, sprintf, percent
310
+ Style/FormatString:
311
+ Enabled: false
312
+
313
+ # Offense count: 7
314
+ # Configuration parameters: AllowedVariables.
315
+ Style/GlobalVars:
316
+ Enabled: false
317
+
318
+ # Offense count: 13
319
+ # Configuration parameters: MinBodyLength.
320
+ Style/GuardClause:
321
+ Enabled: false
322
+
323
+ # Offense count: 106
324
+ # Cop supports --auto-correct.
325
+ # Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues.
326
+ # SupportedStyles: ruby19, ruby19_no_mixed_keys, hash_rockets
327
+ Style/HashSyntax:
328
+ Enabled: false
329
+
330
+ # Offense count: 4
331
+ Style/IfInsideElse:
332
+ Enabled: false
333
+
334
+ # Offense count: 22
335
+ # Cop supports --auto-correct.
336
+ # Configuration parameters: MaxLineLength.
337
+ Style/IfUnlessModifier:
338
+ Enabled: false
339
+
340
+ # Offense count: 4
341
+ # Cop supports --auto-correct.
342
+ # Configuration parameters: IndentationWidth.
343
+ Style/IndentAssignment:
344
+ Enabled: false
345
+
346
+ # Offense count: 2
347
+ # Cop supports --auto-correct.
348
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
349
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
350
+ Style/IndentHash:
351
+ Enabled: false
352
+
353
+ # Offense count: 8
354
+ # Cop supports --auto-correct.
355
+ Style/Lambda:
356
+ Enabled: false
357
+
358
+ # Offense count: 13
359
+ # Cop supports --auto-correct.
360
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
361
+ # SupportedStyles: call, braces
362
+ Style/LambdaCall:
363
+ Enabled: false
364
+
365
+ # Offense count: 3
366
+ # Cop supports --auto-correct.
367
+ Style/LineEndConcatenation:
368
+ Enabled: false
369
+
370
+ # Offense count: 3
371
+ # Cop supports --auto-correct.
372
+ Style/MethodCallParentheses:
373
+ Enabled: false
374
+
375
+ # Offense count: 2
376
+ # Cop supports --auto-correct.
377
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
378
+ # SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
379
+ Style/MethodDefParentheses:
380
+ Enabled: false
381
+
382
+ # Offense count: 6
383
+ Style/MultilineBlockChain:
384
+ Enabled: false
385
+
386
+ # Offense count: 1
387
+ # Cop supports --auto-correct.
388
+ Style/MultilineIfThen:
389
+ Enabled: false
390
+
391
+ # Offense count: 23
392
+ # Cop supports --auto-correct.
393
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
394
+ # SupportedStyles: aligned, indented
395
+ Style/MultilineMethodCallIndentation:
396
+ Enabled: false
397
+
398
+ # Offense count: 9
399
+ # Cop supports --auto-correct.
400
+ # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
401
+ # SupportedStyles: aligned, indented
402
+ Style/MultilineOperationIndentation:
403
+ Enabled: false
404
+
405
+ # Offense count: 9
406
+ # Cop supports --auto-correct.
407
+ Style/MutableConstant:
408
+ Enabled: false
409
+
410
+ # Offense count: 5
411
+ # Cop supports --auto-correct.
412
+ Style/NegatedIf:
413
+ Enabled: false
414
+
415
+ # Offense count: 9
416
+ Style/NestedParenthesizedCalls:
417
+ Enabled: false
418
+
419
+ # Offense count: 2
420
+ # Cop supports --auto-correct.
421
+ # Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
422
+ # SupportedStyles: skip_modifier_ifs, always
423
+ Style/Next:
424
+ Enabled: false
425
+
426
+ # Offense count: 2
427
+ # Cop supports --auto-correct.
428
+ Style/Not:
429
+ Enabled: false
430
+
431
+ # Offense count: 2
432
+ Style/OpMethod:
433
+ Enabled: false
434
+
435
+ # Offense count: 5
436
+ # Cop supports --auto-correct.
437
+ Style/ParallelAssignment:
438
+ Enabled: false
439
+
440
+ # Offense count: 24
441
+ # Cop supports --auto-correct.
442
+ # Configuration parameters: PreferredDelimiters.
443
+ Style/PercentLiteralDelimiters:
444
+ Enabled: false
445
+
446
+ # Offense count: 1
447
+ # Cop supports --auto-correct.
448
+ Style/PerlBackrefs:
449
+ Enabled: false
450
+
451
+ # Offense count: 4
452
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
453
+ # NamePrefix: is_, has_, have_
454
+ # NamePrefixBlacklist: is_, has_, have_
455
+ # NameWhitelist: is_a?
456
+ Style/PredicateName:
457
+ Enabled: false
458
+
459
+ # Offense count: 6
460
+ # Cop supports --auto-correct.
461
+ Style/Proc:
462
+ Enabled: false
463
+
464
+ # Offense count: 4
465
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
466
+ # SupportedStyles: compact, exploded
467
+ Style/RaiseArgs:
468
+ Enabled: false
469
+
470
+ # Offense count: 1
471
+ # Cop supports --auto-correct.
472
+ Style/RedundantBegin:
473
+ Enabled: false
474
+
475
+ # Offense count: 2
476
+ # Cop supports --auto-correct.
477
+ Style/RedundantParentheses:
478
+ Enabled: false
479
+
480
+ # Offense count: 43
481
+ # Cop supports --auto-correct.
482
+ # Configuration parameters: AllowMultipleReturnValues.
483
+ Style/RedundantReturn:
484
+ Enabled: false
485
+
486
+ # Offense count: 87
487
+ # Cop supports --auto-correct.
488
+ Style/RedundantSelf:
489
+ Enabled: false
490
+
491
+ # Offense count: 1
492
+ # Cop supports --auto-correct.
493
+ Style/RescueModifier:
494
+ Enabled: false
495
+
496
+ # Offense count: 6
497
+ # Cop supports --auto-correct.
498
+ # Configuration parameters: AllowAsExpressionSeparator.
499
+ Style/Semicolon:
500
+ Enabled: false
501
+
502
+ # Offense count: 3
503
+ # Cop supports --auto-correct.
504
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
505
+ # SupportedStyles: only_raise, only_fail, semantic
506
+ Style/SignalException:
507
+ Enabled: false
508
+
509
+ # Offense count: 6
510
+ # Configuration parameters: Methods.
511
+ # Methods: {"reduce"=>["a", "e"]}, {"inject"=>["a", "e"]}
512
+ Style/SingleLineBlockParams:
513
+ Enabled: false
514
+
515
+ # Offense count: 6
516
+ # Cop supports --auto-correct.
517
+ # Configuration parameters: AllowIfMethodIsEmpty.
518
+ Style/SingleLineMethods:
519
+ Enabled: false
520
+
521
+ # Offense count: 42
522
+ # Cop supports --auto-correct.
523
+ # Configuration parameters: AllowForAlignment.
524
+ Style/SpaceAroundOperators:
525
+ Enabled: false
526
+
527
+ # Offense count: 1
528
+ # Cop supports --auto-correct.
529
+ Style/SpaceBeforeComma:
530
+ Enabled: false
531
+
532
+ # Offense count: 3
533
+ # Cop supports --auto-correct.
534
+ # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
535
+ # SupportedStyles: space, no_space
536
+ Style/SpaceInsideBlockBraces:
537
+ Enabled: false
538
+
539
+ # Offense count: 7
540
+ # Cop supports --auto-correct.
541
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles.
542
+ # SupportedStyles: space, no_space
543
+ Style/SpaceInsideHashLiteralBraces:
544
+ Enabled: false
545
+
546
+ # Offense count: 7
547
+ # Cop supports --auto-correct.
548
+ Style/SpaceInsideParens:
549
+ Enabled: false
550
+
551
+ # Offense count: 8
552
+ # Cop supports --auto-correct.
553
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
554
+ # SupportedStyles: space, no_space
555
+ Style/SpaceInsideStringInterpolation:
556
+ Enabled: false
557
+
558
+ # Offense count: 9
559
+ # Cop supports --auto-correct.
560
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
561
+ # SupportedStyles: use_perl_names, use_english_names
562
+ Style/SpecialGlobalVars:
563
+ Enabled: false
564
+
565
+ # Offense count: 5
566
+ # Cop supports --auto-correct.
567
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
568
+ # SupportedStyles: require_parentheses, require_no_parentheses
569
+ Style/StabbyLambdaParentheses:
570
+ Enabled: false
571
+
572
+ # Offense count: 230
573
+ # Cop supports --auto-correct.
574
+ # Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline.
575
+ # SupportedStyles: single_quotes, double_quotes
576
+ Style/StringLiterals:
577
+ Enabled: false
578
+
579
+ # Offense count: 2
580
+ # Cop supports --auto-correct.
581
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
582
+ # SupportedStyles: single_quotes, double_quotes
583
+ Style/StringLiteralsInInterpolation:
584
+ Enabled: false
585
+
586
+ # Offense count: 9
587
+ # Cop supports --auto-correct.
588
+ # Configuration parameters: IgnoredMethods.
589
+ # IgnoredMethods: respond_to
590
+ Style/SymbolProc:
591
+ Enabled: false
592
+
593
+ # Offense count: 6
594
+ # Cop supports --auto-correct.
595
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
596
+ # SupportedStyles: final_newline, final_blank_line
597
+ Style/TrailingBlankLines:
598
+ Enabled: false
599
+
600
+ # Offense count: 2
601
+ # Cop supports --auto-correct.
602
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist.
603
+ # Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
604
+ Style/TrivialAccessors:
605
+ Enabled: false
606
+
607
+ # Offense count: 1
608
+ # Cop supports --auto-correct.
609
+ Style/UnneededCapitalW:
610
+ Enabled: false
611
+
612
+ # Offense count: 2
613
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
614
+ # SupportedStyles: snake_case, camelCase
615
+ Style/VariableName:
616
+ Enabled: false
617
+
618
+ # Offense count: 1
619
+ # Cop supports --auto-correct.
620
+ # Configuration parameters: MaxLineLength.
621
+ Style/WhileUntilModifier:
622
+ Enabled: false
623
+
624
+ # Offense count: 7
625
+ # Cop supports --auto-correct.
626
+ # Configuration parameters: SupportedStyles, WordRegex.
627
+ # SupportedStyles: percent, brackets
628
+ Style/WordArray:
629
+ EnforcedStyle: percent
630
+ MinSize: 4
631
+
632
+ # Offense count: 1
633
+ # Cop supports --auto-correct.
634
+ Style/ZeroLengthPredicate:
635
+ Enabled: false
data/.travis.yml CHANGED
@@ -23,4 +23,5 @@ install:
23
23
  - test/prepare_travis_env.sh
24
24
 
25
25
  script:
26
+ - bundle exec rubocop
26
27
  - bundle exec rake test
data/Gemfile CHANGED
@@ -21,3 +21,7 @@ end
21
21
  if RUBY_VERSION < "2.2.2"
22
22
  gem 'activesupport', '~> 4.2'
23
23
  end
24
+
25
+ group :lint do
26
+ gem 'rubocop', '0.39.0'
27
+ end
@@ -91,7 +91,7 @@ if $0 == __FILE__
91
91
  puts <<MSG
92
92
  The observer starting…. You can see what's going on there
93
93
  MSG
94
- RemoteExecutorExample.run_observer
94
+ RemoteExecutorExample.run_observer
95
95
  when 'server'
96
96
  puts <<MSG
97
97
  The server is starting…. You can send the work to it by running:
@@ -99,7 +99,7 @@ The server is starting…. You can send the work to it by running:
99
99
  #{$0} client
100
100
 
101
101
  MSG
102
- RemoteExecutorExample.run_server
102
+ RemoteExecutorExample.run_server
103
103
  when 'client'
104
104
  RemoteExecutorExample.run_client
105
105
  else
@@ -44,7 +44,7 @@ class ConcurrencyControlExample < Dynflow::Action
44
44
 
45
45
  ConcurrencyLevel = 2
46
46
  RunWithin = 2 * 60
47
-
47
+
48
48
  def plan(count)
49
49
  limit_concurrency_level(ConcurrencyLevel)
50
50
  distribute_over_time(RunWithin)
@@ -2,7 +2,7 @@ module Dynflow
2
2
  module Action::Rescue
3
3
 
4
4
  Strategy = Algebrick.type do
5
- variants Skip = atom, Pause = atom
5
+ variants Skip = atom, Pause = atom, Fail = atom
6
6
  end
7
7
 
8
8
  SuggestedStrategy = Algebrick.type do
@@ -21,7 +21,8 @@ module Dynflow
21
21
  def rescue_strategy
22
22
  suggested_strategies = []
23
23
 
24
- if self.steps.compact.any? { |step| step.state == :error }
24
+ if self.steps.compact.any? { |step| step.state == :error } ||
25
+ self.steps.compact.all? { |step| [:pending, :success].include? step.state }
25
26
  suggested_strategies << SuggestedStrategy[self, rescue_strategy_for_self]
26
27
  end
27
28
 
@@ -44,14 +45,20 @@ module Dynflow
44
45
  action.rescue_strategy
45
46
  end
46
47
 
47
- # Override when different appraoch should be taken for combining
48
+ # Override when different approach should be taken for combining
48
49
  # the suggested strategies
49
50
  def combine_suggested_strategies(suggested_strategies)
50
- if suggested_strategies.empty? ||
51
- suggested_strategies.all? { |suggested_strategy| suggested_strategy.strategy == Skip }
51
+ if suggested_strategies.empty?
52
52
  return Skip
53
53
  else
54
- return Pause
54
+ # TODO: Find the safest rescue strategy among the suggested ones
55
+ if suggested_strategies.all? { |suggested_strategy| suggested_strategy.strategy == Skip }
56
+ return Skip
57
+ elsif suggested_strategies.all? { |suggested_strategy| suggested_strategy.strategy == Fail }
58
+ return Fail
59
+ else
60
+ return Pause # We don't know how to handle this case, so we'll just pause
61
+ end
55
62
  end
56
63
  end
57
64
  end
@@ -48,11 +48,11 @@ module Dynflow
48
48
  end
49
49
 
50
50
  def to_hash
51
- recursive_to_hash :execution_plan_uuid => @execution_plan_uuid,
52
- :start_at => time_to_str(@start_at),
53
- :start_before => time_to_str(@start_before),
54
- :serialized_args => @args_serializer.serialized_args,
55
- :args_serializer => @args_serializer.class.name
51
+ recursive_to_hash :execution_plan_uuid => @execution_plan_uuid,
52
+ :start_at => time_to_str(@start_at),
53
+ :start_before => time_to_str(@start_before),
54
+ :serialized_args => @args_serializer.serialized_args,
55
+ :args_serializer => @args_serializer.class.name
56
56
  end
57
57
 
58
58
  # @api private
@@ -29,7 +29,7 @@ module Dynflow
29
29
  planning: [:planned, :stopped],
30
30
  planned: [:running, :stopped],
31
31
  running: [:paused, :stopped],
32
- paused: [:running],
32
+ paused: [:running, :stopped],
33
33
  stopped: [] }
34
34
  end
35
35
 
@@ -124,6 +124,9 @@ module Dynflow
124
124
  case rescue_strategy
125
125
  when Action::Rescue::Pause
126
126
  nil
127
+ when Action::Rescue::Fail
128
+ update_state :stopped
129
+ nil
127
130
  when Action::Rescue::Skip
128
131
  failed_steps.each { |step| self.skip(step) }
129
132
  self.id
@@ -15,7 +15,7 @@ module Dynflow
15
15
  step.execute event
16
16
  end),
17
17
  (on Work::Finalize.(~any, any) do |sequential_manager|
18
- sequential_manager.finalize
18
+ sequential_manager.finalize
19
19
  end)
20
20
  rescue Errors::PersistenceError => e
21
21
  @pool.tell([:handle_persistence_error, e])
@@ -1,3 +1,3 @@
1
1
  module Dynflow
2
- VERSION = '0.8.13'
2
+ VERSION = '0.8.14'
3
3
  end
@@ -17,7 +17,7 @@ module Dynflow
17
17
  value = prettyprint_references(value)
18
18
  if value
19
19
  pretty_value = prettify_value(value)
20
- <<-HTML
20
+ <<-HTML
21
21
  <pre class="prettyprint lang-yaml">#{h(pretty_value)}</pre>
22
22
  HTML
23
23
  else
@@ -68,7 +68,7 @@ module Dynflow
68
68
  def show_action_data(label, value)
69
69
  value_html = prettyprint(value)
70
70
  if !value_html.empty?
71
- <<-HTML
71
+ <<-HTML
72
72
  <p>
73
73
  <b>#{h(label)}</b>
74
74
  #{value_html}
data/test/action_test.rb CHANGED
@@ -460,7 +460,7 @@ module Dynflow
460
460
  triggered_plan.finished.value.state.must_equal :stopped
461
461
  triggered_plan.finished.value.result.must_equal :success
462
462
  end
463
- end
463
+ end
464
464
  end
465
465
  end
466
466
  end
@@ -51,12 +51,12 @@ module Dynflow
51
51
  end
52
52
 
53
53
  it "puts the middleware to the beginning of the stack" do
54
- world_with_middleware.trigger(Support::MiddlewareExample::Action, {}).finished.wait
55
- log.must_equal %w[AnotherLogRunMiddleware::before_run
56
- LogRunMiddleware::before_run
57
- run
58
- LogRunMiddleware::after_run
59
- AnotherLogRunMiddleware::after_run]
54
+ world_with_middleware.trigger(Support::MiddlewareExample::Action, {}).finished.wait
55
+ log.must_equal %w[AnotherLogRunMiddleware::before_run
56
+ LogRunMiddleware::before_run
57
+ run
58
+ LogRunMiddleware::after_run
59
+ AnotherLogRunMiddleware::after_run]
60
60
  end
61
61
  end
62
62
 
data/test/rescue_test.rb CHANGED
@@ -32,7 +32,7 @@ module Dynflow
32
32
  rescued_plan.state.must_equal :stopped
33
33
  rescued_plan.result.must_equal :warning
34
34
  rescued_plan.entry_action.output[:message].
35
- must_equal "skipped because some error as you wish"
35
+ must_equal "skipped because some error as you wish"
36
36
  end
37
37
 
38
38
  end
@@ -113,6 +113,27 @@ module Dynflow
113
113
 
114
114
  end
115
115
 
116
+ describe 'of complex action with fail' do
117
+
118
+ let :execution_plan do
119
+ execute(Example::ComplexActionWithFail, :error_on_run)
120
+ end
121
+
122
+ it 'suggests failing the plan' do
123
+ execution_plan.rescue_strategy.must_equal Action::Rescue::Fail
124
+ end
125
+
126
+ it 'fails rescuing' do
127
+ proc { rescued_plan }.must_raise Errors::RescueError
128
+ execution_plan.state.must_equal :stopped
129
+ execution_plan.result.must_equal :error
130
+ execution_plan.steps_in_state(:success).count.must_equal 5
131
+ execution_plan.steps_in_state(:pending).count.must_equal 4
132
+ execution_plan.steps_in_state(:error).count.must_equal 1
133
+ end
134
+
135
+ end
136
+
116
137
  describe 'auto rescue' do
117
138
 
118
139
  let(:world) do
@@ -123,43 +144,58 @@ module Dynflow
123
144
 
124
145
  describe 'of plan with skips' do
125
146
 
126
- let :execution_plan do
127
- execute(Example::ComplexActionWithSkip, :error_on_run)
128
- end
147
+ let :execution_plan do
148
+ execute(Example::ComplexActionWithSkip, :error_on_run)
149
+ end
129
150
 
130
- it 'skips the action and continues automatically' do
131
- execution_plan.state.must_equal :stopped
132
- execution_plan.result.must_equal :warning
133
- end
151
+ it 'skips the action and continues automatically' do
152
+ execution_plan.state.must_equal :stopped
153
+ execution_plan.result.must_equal :warning
154
+ end
134
155
 
135
156
  end
136
157
 
137
158
  describe 'of plan faild on auto-rescue' do
138
159
 
139
- let :execution_plan do
140
- execute(Example::ActionWithSkip, 1, :error_on_skip)
141
- end
160
+ let :execution_plan do
161
+ execute(Example::ActionWithSkip, 1, :error_on_skip)
162
+ end
142
163
 
143
- it 'tryied to rescue only once' do
144
- execution_plan.state.must_equal :paused
145
- execution_plan.result.must_equal :error
146
- end
164
+ it 'tried to rescue only once' do
165
+ execution_plan.state.must_equal :paused
166
+ execution_plan.result.must_equal :error
167
+ end
147
168
 
148
169
  end
149
170
 
150
171
  describe 'of plan without skips' do
151
172
 
152
173
  let :execution_plan do
153
- execute(Example::ComplexActionWithoutSkip, :error_on_run)
154
- end
174
+ execute(Example::ComplexActionWithoutSkip, :error_on_run)
175
+ end
155
176
 
156
- it 'skips the action and continues automatically' do
157
- execution_plan.state.must_equal :paused
158
- execution_plan.result.must_equal :error
159
- end
177
+ it 'skips the action and continues automatically' do
178
+ execution_plan.state.must_equal :paused
179
+ execution_plan.result.must_equal :error
180
+ end
160
181
 
161
182
  end
162
183
 
184
+ describe 'of plan with fail' do
185
+
186
+ let :execution_plan do
187
+ execute(Example::ComplexActionWithFail, :error_on_run)
188
+ end
189
+
190
+ it 'fails the execution plan automatically' do
191
+ execution_plan.state.must_equal :stopped
192
+ execution_plan.result.must_equal :error
193
+ execution_plan.steps_in_state(:success).count.must_equal 5
194
+ execution_plan.steps_in_state(:pending).count.must_equal 4
195
+ execution_plan.steps_in_state(:error).count.must_equal 1
196
+ end
197
+ end
198
+
163
199
  end
164
200
  end
165
201
  end
@@ -40,7 +40,7 @@ module Dynflow
40
40
  waiting = semaphore.get_waiting
41
41
  waiting.must_equal 3
42
42
  end
43
-
43
+
44
44
  end
45
45
 
46
46
  describe ::Dynflow::Semaphores::Dummy do
@@ -93,6 +93,6 @@ module Dynflow
93
93
  assert_semaphore_state semaphore, 0, 0
94
94
  end
95
95
  end
96
-
96
+
97
97
  end
98
98
  end
@@ -14,6 +14,11 @@ module Support
14
14
  plan_action(ActionWithSkip, 5, :success)
15
15
  end
16
16
  end
17
+
18
+ def rescue_strategy_for_self
19
+ Dynflow::Action::Rescue::Skip
20
+ end
21
+
17
22
  end
18
23
 
19
24
  class ComplexActionWithoutSkip < ComplexActionWithSkip
@@ -69,5 +74,29 @@ module Support
69
74
  end
70
75
 
71
76
  end
77
+
78
+ class ActionWithFail < AbstractAction
79
+
80
+ def rescue_strategy_for_self
81
+ Dynflow::Action::Rescue::Fail
82
+ end
83
+
84
+ end
85
+
86
+ class ComplexActionWithFail < ActionWithFail
87
+
88
+ def plan(error_state)
89
+ sequence do
90
+ concurrence do
91
+ plan_action(ActionWithFail, 3, :success)
92
+ plan_action(ActionWithFail, 4, error_state)
93
+ end
94
+ plan_action(ActionWithFail, 5, :success)
95
+ end
96
+ end
97
+
98
+ end
99
+
100
+
72
101
  end
73
102
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.13
4
+ version: 0.8.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Necas
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-07-25 00:00:00.000000000 Z
12
+ date: 2016-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
@@ -201,6 +201,8 @@ extensions: []
201
201
  extra_rdoc_files: []
202
202
  files:
203
203
  - ".gitignore"
204
+ - ".rubocop.yml"
205
+ - ".rubocop_todo.yml"
204
206
  - ".travis.yml"
205
207
  - Gemfile
206
208
  - MIT-LICENSE