trailblazer-activity-dsl-linear 0.3.4 → 0.4.2
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 +4 -4
- data/.github/workflows/ci.yml +17 -0
- data/.gitignore +0 -1
- data/CHANGES.md +17 -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 +1 -1
- data/lib/trailblazer/activity/dsl/linear/normalizer.rb +13 -5
- data/lib/trailblazer/activity/dsl/linear/state.rb +2 -2
- data/lib/trailblazer/activity/dsl/linear/strategy.rb +7 -3
- 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 +3 -5
- data/lib/trailblazer/activity/path.rb +30 -15
- data/lib/trailblazer/activity/railway.rb +3 -3
- data/trailblazer-activity-dsl-linear.gemspec +2 -2
- metadata +11 -14
- 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: 48015005cd4c2e881df17be4be592445bdf9c528bd4b720bd521a4b96551c646
|
4
|
+
data.tar.gz: 6d9ed497b87bae7ebb106beb99e508eefd0c8f2bc3b5b2a07cf6fdf582f1aac1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b221f07fccc51338300aa8bba4435edf4990e366667d381d060a5b31f1dff3badd6888ff6d5db0597fc378538bda1d6658d7c1e30073397c08f58f459ca87954
|
7
|
+
data.tar.gz: 2ea9893cfbf3ac551e01128c4e14adf524c84235d4129d7e7cb1f9f84bf1a9b665c4f4a920fa36d557fcc837f2adfd6ac12eb72c61c8e300476ac6a3f72cc901
|
@@ -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,20 @@
|
|
1
|
+
# 0.4.2
|
2
|
+
|
3
|
+
* Don't allow duplicate activities in Sequence (#47) :ghost:
|
4
|
+
* {:inherit} will only inherit the wirings supported in child activity (#48)
|
5
|
+
|
6
|
+
# 0.4.1
|
7
|
+
|
8
|
+
* Updrading `trailblazer-activity` to use shiny `trailblazer-option`.
|
9
|
+
|
10
|
+
# 0.4.0
|
11
|
+
|
12
|
+
* Support for Ruby 3.0.
|
13
|
+
|
14
|
+
# 0.3.5
|
15
|
+
|
16
|
+
* Retain custom wirings within subprocess while patching.
|
17
|
+
|
1
18
|
# 0.3.4
|
2
19
|
|
3
20
|
* Allow DSL helpers such as `End()` in `Path()`.
|
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.
|
@@ -127,7 +127,7 @@ module Trailblazer
|
|
127
127
|
patched_segment_activity = call(segment_activity, path, customization)
|
128
128
|
|
129
129
|
# Replace the patched subprocess.
|
130
|
-
-> { 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 }
|
131
131
|
else
|
132
132
|
customization # apply the *actual* patch from the Subprocess() call.
|
133
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
|
|
@@ -246,13 +246,21 @@ module Trailblazer
|
|
246
246
|
index = Linear::Insert.find_index(sequence, id)
|
247
247
|
row = sequence[index] # from this row we're inheriting options.
|
248
248
|
|
249
|
-
|
249
|
+
connections = get_inheritable_connections(ctx, row[3][:connections])
|
250
|
+
extensions = Array(row[3][:extensions]) + Array(ctx[:extensions])
|
250
251
|
|
251
|
-
ctx = ctx.merge(connections:
|
252
|
+
ctx = ctx.merge(connections: connections, extensions: extensions) # "inherit"
|
252
253
|
|
253
254
|
return Trailblazer::Activity::Right, [ctx, flow_options]
|
254
255
|
end
|
255
256
|
|
257
|
+
# return connections from {parent} step which are supported by current step
|
258
|
+
private def get_inheritable_connections(ctx, parent_connections)
|
259
|
+
return parent_connections unless ctx[:outputs]
|
260
|
+
|
261
|
+
parent_connections.slice(*ctx[:outputs].keys)
|
262
|
+
end
|
263
|
+
|
256
264
|
# TODO: make this extendable!
|
257
265
|
def cleanup_options((ctx, flow_options), *)
|
258
266
|
# new_ctx = ctx.reject { |k, v| [:connections, :outputs, :end_id, :step_interface_builder, :failure_end, :track_name, :sequence].include?(k) }
|
@@ -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)
|
@@ -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
|
|
@@ -130,8 +130,6 @@ module Trailblazer
|
|
130
130
|
sequence = Path::DSL.append_end(sequence, task: pass_fast_end, magnetic_to: :pass_fast, id: "End.pass_fast")
|
131
131
|
end
|
132
132
|
|
133
|
-
|
134
|
-
|
135
133
|
# This is slow and should be done only once at compile-time,
|
136
134
|
# DISCUSS: maybe make this a function?
|
137
135
|
# These are the normalizers for an {Activity}, to be injected into a State.
|
@@ -142,7 +140,7 @@ module Trailblazer
|
|
142
140
|
)
|
143
141
|
|
144
142
|
def self.OptionsForState(normalizers: Normalizers, **options)
|
145
|
-
options = Railway::DSL.OptionsForState(options).
|
143
|
+
options = Railway::DSL.OptionsForState(**options).
|
146
144
|
merge(normalizers: normalizers)
|
147
145
|
|
148
146
|
initial_sequence = FastTrack::DSL.initial_sequence(**options)
|
@@ -167,7 +165,7 @@ module Trailblazer
|
|
167
165
|
include Activity::DSL::Linear::Helper
|
168
166
|
extend Activity::DSL::Linear::Strategy
|
169
167
|
|
170
|
-
initialize!(Railway::DSL::State.new(DSL.OptionsForState()))
|
168
|
+
initialize!(Railway::DSL::State.new(**DSL.OptionsForState()))
|
171
169
|
|
172
170
|
end # FastTrack
|
173
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.
|
@@ -81,12 +81,27 @@ module Trailblazer
|
|
81
81
|
}
|
82
82
|
end
|
83
83
|
|
84
|
+
def normalize_duplications((ctx, flow_options), *)
|
85
|
+
return Right, [ctx, flow_options] if ctx[:replace]
|
86
|
+
|
87
|
+
signal, (ctx, flow_options) = raise_on_duplicate_id([ctx, flow_options])
|
88
|
+
signal, (ctx, flow_options) = clone_duplicate_activity([ctx, flow_options])
|
89
|
+
|
90
|
+
return signal, [ctx, flow_options]
|
91
|
+
end
|
92
|
+
|
84
93
|
def raise_on_duplicate_id((ctx, flow_options), *)
|
85
|
-
id, sequence
|
94
|
+
id, sequence = ctx[:id], ctx[:sequence]
|
95
|
+
raise "ID #{id} is already taken. Please specify an `:id`." if sequence.find { |row| row[3][:id] == id }
|
86
96
|
|
87
|
-
|
88
|
-
|
89
|
-
|
97
|
+
return Right, [ctx, flow_options]
|
98
|
+
end
|
99
|
+
|
100
|
+
def clone_duplicate_activity((ctx, flow_options), *)
|
101
|
+
return Right, [ctx, flow_options] unless ctx[:task].is_a?(Class)
|
102
|
+
|
103
|
+
task, sequence = ctx[:task], ctx[:sequence]
|
104
|
+
ctx = ctx.merge(task: task.clone) if sequence.find { |row| row[1] == task }
|
90
105
|
|
91
106
|
return Right, [ctx, flow_options]
|
92
107
|
end
|
@@ -104,12 +119,12 @@ module Trailblazer
|
|
104
119
|
prepend_to_path(
|
105
120
|
sequence,
|
106
121
|
|
107
|
-
"path.outputs"
|
108
|
-
"path.connections"
|
109
|
-
"path.sequence_insert"
|
110
|
-
"path.
|
111
|
-
"path.magnetic_to"
|
112
|
-
"path.wirings"
|
122
|
+
"path.outputs" => method(:merge_path_outputs),
|
123
|
+
"path.connections" => method(:merge_path_connections),
|
124
|
+
"path.sequence_insert" => method(:normalize_sequence_insert),
|
125
|
+
"path.normalize_duplications" => method(:normalize_duplications),
|
126
|
+
"path.magnetic_to" => method(:normalize_magnetic_to),
|
127
|
+
"path.wirings" => Linear::Normalizer.method(:compile_wirings),
|
113
128
|
)
|
114
129
|
end
|
115
130
|
|
@@ -121,7 +136,7 @@ module Trailblazer
|
|
121
136
|
end
|
122
137
|
|
123
138
|
def append_end(sequence, **options)
|
124
|
-
sequence = Linear::DSL.insert_task(sequence, **append_end_options(options))
|
139
|
+
sequence = Linear::DSL.insert_task(sequence, **append_end_options(**options))
|
125
140
|
end
|
126
141
|
|
127
142
|
def append_end_options(task:, magnetic_to:, id:, append_to: "End.success")
|
@@ -171,7 +186,7 @@ module Trailblazer
|
|
171
186
|
# Path() do ... end
|
172
187
|
class State < Linear::State
|
173
188
|
def step(*args)
|
174
|
-
|
189
|
+
_seq = Linear::Strategy.task_for!(self, :step, *args) # mutate @state
|
175
190
|
end
|
176
191
|
end
|
177
192
|
|
@@ -180,12 +195,12 @@ module Trailblazer
|
|
180
195
|
include DSL::Linear::Helper
|
181
196
|
extend DSL::Linear::Strategy
|
182
197
|
|
183
|
-
initialize!(Path::DSL::State.new(DSL.OptionsForState()))
|
198
|
+
initialize!(Path::DSL::State.new(**DSL.OptionsForState()))
|
184
199
|
end # Path
|
185
200
|
|
186
201
|
def self.Path(options)
|
187
202
|
Class.new(Path) do
|
188
|
-
initialize!(Path::DSL::State.new(Path::DSL.OptionsForState(options)))
|
203
|
+
initialize!(Path::DSL::State.new(**Path::DSL.OptionsForState(**options)))
|
189
204
|
end
|
190
205
|
end
|
191
206
|
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.2
|
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-08-23 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
|
@@ -135,9 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
133
|
- !ruby/object:Gem::Version
|
136
134
|
version: '0'
|
137
135
|
requirements: []
|
138
|
-
|
139
|
-
|
140
|
-
signing_key:
|
136
|
+
rubygems_version: 3.0.8
|
137
|
+
signing_key:
|
141
138
|
specification_version: 4
|
142
139
|
summary: Simple DSL to define Trailblazer activities.
|
143
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'
|