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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e481aa5153de44b0da4d54cbfe4782ba8347dbb49032a7c1045c9e7e6cb1042a
4
- data.tar.gz: b2d3a3aa554e024c0b21df9da96a9602ee95ab180413067f1b3051085777d5b4
3
+ metadata.gz: 36d9e093365ba01dad631acf3435eaab26230d348edc12ac2691d984ec5fe1f3
4
+ data.tar.gz: 50aa04fe0e5214fc8021ea8436a4153df8dd69361bd9f9468a18b38e7309f85f
5
5
  SHA512:
6
- metadata.gz: fb497050bd9724d6c7983ed6add78c1db935037420f298146cdf782846d3327dbd7f056b7356333a10873ba0a7fb1e5bfecff43e4108576696ef4724ab1d6284
7
- data.tar.gz: 9228ce6fae917cf7fba140893d1909616c29d9741312e7319dd21e4d0aca575a5201b272eddd865aad6df2ba6624abb6dde64accef4c8fc31e14e002e9b0b7fe
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
@@ -7,6 +7,5 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
- /.rubocop-https---raw-githubusercontent-com-trailblazer-meta-master-rubocop-yml
11
10
  /.rakeTasks
12
11
  /.tool-versions
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 = %{#{@step_id.inspect} is not a valid step ID. Did you mean any of these ?\n#{valid_ids.join("\n")}}
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
- target_seq_row = range.find { |seq_row| seq_row[0] == target_color }
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
- seq = Insert.Prepend(old_seq, new_seq, end_id)
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
- seq = Sequence.insert_row(sequence, row: new_row, insert: sequence_insert)
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
- magnetic_to, task, connections, data = seq_row
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}", end_id:"path_end_#{rand}", connect_to:nil, **options, &block)
47
- # DISCUSS: here, we use the global normalizer and don't allow injection.
48
- state = Activity::Path::DSL::State.new(Activity::Path::DSL.OptionsForState(track_name: track_color, end_id: end_id, **options)) # TODO: test injecting {:normalizers}.
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
- # seq = block.call(state) # state changes.
51
- state.instance_exec(&block)
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
- output, _ = seq[-1][2][0].(seq, seq[-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
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, "End.success"]
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( task ) }
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
- signal, (options, _) = normalizer.(*args)
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: VariableMapping.default_input, output: VariableMapping.default_output)
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::KW( VariableMapping::filter_for(input) )
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
- VariableMapping::Output::Unscoped.new(
15
- Trailblazer::Option::KW( VariableMapping::filter_for(output) )
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
- @filter.(new_ctx, **circuit_options)
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
@@ -3,7 +3,7 @@ module Trailblazer
3
3
  module Activity
4
4
  module DSL
5
5
  module Linear
6
- VERSION = "0.3.2"
6
+ VERSION = "0.4.1"
7
7
  end
8
8
  end
9
9
  end
@@ -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
- sequence = Linear::Sequence[start_event]
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
- seq = Linear::Strategy.task_for!(self, :step, *args) # mutate @state
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.11.2", "< 1.0.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.3"
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.3.2
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: 2020-08-20 00:00:00.000000000 Z
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.11.2
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.11.2
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.3
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.3
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
@@ -1,6 +0,0 @@
1
- inherit_from:
2
- - https://raw.githubusercontent.com/trailblazer/meta/master/rubocop.yml
3
- - .rubocop_todo.yml
4
-
5
- Naming/MethodName:
6
- Enabled: false
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'
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- language: ruby
2
- rvm:
3
- #- ruby-head
4
- - 2.6.2
5
- - 2.5.1
6
- - 2.4.4
7
-
8
- cache: bundler