trailblazer-activity-dsl-linear 0.3.5 → 0.4.3
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/CHANGES.md +17 -0
- data/Gemfile +2 -1
- data/lib/trailblazer/activity/dsl/linear/compiler.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 +3 -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/dsl/linear.rb +4 -4
- 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 +13 -13
- 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: 9953750b2e208755037a9f48a7847edc3a3ccdf54bd4ab121be8e8666b85e41f
|
4
|
+
data.tar.gz: 1d36eeb6036cf7a7a8fc234c78ccf90507de7f3f380a6a3fd92f432e1efe246f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d50d156f2daed3fccf7c78d978896e4a94d5cf6ef854f9e77ace7186700703c45c1aed21a551b27f0343d4d0ed33694958be936fc6a5651505cf6b368052dd83
|
7
|
+
data.tar.gz: 2b53f6d85d4e0e65407cb90c82ce34be3c55e3ba6b1dfdb25ae64a04be5d19617410c91da532f09cb2ed6058eb7e28e18e11bc3e68d5f83b197ef0792d3e2b15
|
@@ -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/CHANGES.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
# 0.4.3
|
2
|
+
|
3
|
+
* Limit `trailblazer-activity` dependency to `< 0.13.0`.
|
4
|
+
|
5
|
+
# 0.4.2
|
6
|
+
|
7
|
+
* Don't allow duplicate activities in Sequence (#47) :ghost:
|
8
|
+
* {:inherit} will only inherit the wirings supported in child activity (#48)
|
9
|
+
|
10
|
+
# 0.4.1
|
11
|
+
|
12
|
+
* Updrading `trailblazer-activity` to use shiny `trailblazer-option`.
|
13
|
+
|
14
|
+
# 0.4.0
|
15
|
+
|
16
|
+
* Support for Ruby 3.0.
|
17
|
+
|
1
18
|
# 0.3.5
|
2
19
|
|
3
20
|
* Retain custom wirings within subprocess while patching.
|
data/Gemfile
CHANGED
@@ -5,7 +5,8 @@ gemspec
|
|
5
5
|
|
6
6
|
gem "minitest-line"
|
7
7
|
|
8
|
-
|
8
|
+
gem "rubocop", require: false
|
9
|
+
|
9
10
|
# gem "trailblazer-developer", path: "../trailblazer-developer"
|
10
11
|
# gem "trailblazer-activity", path: "../trailblazer-activity"
|
11
12
|
# gem "trailblazer-activity", path: "../circuit"
|
@@ -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.
|
@@ -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
|
|
@@ -98,10 +98,10 @@ module Trailblazer
|
|
98
98
|
end
|
99
99
|
|
100
100
|
# Injects {:exec_context} so that {:instance_method}s work.
|
101
|
-
def call(args, circuit_options
|
101
|
+
def call(args, **circuit_options)
|
102
102
|
@activity.(
|
103
103
|
args,
|
104
|
-
circuit_options.merge(exec_context: new)
|
104
|
+
**circuit_options.merge(exec_context: new)
|
105
105
|
)
|
106
106
|
end
|
107
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
|
@@ -99,7 +99,7 @@ class Trailblazer::Activity
|
|
99
99
|
|
100
100
|
# @private
|
101
101
|
def find_in_range(range, target_color)
|
102
|
-
|
102
|
+
_target_seq_row = range.find { |seq_row| seq_row[0] == target_color }
|
103
103
|
end
|
104
104
|
end # Search
|
105
105
|
|
@@ -152,7 +152,7 @@ class Trailblazer::Activity
|
|
152
152
|
def Merge(old_seq, new_seq, end_id: "End.success") # DISCUSS: also Insert
|
153
153
|
new_seq = strip_start_and_ends(new_seq, end_id: end_id)
|
154
154
|
|
155
|
-
|
155
|
+
_seq = Insert.Prepend(old_seq, new_seq, end_id)
|
156
156
|
end
|
157
157
|
def strip_start_and_ends(seq, end_id:) # TODO: introduce Merge namespace?
|
158
158
|
cut_off_index = end_id.nil? ? seq.size : Insert.find_index(seq, end_id) # find the "first" end.
|
@@ -170,14 +170,14 @@ class Trailblazer::Activity
|
|
170
170
|
new_row = Sequence.create_row(**options)
|
171
171
|
|
172
172
|
# {sequence_insert} is usually a function such as {Linear::Insert::Append} and its arguments.
|
173
|
-
|
173
|
+
_seq = Sequence.insert_row(sequence, row: new_row, insert: sequence_insert)
|
174
174
|
end
|
175
175
|
|
176
176
|
# Add one or several rows to the {sequence}.
|
177
177
|
# This is usually called from DSL methods such as {step}.
|
178
178
|
def apply_adds_from_dsl(sequence, sequence_insert:, adds:, **options)
|
179
179
|
# This is the ADDS for the actual task.
|
180
|
-
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
|
181
181
|
|
182
182
|
Sequence.apply_adds(sequence, [task_add] + adds)
|
183
183
|
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
|
|
@@ -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", "< 0.13.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.3
|
4
|
+
version: 0.4.3
|
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: 2021-
|
11
|
+
date: 2021-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-activity
|
@@ -16,20 +16,20 @@ 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
|
-
version:
|
22
|
+
version: 0.13.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
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
|
-
version:
|
32
|
+
version: 0.13.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -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,8 +93,8 @@ executables: []
|
|
93
93
|
extensions: []
|
94
94
|
extra_rdoc_files: []
|
95
95
|
files:
|
96
|
+
- ".github/workflows/ci.yml"
|
96
97
|
- ".gitignore"
|
97
|
-
- ".travis.yml"
|
98
98
|
- CHANGES.md
|
99
99
|
- DSL_IDEAS
|
100
100
|
- Gemfile
|
@@ -118,7 +118,7 @@ homepage: http://trailblazer.to
|
|
118
118
|
licenses:
|
119
119
|
- LGPL-3.0
|
120
120
|
metadata: {}
|
121
|
-
post_install_message:
|
121
|
+
post_install_message:
|
122
122
|
rdoc_options: []
|
123
123
|
require_paths:
|
124
124
|
- lib
|
@@ -133,8 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
rubygems_version: 3.
|
137
|
-
signing_key:
|
136
|
+
rubygems_version: 3.2.3
|
137
|
+
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: Simple DSL to define Trailblazer activities.
|
140
140
|
test_files: []
|