trailblazer-activity-dsl-linear 0.3.2 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +17 -0
- data/.gitignore +0 -1
- data/CHANGES.md +22 -0
- data/Gemfile +0 -1
- data/Rakefile +0 -3
- data/lib/trailblazer/activity/dsl/linear.rb +8 -5
- data/lib/trailblazer/activity/dsl/linear/compiler.rb +1 -1
- data/lib/trailblazer/activity/dsl/linear/helper.rb +29 -26
- data/lib/trailblazer/activity/dsl/linear/normalizer.rb +3 -3
- data/lib/trailblazer/activity/dsl/linear/state.rb +2 -2
- data/lib/trailblazer/activity/dsl/linear/strategy.rb +8 -4
- data/lib/trailblazer/activity/dsl/linear/variable_mapping.rb +33 -8
- data/lib/trailblazer/activity/dsl/linear/version.rb +1 -1
- data/lib/trailblazer/activity/fast_track.rb +13 -5
- data/lib/trailblazer/activity/path.rb +5 -5
- data/lib/trailblazer/activity/railway.rb +3 -3
- data/trailblazer-activity-dsl-linear.gemspec +2 -2
- metadata +10 -12
- data/.rubocop.yml +0 -6
- data/.rubocop_todo.yml +0 -609
- data/.travis.yml +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36d9e093365ba01dad631acf3435eaab26230d348edc12ac2691d984ec5fe1f3
|
4
|
+
data.tar.gz: 50aa04fe0e5214fc8021ea8436a4153df8dd69361bd9f9468a18b38e7309f85f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45f9ec2af2d4af584608d22f3a613495c199d6f665a1e312302f4e0c615871a96b67b8f80b92df597615dd1d7bb0faf142d43084d83e278e8ce1b85a184b0472
|
7
|
+
data.tar.gz: 55f68875e60eb8669a711e0d175e4a690ebe6b8e9be13df8c34426788652ebf34e8f48b84aa9f6b0161d4aca25eefb4272179233e7c5dcb80807befd34ecc106
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name: CI
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
|
9
|
+
ruby: [2.5, 2.6, 2.7, '3.0', head, jruby, jruby-head]
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
- uses: ruby/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: ${{ matrix.ruby }}
|
16
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
17
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
data/CHANGES.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
# 0.4.1
|
2
|
+
|
3
|
+
* Updrading `trailblazer-activity` to use shiny `trailblazer-option`.
|
4
|
+
|
5
|
+
# 0.4.0
|
6
|
+
|
7
|
+
* Support for Ruby 3.0.
|
8
|
+
|
9
|
+
# 0.3.5
|
10
|
+
|
11
|
+
* Retain custom wirings within subprocess while patching.
|
12
|
+
|
13
|
+
# 0.3.4
|
14
|
+
|
15
|
+
* Allow DSL helpers such as `End()` in `Path()`.
|
16
|
+
* Introduce `Path(..., before: )` option to insert all path member steps before a certain element.
|
17
|
+
* Allow `Path(..., connect_to: Track(..))`.
|
18
|
+
|
19
|
+
# 0.3.3
|
20
|
+
|
21
|
+
* Fix for registering `PassFast` & `FailFast` ends in `FastTrack` to fix circuit interface callables which emits those signals.
|
22
|
+
|
1
23
|
# 0.3.2
|
2
24
|
|
3
25
|
* Updrading `trailblazer-activity` version to utilise new `trailblazer-context` :drum:
|
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"
|
11
10
|
# gem "trailblazer-developer", path: "../trailblazer-developer"
|
12
11
|
# gem "trailblazer-activity", path: "../trailblazer-activity"
|
13
12
|
# gem "trailblazer-activity", path: "../circuit"
|
data/Rakefile
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
require "rake/testtask"
|
3
|
-
require "rubocop/rake_task"
|
4
3
|
|
5
4
|
Rake::TestTask.new(:test) do |t|
|
6
5
|
t.libs << "test"
|
@@ -8,6 +7,4 @@ Rake::TestTask.new(:test) do |t|
|
|
8
7
|
t.test_files = FileList["test/**/*_test.rb"]
|
9
8
|
end
|
10
9
|
|
11
|
-
RuboCop::RakeTask.new
|
12
|
-
|
13
10
|
task :default => :test
|
@@ -44,7 +44,10 @@ class Trailblazer::Activity
|
|
44
44
|
@step_id = step_id
|
45
45
|
valid_ids = sequence.collect{ |row| row[3][:id].inspect }
|
46
46
|
|
47
|
-
message =
|
47
|
+
message = "\n" \
|
48
|
+
"\e[31m#{@step_id.inspect} is not a valid step ID. Did you mean any of these ?\e[0m\n" \
|
49
|
+
"\e[32m#{valid_ids.join("\n")}\e[0m"
|
50
|
+
|
48
51
|
super(message)
|
49
52
|
end
|
50
53
|
end
|
@@ -96,7 +99,7 @@ class Trailblazer::Activity
|
|
96
99
|
|
97
100
|
# @private
|
98
101
|
def find_in_range(range, target_color)
|
99
|
-
|
102
|
+
_target_seq_row = range.find { |seq_row| seq_row[0] == target_color }
|
100
103
|
end
|
101
104
|
end # Search
|
102
105
|
|
@@ -149,7 +152,7 @@ class Trailblazer::Activity
|
|
149
152
|
def Merge(old_seq, new_seq, end_id: "End.success") # DISCUSS: also Insert
|
150
153
|
new_seq = strip_start_and_ends(new_seq, end_id: end_id)
|
151
154
|
|
152
|
-
|
155
|
+
_seq = Insert.Prepend(old_seq, new_seq, end_id)
|
153
156
|
end
|
154
157
|
def strip_start_and_ends(seq, end_id:) # TODO: introduce Merge namespace?
|
155
158
|
cut_off_index = end_id.nil? ? seq.size : Insert.find_index(seq, end_id) # find the "first" end.
|
@@ -167,14 +170,14 @@ class Trailblazer::Activity
|
|
167
170
|
new_row = Sequence.create_row(**options)
|
168
171
|
|
169
172
|
# {sequence_insert} is usually a function such as {Linear::Insert::Append} and its arguments.
|
170
|
-
|
173
|
+
_seq = Sequence.insert_row(sequence, row: new_row, insert: sequence_insert)
|
171
174
|
end
|
172
175
|
|
173
176
|
# Add one or several rows to the {sequence}.
|
174
177
|
# This is usually called from DSL methods such as {step}.
|
175
178
|
def apply_adds_from_dsl(sequence, sequence_insert:, adds:, **options)
|
176
179
|
# This is the ADDS for the actual task.
|
177
|
-
task_add = {row: Sequence.create_row(options), insert: sequence_insert} # Linear::Insert.method(:Prepend), end_id
|
180
|
+
task_add = {row: Sequence.create_row(**options), insert: sequence_insert} # Linear::Insert.method(:Prepend), end_id
|
178
181
|
|
179
182
|
Sequence.apply_adds(sequence, [task_add] + adds)
|
180
183
|
end
|
@@ -19,7 +19,7 @@ module Trailblazer
|
|
19
19
|
def call(sequence, find_stops: method(:find_stop_task_ids), find_start: method(:find_start_task_ids))
|
20
20
|
_implementations, intermediate_wiring =
|
21
21
|
sequence.inject([[], []]) do |(implementations, intermediates), seq_row|
|
22
|
-
|
22
|
+
_magnetic_to, task, connections, data = seq_row
|
23
23
|
id = data[:id]
|
24
24
|
|
25
25
|
# execute all {Search}s for one sequence row.
|
@@ -43,33 +43,16 @@ module Trailblazer
|
|
43
43
|
Id.new(id).freeze
|
44
44
|
end
|
45
45
|
|
46
|
-
def Path(track_color: "track_#{rand}",
|
47
|
-
|
48
|
-
|
46
|
+
def Path(track_color: "track_#{rand}", connect_to: nil, before: false, **options, &block)
|
47
|
+
path = Activity::Path(track_name: track_color, **options)
|
48
|
+
activity = Class.new(path) { self.instance_exec(&block) }
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
seq = state.to_h[:sequence]
|
54
|
-
|
55
|
-
_end_id =
|
56
|
-
if connect_to
|
57
|
-
end_id
|
58
|
-
else
|
59
|
-
nil
|
60
|
-
end
|
61
|
-
|
62
|
-
seq = strip_start_and_ends(seq, end_id: _end_id) # don't cut off end unless {:connect_to} is set.
|
50
|
+
seq = activity.instance_variable_get(:@state).to_h[:sequence] # TODO: fix @state interface
|
51
|
+
# Strip default ends `Start.default` and `End.success` (if present).
|
52
|
+
seq = seq[1..-1].reject{ |row| row[3][:stop_event] && row[3][:id] == 'End.success' }
|
63
53
|
|
64
54
|
if connect_to
|
65
|
-
|
66
|
-
|
67
|
-
searches = [Search.ById(output, connect_to.value)]
|
68
|
-
|
69
|
-
row = seq[-1]
|
70
|
-
row = row[0..1] + [searches] + [row[3]] # FIXME: not mutating an array is so hard: we only want to replace the "searches" element, index 2
|
71
|
-
|
72
|
-
seq = seq[0..-2] + [row]
|
55
|
+
seq = connect_for_sequence(seq, connect_to: connect_to)
|
73
56
|
end
|
74
57
|
|
75
58
|
# Add the path elements before {End.success}.
|
@@ -80,9 +63,12 @@ module Trailblazer
|
|
80
63
|
# the terminus of the path goes _after_ {End.success} into the "end group".
|
81
64
|
insert_method = options[:stop_event] ? Insert.method(:Append) : Insert.method(:Prepend)
|
82
65
|
|
66
|
+
insert_target = "End.success" # insert before/after
|
67
|
+
insert_target = before if before && connect_to.instance_of?(Trailblazer::Activity::DSL::Linear::Helper::Track) # FIXME: this is a bit hacky, of course!
|
68
|
+
|
83
69
|
{
|
84
70
|
row: row,
|
85
|
-
insert: [insert_method,
|
71
|
+
insert: [insert_method, insert_target]
|
86
72
|
}
|
87
73
|
end
|
88
74
|
|
@@ -90,6 +76,23 @@ module Trailblazer
|
|
90
76
|
return Track.new(track_color, adds, {})
|
91
77
|
end
|
92
78
|
|
79
|
+
# Connect last row of the {sequence} to the given step via its {Id}
|
80
|
+
# Useful when steps needs to be inserted in between {Start} and {connect Id()}.
|
81
|
+
private def connect_for_sequence(sequence, connect_to:)
|
82
|
+
output, _ = sequence[-1][2][0].(sequence, sequence[-1]) # FIXME: the Forward() proc contains the row's Output, and the only current way to retrieve it is calling the search strategy. It should be Forward#to_h
|
83
|
+
|
84
|
+
# searches = [Search.ById(output, connect_to.value)]
|
85
|
+
searches = [Search.ById(output, connect_to.value)] if connect_to.instance_of?(Trailblazer::Activity::DSL::Linear::Helper::Id)
|
86
|
+
searches = [Search.Forward(output, connect_to.color)] if connect_to.instance_of?(Trailblazer::Activity::DSL::Linear::Helper::Track) # FIXME: use existing mapping logic!
|
87
|
+
|
88
|
+
row = sequence[-1]
|
89
|
+
row = row[0..1] + [searches] + [row[3]] # FIXME: not mutating an array is so hard: we only want to replace the "searches" element, index 2
|
90
|
+
|
91
|
+
sequence = sequence[0..-2] + [row]
|
92
|
+
|
93
|
+
sequence
|
94
|
+
end
|
95
|
+
|
93
96
|
# Computes the {:outputs} options for {activity}.
|
94
97
|
def Subprocess(activity, patch: {})
|
95
98
|
activity = Patch.customize(activity, options: patch)
|
@@ -124,7 +127,7 @@ module Trailblazer
|
|
124
127
|
patched_segment_activity = call(segment_activity, path, customization)
|
125
128
|
|
126
129
|
# Replace the patched subprocess.
|
127
|
-
-> { step Subprocess(patched_segment_activity), replace: task_id, id: task_id }
|
130
|
+
-> { step Subprocess(patched_segment_activity), inherit: true, replace: task_id, id: task_id }
|
128
131
|
else
|
129
132
|
customization # apply the *actual* patch from the Subprocess() call.
|
130
133
|
end
|
@@ -62,7 +62,7 @@ module Trailblazer
|
|
62
62
|
|
63
63
|
if task.is_a?(Symbol)
|
64
64
|
# step task: :find, id: :load
|
65
|
-
{ **ctx[:options], id: (id || task), task: Trailblazer::Option(
|
65
|
+
{ **ctx[:options], id: (id || task), task: Trailblazer::Option(task) }
|
66
66
|
else
|
67
67
|
# step task: Callable, ... (Subprocess, Proc, macros etc)
|
68
68
|
ctx[:options] # NOOP
|
@@ -196,7 +196,7 @@ module Trailblazer
|
|
196
196
|
def add_end(end_event, magnetic_to:, id:)
|
197
197
|
|
198
198
|
options = Path::DSL.append_end_options(task: end_event, magnetic_to: magnetic_to, id: id)
|
199
|
-
row = Linear::Sequence.create_row(options)
|
199
|
+
row = Linear::Sequence.create_row(**options)
|
200
200
|
|
201
201
|
{
|
202
202
|
row: row,
|
@@ -224,7 +224,7 @@ module Trailblazer
|
|
224
224
|
end
|
225
225
|
|
226
226
|
def input_output_dsl((ctx, flow_options), *)
|
227
|
-
config = ctx.select { |k,v| [:input, :output].include?(k) } # TODO: optimize this, we don't have to go through the entire hash.
|
227
|
+
config = ctx.select { |k,v| [:input, :output, :output_with_outer_ctx].include?(k) } # TODO: optimize this, we don't have to go through the entire hash.
|
228
228
|
|
229
229
|
return Trailblazer::Activity::Right, [ctx, flow_options] if config.size == 0 # no :input/:output passed.
|
230
230
|
|
@@ -30,7 +30,7 @@ module Trailblazer
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def update_sequence(&block)
|
33
|
-
@sequence = yield(to_h)
|
33
|
+
@sequence = yield(**to_h)
|
34
34
|
end
|
35
35
|
|
36
36
|
def update_options(fields)
|
@@ -58,7 +58,7 @@ module Trailblazer
|
|
58
58
|
# by the DSL user. This is usually when you call Operation::step.
|
59
59
|
def call(name, *args)
|
60
60
|
normalizer = @normalizers.fetch(name)
|
61
|
-
|
61
|
+
_signal, (options, _) = normalizer.(*args)
|
62
62
|
options
|
63
63
|
end
|
64
64
|
end
|
@@ -31,7 +31,7 @@ module Trailblazer
|
|
31
31
|
# Compute the sequence rows.
|
32
32
|
options = normalizers.(type, normalizer_options: normalizer_options, options: task, user_options: options.merge(sequence: sequence))
|
33
33
|
|
34
|
-
sequence = Activity::DSL::Linear::DSL.apply_adds_from_dsl(sequence, options)
|
34
|
+
sequence = Activity::DSL::Linear::DSL.apply_adds_from_dsl(sequence, **options)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -46,6 +46,10 @@ module Trailblazer
|
|
46
46
|
seq = @state.send(type, *args)
|
47
47
|
|
48
48
|
recompile_activity!(seq)
|
49
|
+
rescue Sequence::IndexError
|
50
|
+
# re-raise this exception with activity class prepended
|
51
|
+
# to the message this time.
|
52
|
+
raise $!, "#{self}:#{$!.message}"
|
49
53
|
end
|
50
54
|
|
51
55
|
private def recompile_activity!(seq)
|
@@ -74,7 +78,7 @@ module Trailblazer
|
|
74
78
|
return args[0], options.merge(evaluated_options)
|
75
79
|
end
|
76
80
|
|
77
|
-
def Path(options, &block) # syntactically, we can't access the {do ... end} block here.
|
81
|
+
def Path(**options, &block) # syntactically, we can't access the {do ... end} block here.
|
78
82
|
BlockProxy.new(options, block)
|
79
83
|
end
|
80
84
|
|
@@ -94,10 +98,10 @@ module Trailblazer
|
|
94
98
|
end
|
95
99
|
|
96
100
|
# Injects {:exec_context} so that {:instance_method}s work.
|
97
|
-
def call(args, circuit_options
|
101
|
+
def call(args, **circuit_options)
|
98
102
|
@activity.(
|
99
103
|
args,
|
100
|
-
circuit_options.merge(exec_context: new)
|
104
|
+
**circuit_options.merge(exec_context: new)
|
101
105
|
)
|
102
106
|
end
|
103
107
|
|
@@ -4,15 +4,17 @@ module Trailblazer
|
|
4
4
|
module Linear
|
5
5
|
# Normalizer-steps to implement {:input} and {:output}
|
6
6
|
# Returns an Extension instance to be thrown into the `step` DSL arguments.
|
7
|
-
def self.VariableMapping(input:
|
7
|
+
def self.VariableMapping(input: VariableMapping.default_input, output: VariableMapping.default_output, output_with_outer_ctx: false)
|
8
8
|
input =
|
9
9
|
VariableMapping::Input::Scoped.new(
|
10
|
-
Trailblazer::Option
|
10
|
+
Trailblazer::Option(VariableMapping::filter_for(input))
|
11
11
|
)
|
12
12
|
|
13
|
+
unscope_class = output_with_outer_ctx ? VariableMapping::Output::Unscoped::WithOuterContext : VariableMapping::Output::Unscoped
|
14
|
+
|
13
15
|
output =
|
14
|
-
|
15
|
-
Trailblazer::Option
|
16
|
+
unscope_class.new(
|
17
|
+
Trailblazer::Option(VariableMapping::filter_for(output))
|
16
18
|
)
|
17
19
|
|
18
20
|
TaskWrap::Extension(
|
@@ -36,6 +38,7 @@ module Trailblazer
|
|
36
38
|
->(ctx, **) { ctx }
|
37
39
|
end
|
38
40
|
|
41
|
+
# Returns a filter proc to be called in an Option.
|
39
42
|
# @private
|
40
43
|
def filter_for(filter)
|
41
44
|
if filter.is_a?(::Array) || filter.is_a?(::Hash)
|
@@ -45,13 +48,24 @@ module Trailblazer
|
|
45
48
|
end
|
46
49
|
end
|
47
50
|
|
51
|
+
# @private
|
52
|
+
def output_option_for(option, pass_outer_ctx) # DISCUSS: not sure I like this.
|
53
|
+
|
54
|
+
return option if pass_outer_ctx
|
55
|
+
# OutputReceivingInnerCtxOnly =
|
56
|
+
|
57
|
+
# don't pass {outer_ctx}, only {inner_ctx}. this is the default.
|
58
|
+
return ->(inner_ctx, outer_ctx, **kws) { option.(inner_ctx, **kws) }
|
59
|
+
end
|
60
|
+
|
61
|
+
|
48
62
|
module DSL
|
49
63
|
# The returned filter compiles a new hash for Scoped/Unscoped that only contains
|
50
64
|
# the desired i/o variables.
|
51
65
|
def self.filter_from_dsl(map)
|
52
66
|
hsh = DSL.hash_for(map)
|
53
67
|
|
54
|
-
->(incoming_ctx, kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
|
68
|
+
->(incoming_ctx, **kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
|
55
69
|
end
|
56
70
|
|
57
71
|
def self.hash_for(ary)
|
@@ -60,7 +74,6 @@ module Trailblazer
|
|
60
74
|
end
|
61
75
|
end
|
62
76
|
|
63
|
-
|
64
77
|
module Input
|
65
78
|
class Scoped
|
66
79
|
def initialize(filter)
|
@@ -69,7 +82,7 @@ module Trailblazer
|
|
69
82
|
|
70
83
|
def call((original_ctx, flow_options), **circuit_options)
|
71
84
|
Trailblazer::Context(
|
72
|
-
@filter.(original_ctx, **circuit_options),
|
85
|
+
@filter.(original_ctx, keyword_arguments: original_ctx.to_hash, **circuit_options),
|
73
86
|
{},
|
74
87
|
flow_options[:context_options]
|
75
88
|
)
|
@@ -87,9 +100,21 @@ module Trailblazer
|
|
87
100
|
|
88
101
|
def call(new_ctx, (original_ctx, flow_options), **circuit_options)
|
89
102
|
original_ctx.merge(
|
90
|
-
|
103
|
+
call_filter(new_ctx, [original_ctx, flow_options], **circuit_options)
|
91
104
|
)
|
92
105
|
end
|
106
|
+
|
107
|
+
def call_filter(new_ctx, (original_ctx, flow_options), **circuit_options)
|
108
|
+
# Pass {inner_ctx, **inner_ctx}
|
109
|
+
@filter.(new_ctx, keyword_arguments: new_ctx.to_hash, **circuit_options)
|
110
|
+
end
|
111
|
+
|
112
|
+
class WithOuterContext < Unscoped
|
113
|
+
def call_filter(new_ctx, (original_ctx, flow_options), **circuit_options)
|
114
|
+
# Pass {inner_ctx, outer_ctx, **inner_ctx}
|
115
|
+
@filter.(new_ctx, original_ctx, keyword_arguments: new_ctx.to_hash, **circuit_options)
|
116
|
+
end
|
117
|
+
end
|
93
118
|
end
|
94
119
|
end
|
95
120
|
end # VariableMapping
|
@@ -2,7 +2,7 @@ module Trailblazer
|
|
2
2
|
class Activity
|
3
3
|
def self.FastTrack(options)
|
4
4
|
Class.new(FastTrack) do
|
5
|
-
initialize!(Railway::DSL::State.new(FastTrack::DSL.OptionsForState(options)))
|
5
|
+
initialize!(Railway::DSL::State.new(**FastTrack::DSL.OptionsForState(**options)))
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
@@ -63,6 +63,11 @@ module Trailblazer
|
|
63
63
|
def pass_fast_option((ctx, flow_options), *)
|
64
64
|
ctx = merge_connections_for(ctx, ctx, :pass_fast, :success)
|
65
65
|
|
66
|
+
ctx = merge_connections_for(ctx, ctx, :pass_fast, :pass_fast, :pass_fast)
|
67
|
+
ctx = merge_outputs_for(ctx,
|
68
|
+
pass_fast: Activity.Output(Activity::FastTrack::PassFast, :pass_fast),
|
69
|
+
)
|
70
|
+
|
66
71
|
return Right, [ctx, flow_options]
|
67
72
|
end
|
68
73
|
|
@@ -76,6 +81,11 @@ module Trailblazer
|
|
76
81
|
def fail_fast_option((ctx, flow_options), *)
|
77
82
|
ctx = merge_connections_for(ctx, ctx, :fail_fast, :failure)
|
78
83
|
|
84
|
+
ctx = merge_connections_for(ctx, ctx, :fail_fast, :fail_fast, :fail_fast)
|
85
|
+
ctx = merge_outputs_for(ctx,
|
86
|
+
fail_fast: Activity.Output(Activity::FastTrack::FailFast, :fail_fast),
|
87
|
+
)
|
88
|
+
|
79
89
|
return Right, [ctx, flow_options]
|
80
90
|
end
|
81
91
|
|
@@ -120,8 +130,6 @@ module Trailblazer
|
|
120
130
|
sequence = Path::DSL.append_end(sequence, task: pass_fast_end, magnetic_to: :pass_fast, id: "End.pass_fast")
|
121
131
|
end
|
122
132
|
|
123
|
-
|
124
|
-
|
125
133
|
# This is slow and should be done only once at compile-time,
|
126
134
|
# DISCUSS: maybe make this a function?
|
127
135
|
# These are the normalizers for an {Activity}, to be injected into a State.
|
@@ -132,7 +140,7 @@ module Trailblazer
|
|
132
140
|
)
|
133
141
|
|
134
142
|
def self.OptionsForState(normalizers: Normalizers, **options)
|
135
|
-
options = Railway::DSL.OptionsForState(options).
|
143
|
+
options = Railway::DSL.OptionsForState(**options).
|
136
144
|
merge(normalizers: normalizers)
|
137
145
|
|
138
146
|
initial_sequence = FastTrack::DSL.initial_sequence(**options)
|
@@ -157,7 +165,7 @@ module Trailblazer
|
|
157
165
|
include Activity::DSL::Linear::Helper
|
158
166
|
extend Activity::DSL::Linear::Strategy
|
159
167
|
|
160
|
-
initialize!(Railway::DSL::State.new(DSL.OptionsForState()))
|
168
|
+
initialize!(Railway::DSL::State.new(**DSL.OptionsForState()))
|
161
169
|
|
162
170
|
end # FastTrack
|
163
171
|
end
|
@@ -17,7 +17,7 @@ module Trailblazer
|
|
17
17
|
def start_sequence(track_name:)
|
18
18
|
start_default = Activity::Start.new(semantic: :default)
|
19
19
|
start_event = Linear::Sequence.create_row(task: start_default, id: "Start.default", magnetic_to: nil, wirings: [Linear::Search::Forward(unary_outputs[:success], track_name)])
|
20
|
-
|
20
|
+
_sequence = Linear::Sequence[start_event]
|
21
21
|
end
|
22
22
|
|
23
23
|
# DISCUSS: still not sure this should sit here.
|
@@ -121,7 +121,7 @@ module Trailblazer
|
|
121
121
|
end
|
122
122
|
|
123
123
|
def append_end(sequence, **options)
|
124
|
-
sequence = Linear::DSL.insert_task(sequence, **append_end_options(options))
|
124
|
+
sequence = Linear::DSL.insert_task(sequence, **append_end_options(**options))
|
125
125
|
end
|
126
126
|
|
127
127
|
def append_end_options(task:, magnetic_to:, id:, append_to: "End.success")
|
@@ -171,7 +171,7 @@ module Trailblazer
|
|
171
171
|
# Path() do ... end
|
172
172
|
class State < Linear::State
|
173
173
|
def step(*args)
|
174
|
-
|
174
|
+
_seq = Linear::Strategy.task_for!(self, :step, *args) # mutate @state
|
175
175
|
end
|
176
176
|
end
|
177
177
|
|
@@ -180,12 +180,12 @@ module Trailblazer
|
|
180
180
|
include DSL::Linear::Helper
|
181
181
|
extend DSL::Linear::Strategy
|
182
182
|
|
183
|
-
initialize!(Path::DSL::State.new(DSL.OptionsForState()))
|
183
|
+
initialize!(Path::DSL::State.new(**DSL.OptionsForState()))
|
184
184
|
end # Path
|
185
185
|
|
186
186
|
def self.Path(options)
|
187
187
|
Class.new(Path) do
|
188
|
-
initialize!(Path::DSL::State.new(Path::DSL.OptionsForState(options)))
|
188
|
+
initialize!(Path::DSL::State.new(**Path::DSL.OptionsForState(**options)))
|
189
189
|
end
|
190
190
|
end
|
191
191
|
end
|
@@ -135,7 +135,7 @@ module Trailblazer
|
|
135
135
|
)
|
136
136
|
|
137
137
|
def self.OptionsForState(normalizers: Normalizers, failure_end: Activity::End.new(semantic: :failure), **options)
|
138
|
-
options = Path::DSL.OptionsForState(options).
|
138
|
+
options = Path::DSL.OptionsForState(**options).
|
139
139
|
merge(normalizers: normalizers, failure_end: failure_end)
|
140
140
|
|
141
141
|
initial_sequence = Railway::DSL.initial_sequence(failure_end: failure_end, **options)
|
@@ -161,13 +161,13 @@ module Trailblazer
|
|
161
161
|
include DSL::Linear::Helper
|
162
162
|
extend DSL::Linear::Strategy
|
163
163
|
|
164
|
-
initialize!(Railway::DSL::State.new(DSL.OptionsForState()))
|
164
|
+
initialize!(Railway::DSL::State.new(**DSL.OptionsForState()))
|
165
165
|
|
166
166
|
end # Railway
|
167
167
|
|
168
168
|
def self.Railway(options)
|
169
169
|
Class.new(Railway) do
|
170
|
-
initialize!(Railway::DSL::State.new(Railway::DSL.OptionsForState(options)))
|
170
|
+
initialize!(Railway::DSL::State.new(**Railway::DSL.OptionsForState(**options)))
|
171
171
|
end
|
172
172
|
end
|
173
173
|
end
|
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
|
|
19
19
|
end
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency "trailblazer-activity", ">= 0.
|
22
|
+
spec.add_dependency "trailblazer-activity", ">= 0.12.2", "< 1.0.0"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler"
|
25
25
|
spec.add_development_dependency "minitest", "~> 5.0"
|
26
26
|
spec.add_development_dependency "rake"
|
27
|
-
spec.add_development_dependency "trailblazer-developer", ">= 0.0.
|
27
|
+
spec.add_development_dependency "trailblazer-developer", ">= 0.0.21"
|
28
28
|
|
29
29
|
spec.required_ruby_version = '>= 2.1.0'
|
30
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.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-activity
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.12.2
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 1.0.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.12.2
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.0.0
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.0.
|
81
|
+
version: 0.0.21
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.0.
|
88
|
+
version: 0.0.21
|
89
89
|
description: Simple DSL to define Trailblazer activities with arbitrary wirings.
|
90
90
|
email:
|
91
91
|
- apotonick@gmail.com
|
@@ -93,10 +93,8 @@ executables: []
|
|
93
93
|
extensions: []
|
94
94
|
extra_rdoc_files: []
|
95
95
|
files:
|
96
|
+
- ".github/workflows/ci.yml"
|
96
97
|
- ".gitignore"
|
97
|
-
- ".rubocop.yml"
|
98
|
-
- ".rubocop_todo.yml"
|
99
|
-
- ".travis.yml"
|
100
98
|
- CHANGES.md
|
101
99
|
- DSL_IDEAS
|
102
100
|
- Gemfile
|
@@ -120,7 +118,7 @@ homepage: http://trailblazer.to
|
|
120
118
|
licenses:
|
121
119
|
- LGPL-3.0
|
122
120
|
metadata: {}
|
123
|
-
post_install_message:
|
121
|
+
post_install_message:
|
124
122
|
rdoc_options: []
|
125
123
|
require_paths:
|
126
124
|
- lib
|
@@ -136,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
134
|
version: '0'
|
137
135
|
requirements: []
|
138
136
|
rubygems_version: 3.0.8
|
139
|
-
signing_key:
|
137
|
+
signing_key:
|
140
138
|
specification_version: 4
|
141
139
|
summary: Simple DSL to define Trailblazer activities.
|
142
140
|
test_files: []
|
data/.rubocop.yml
DELETED
data/.rubocop_todo.yml
DELETED
@@ -1,609 +0,0 @@
|
|
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'
|