trailblazer-operation 0.2.5 → 0.3.0
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/CHANGES.md +11 -0
- data/Gemfile +1 -9
- data/lib/trailblazer/operation.rb +2 -13
- data/lib/trailblazer/operation/{skill.rb → class_dependencies.rb} +1 -1
- data/lib/trailblazer/operation/public_call.rb +21 -5
- data/lib/trailblazer/operation/trace.rb +3 -10
- data/lib/trailblazer/operation/version.rb +1 -1
- data/test/callable_test.rb +1 -1
- data/test/fast_track_test.rb +4 -4
- data/test/task_wrap_test.rb +13 -13
- data/test/trace_test.rb +22 -28
- data/test/variable_mapping_test.rb +11 -14
- data/trailblazer-operation.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9a083756bde5a10353633b2a91b40cb84fe5970a41d626e9ad1602359ed5bc7
|
4
|
+
data.tar.gz: c3a07f086acbb070d540078f5abaf6046b06a63347eb9ac5b602bbfdc0f320a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3af0ad462ec4085e622431ddbd752739b5e44ac3eb8c61547933e3e1cc76a6a3cdb2eb34130f0bf4f248639d7bd46c64d7b08b3c2cef6724705507c9550c3599
|
7
|
+
data.tar.gz: 19b63e1cb5778279b4d4dbc0cbe3deccaf935e60c724a2ccec35e99ea6018b586293edaa874a8f417b1a54a98d9c245d6a210c650fb95f9e9718ae10307aef96
|
data/CHANGES.md
CHANGED
@@ -14,6 +14,17 @@ lots of work on the DSL specific parts.
|
|
14
14
|
|
15
15
|
params:, rest: ..
|
16
16
|
|
17
|
+
## 0.3.0
|
18
|
+
|
19
|
+
* Use `activity` 0.6.0.
|
20
|
+
* Remove `Operation::__call__` in favor of one `call` that dispatches to either
|
21
|
+
* `call_with_public_interface` this implements the complicated public `Operation.()` semantic and will be faded out with the rise of workflow engines.
|
22
|
+
* `call_with_circuit_interface` is the circuit-compatible version that will be invoked on nested operations.
|
23
|
+
|
24
|
+
This might seem a bit "magical" but simplifies the interface a lot. In better languages, you could use method overloading for that, in Ruby, we have to
|
25
|
+
do that ourselves. This decision was made with the deprecation of `Operation.()` in mind. In the future, operations will mostly be invoked from
|
26
|
+
workflow engines and not directly, where the engine takes care of applying the correct interface.
|
27
|
+
|
17
28
|
## 0.2.5
|
18
29
|
|
19
30
|
* Minor fixes for activity 0.5.2.
|
data/Gemfile
CHANGED
@@ -10,14 +10,6 @@ gem "dry-auto_inject"
|
|
10
10
|
gem "minitest-line"
|
11
11
|
gem "benchmark-ips"
|
12
12
|
|
13
|
-
# gem "trailblazer-circuit", git: "https://github.com/trailblazer/trailblazer-circuit"
|
14
|
-
# gem "trailblazer-activity", path: "../trailblazer-activity"
|
15
13
|
# gem "trailblazer-developer", path: "../developer"
|
16
14
|
# gem "trailblazer-developer", git: "https://github.com/trailblazer/trailblazer-developer"
|
17
|
-
|
18
|
-
|
19
|
-
# gem "raise", path: "../raise"
|
20
|
-
|
21
|
-
# gem "declarative", path: "../declarative"
|
22
|
-
|
23
|
-
# gem "trailblazer-activity", path: "../trailblazer-circuit"
|
15
|
+
gem "trailblazer-activity", path: "../trailblazer-activity"
|
@@ -14,7 +14,7 @@ require "trailblazer/operation/callable"
|
|
14
14
|
|
15
15
|
require "trailblazer/operation/heritage"
|
16
16
|
require "trailblazer/operation/public_call" # TODO: Remove in 3.0.
|
17
|
-
require "trailblazer/operation/
|
17
|
+
require "trailblazer/operation/class_dependencies"
|
18
18
|
require "trailblazer/operation/deprecated_macro" # TODO: remove in 2.2.
|
19
19
|
require "trailblazer/operation/result"
|
20
20
|
require "trailblazer/operation/railway"
|
@@ -57,17 +57,6 @@ module Trailblazer
|
|
57
57
|
extend Activity::Interface
|
58
58
|
|
59
59
|
module Process
|
60
|
-
# Call the actual {Process} with the options prepared in PublicCall.
|
61
|
-
#
|
62
|
-
# @private
|
63
|
-
def __call__(args, argumenter: [], **circuit_options)
|
64
|
-
@activity.( args, circuit_options.merge(
|
65
|
-
exec_context: new,
|
66
|
-
argumenter: argumenter + [ Activity::TaskWrap.method(:arguments_for_call) ], # FIXME: should we move this outside?
|
67
|
-
)
|
68
|
-
)
|
69
|
-
end
|
70
|
-
|
71
60
|
def to_h
|
72
61
|
@activity.to_h.merge( activity: @activity )
|
73
62
|
end
|
@@ -80,7 +69,7 @@ module Trailblazer
|
|
80
69
|
class << self
|
81
70
|
extend Forwardable # TODO: test those helpers
|
82
71
|
def_delegators :@activity, :Path, :Output, :End, :Track
|
83
|
-
def_delegators :@activity, :outputs
|
72
|
+
def_delegators :@activity, :outputs
|
84
73
|
|
85
74
|
def step(task, options={}, &block); add_task!(:step, task, options, &block) end
|
86
75
|
def pass(task, options={}, &block); add_task!(:pass, task, options, &block) end
|
@@ -16,7 +16,7 @@ class Trailblazer::Operation
|
|
16
16
|
# The use of this module is not encouraged and it is only here for backward-compatibility.
|
17
17
|
# Instead, please pass dependencies via containers, locals, or macros into the respective steps.
|
18
18
|
module ClassDependencies
|
19
|
-
def
|
19
|
+
def call_with_circuit_interface( (ctx, flow_options), **circuit_options )
|
20
20
|
@skills.each { |name, value| ctx[name] ||= value } # this resembles the behavior in 2.0. we didn't say we liked it.
|
21
21
|
|
22
22
|
super
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
module PublicCall
|
1
|
+
module Trailblazer
|
2
|
+
module Operation::PublicCall
|
3
3
|
# This is the outer-most public `call` method that gets invoked when calling `Create.()`.
|
4
4
|
# The signature of this is `params, options, *containers`. This was a mistake, as the
|
5
5
|
# first argument could've been part of `options` hash in the first place.
|
@@ -14,13 +14,29 @@ class Trailblazer::Operation
|
|
14
14
|
# @note Do not override this method as it will be removed in future versions. Also, you will break tracing.
|
15
15
|
# @return Operation::Railway::Result binary result object
|
16
16
|
def call(*args)
|
17
|
-
|
17
|
+
return call_with_circuit_interface(*args) if args.any? && args[0].is_a?(Array) # This is kind of a hack that could be well hidden if Ruby had method overloading. Goal is to simplify the call/__call__ thing as we're fading out Operation::call anyway.
|
18
|
+
call_with_public_interface(*args)
|
19
|
+
end
|
20
|
+
|
21
|
+
def call_with_public_interface(*args)
|
22
|
+
ctx = Operation::PublicCall.options_for_public_call(*args)
|
18
23
|
|
19
24
|
# call the activity.
|
20
|
-
|
25
|
+
# This will result in invoking {::call_with_circuit_interface}.
|
26
|
+
last_signal, (options, flow_options) = Activity::TaskWrap.invoke(self, [ctx, {}], {})
|
21
27
|
|
22
28
|
# Result is successful if the activity ended with an End event derived from Railway::End::Success.
|
23
|
-
Railway::Result(last_signal, options, flow_options)
|
29
|
+
Operation::Railway::Result(last_signal, options, flow_options)
|
30
|
+
end
|
31
|
+
|
32
|
+
# This interface is used for all nested OPs (and the outer-most, too).
|
33
|
+
def call_with_circuit_interface(args, circuit_options)
|
34
|
+
@activity.(
|
35
|
+
args,
|
36
|
+
circuit_options.merge(
|
37
|
+
exec_context: new
|
38
|
+
)
|
39
|
+
)
|
24
40
|
end
|
25
41
|
|
26
42
|
# Compile a Context object to be passed into the Activity::call.
|
@@ -6,18 +6,11 @@ module Trailblazer
|
|
6
6
|
ctx = PublicCall.options_for_public_call(*args) # redundant with PublicCall::call.
|
7
7
|
|
8
8
|
# Prepare the tracing-specific arguments. This is only run once for the entire circuit!
|
9
|
-
operation,
|
9
|
+
operation, *args = Trailblazer::Activity::Trace.arguments_for_call( operation, [ctx, {}], {} )
|
10
10
|
|
11
|
-
|
11
|
+
last_signal, (ctx, flow_options) = Activity::TaskWrap.invoke(operation, *args )
|
12
12
|
|
13
|
-
|
14
|
-
last_signal, (options, flow_options) =
|
15
|
-
operation.__call__( # FIXME: this is the only problem.
|
16
|
-
[options, flow_options],
|
17
|
-
circuit_options
|
18
|
-
)
|
19
|
-
|
20
|
-
result = Railway::Result(last_signal, options) # redundant with PublicCall::call.
|
13
|
+
result = Railway::Result(last_signal, ctx) # redundant with PublicCall::call.
|
21
14
|
|
22
15
|
Result.new(result, flow_options[:stack].to_a)
|
23
16
|
end
|
data/test/callable_test.rb
CHANGED
@@ -96,7 +96,7 @@ class CallableHelper < Minitest::Spec
|
|
96
96
|
Module.new do
|
97
97
|
extend Activity::Path()
|
98
98
|
|
99
|
-
task task: Operation::Callable( _blog,
|
99
|
+
task task: Operation::Callable( _blog, start_task: Blog::Next ), _blog.outputs[:success] => Track(:success)
|
100
100
|
task task: User::Relax
|
101
101
|
end
|
102
102
|
end
|
data/test/fast_track_test.rb
CHANGED
@@ -78,7 +78,7 @@ class FailFastBangTest < Minitest::Spec
|
|
78
78
|
end
|
79
79
|
|
80
80
|
# without proper configuration, emitting a FastTrack signal is illegal.
|
81
|
-
it { assert_raises(Trailblazer::Circuit::
|
81
|
+
it { assert_raises(Trailblazer::Circuit::IllegalSignalError) { Create.().inspect("x", "y", "a").must_equal %{<Result:false [true, nil, nil] >} } }
|
82
82
|
|
83
83
|
class Update < Trailblazer::Operation
|
84
84
|
step ->(options, *) { options["x"] = true; Railway.fail_fast! }, fast_track: true
|
@@ -126,7 +126,7 @@ class NestedFastTrackTest < Minitest::Spec
|
|
126
126
|
describe "Nested, fast_track: true and all its outputs given" do
|
127
127
|
let(:update) do
|
128
128
|
Class.new(Trailblazer::Operation) do
|
129
|
-
step task: Trailblazer::Operation::Callable( Edit, call: :
|
129
|
+
step task: Trailblazer::Operation::Callable( Edit, call: :call_with_circuit_interface ), id: "Callable/",
|
130
130
|
outputs: Edit.outputs ,
|
131
131
|
fast_track: true
|
132
132
|
step :b
|
@@ -151,7 +151,7 @@ class NestedFastTrackTest < Minitest::Spec
|
|
151
151
|
Class.new(Trailblazer::Operation) do
|
152
152
|
include Steps
|
153
153
|
|
154
|
-
step task: Trailblazer::Operation::Callable( Edit, call: :
|
154
|
+
step task: Trailblazer::Operation::Callable( Edit, call: :call_with_circuit_interface ), id: "Callable/",
|
155
155
|
outputs: Edit.outputs # all outputs given means it "works"
|
156
156
|
step :b
|
157
157
|
fail :f
|
@@ -173,7 +173,7 @@ class NestedFastTrackTest < Minitest::Spec
|
|
173
173
|
Class.new(Trailblazer::Operation) do
|
174
174
|
include Steps
|
175
175
|
|
176
|
-
step({task: Trailblazer::Operation::Callable( Edit, call: :
|
176
|
+
step({task: Trailblazer::Operation::Callable( Edit, call: :call_with_circuit_interface ), id: "Callable/",
|
177
177
|
outputs: Edit.outputs },
|
178
178
|
{Output(:pass_fast) => Track(:success), Output(:fail_fast) => Track(:failure)} )# manually rewire the fast-track outputs to "conventional" railway ends.
|
179
179
|
|
data/test/task_wrap_test.rb
CHANGED
@@ -15,7 +15,7 @@ class TaskWrapTest < Minitest::Spec
|
|
15
15
|
task: MyMacro,
|
16
16
|
id: "MyMacro",
|
17
17
|
|
18
|
-
|
18
|
+
Trailblazer::Activity::DSL::Extension.new(
|
19
19
|
Trailblazer::Activity::TaskWrap::Merge.new(
|
20
20
|
Module.new do
|
21
21
|
extend Trailblazer::Activity::Path::Plan()
|
@@ -25,7 +25,7 @@ class TaskWrapTest < Minitest::Spec
|
|
25
25
|
before: "task_wrap.call_task"
|
26
26
|
end
|
27
27
|
)
|
28
|
-
|
28
|
+
) => true
|
29
29
|
)
|
30
30
|
|
31
31
|
def model!(options, **)
|
@@ -34,7 +34,7 @@ class TaskWrapTest < Minitest::Spec
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
# it { Create.
|
37
|
+
# it { Create.call("adsf", options={}, {}).inspect("MyMacro.contract", "options.contract").must_equal %{} }
|
38
38
|
|
39
39
|
def inspect_hash(hash, *keys)
|
40
40
|
Hash[ keys.collect { |key| [key, hash[key]] } ].inspect
|
@@ -43,17 +43,17 @@ class TaskWrapTest < Minitest::Spec
|
|
43
43
|
#-
|
44
44
|
# default gets set by Injection.
|
45
45
|
it do
|
46
|
-
|
46
|
+
result = Create.call( {} )
|
47
47
|
|
48
|
-
inspect_hash(
|
48
|
+
inspect_hash(result, "options.contract", :contract, "MyMacro.contract").
|
49
49
|
must_equal %{{"options.contract"=>nil, :contract=>"MyDefaultContract", "MyMacro.contract"=>"MyDefaultContract"}}
|
50
50
|
end
|
51
51
|
|
52
52
|
# injected from outside, Injection skips.
|
53
53
|
it do
|
54
|
-
|
54
|
+
result = Create.call( { :contract=>"MyExternalContract" } )
|
55
55
|
|
56
|
-
inspect_hash(
|
56
|
+
inspect_hash(result, "options.contract", :contract, "MyMacro.contract").
|
57
57
|
must_equal %{{"options.contract"=>"MyExternalContract", :contract=>"MyExternalContract", "MyMacro.contract"=>"MyExternalContract"}}
|
58
58
|
end
|
59
59
|
|
@@ -65,8 +65,8 @@ class TaskWrapTest < Minitest::Spec
|
|
65
65
|
|
66
66
|
class Update < Trailblazer::Operation
|
67
67
|
step(
|
68
|
-
task: ->( (options, *args),
|
69
|
-
_d, *o = Create.
|
68
|
+
task: ->( (options, *args), circuit_options ) {
|
69
|
+
_d, *o = Create.call( [ options, *args ], circuit_options )
|
70
70
|
|
71
71
|
[ Trailblazer::Activity::Right, *o ]
|
72
72
|
},
|
@@ -75,7 +75,7 @@ class TaskWrapTest < Minitest::Spec
|
|
75
75
|
step(
|
76
76
|
task: AnotherMacro,
|
77
77
|
id: "AnotherMacro",
|
78
|
-
|
78
|
+
Trailblazer::Activity::DSL::Extension.new(
|
79
79
|
Trailblazer::Activity::TaskWrap::Merge.new(
|
80
80
|
Module.new do
|
81
81
|
extend Trailblazer::Activity::Path::Plan()
|
@@ -84,14 +84,14 @@ class TaskWrapTest < Minitest::Spec
|
|
84
84
|
before: "task_wrap.call_task"
|
85
85
|
end
|
86
86
|
)
|
87
|
-
|
87
|
+
) => true,
|
88
88
|
)
|
89
89
|
end
|
90
90
|
|
91
91
|
it do
|
92
|
-
|
92
|
+
result = Update.call( {} )
|
93
93
|
|
94
|
-
inspect_hash(
|
94
|
+
inspect_hash(result, "options.contract", :contract, "MyMacro.contract", "AnotherMacro.another_contract").
|
95
95
|
must_equal %{{"options.contract"=>nil, :contract=>"MyDefaultContract", "MyMacro.contract"=>"MyDefaultContract", "AnotherMacro.another_contract"=>"AnotherDefaultContract"}}
|
96
96
|
end
|
97
97
|
end
|
data/test/trace_test.rb
CHANGED
@@ -4,10 +4,6 @@ class TraceTest < Minitest::Spec
|
|
4
4
|
class B < Trailblazer::Operation
|
5
5
|
step ->(options, **) { options[:b] = true }, id: "B.task.b"
|
6
6
|
step ->(options, **) { options[:e] = true }, id: "B.task.e"
|
7
|
-
|
8
|
-
def self.call( (options, flow_options), **circuit_options )
|
9
|
-
__call__( [Trailblazer::Context(options), flow_options], circuit_options )
|
10
|
-
end
|
11
7
|
end
|
12
8
|
|
13
9
|
class Create < Trailblazer::Operation
|
@@ -15,10 +11,6 @@ class TraceTest < Minitest::Spec
|
|
15
11
|
step( {task: B, id: "MyNested"}, B.outputs[:success] => Track(:success) )
|
16
12
|
step ->(options, **) { options[:c] = true }, id: "Create.task.c"
|
17
13
|
step ->(options, params:, **) { params.any? }, id: "Create.task.params"
|
18
|
-
|
19
|
-
def self.call( (options, flow_options), **circuit_options )
|
20
|
-
__call__( [Trailblazer::Context(options), flow_options], circuit_options ) # FIXME.
|
21
|
-
end
|
22
14
|
end
|
23
15
|
# raise Create["__task_wraps__"].inspect
|
24
16
|
|
@@ -35,29 +27,31 @@ class TraceTest < Minitest::Spec
|
|
35
27
|
|
36
28
|
puts output = Trailblazer::Activity::Trace::Present.tree(stack)
|
37
29
|
|
38
|
-
output.gsub(/0x\w+/, "").gsub(/@.+_test/, "").must_equal %{
|
39
|
-
|--
|
40
|
-
|--
|
41
|
-
|
42
|
-
| |--
|
43
|
-
| |-- B.task.
|
44
|
-
|
|
45
|
-
|
46
|
-
|-- Create.task.
|
47
|
-
|
30
|
+
output.gsub(/0x\w+/, "").gsub(/@.+_test/, "").must_equal %{`-- TraceTest::Create
|
31
|
+
|-- Start.default
|
32
|
+
|-- Create.task.a
|
33
|
+
|-- MyNested
|
34
|
+
| |-- Start.default
|
35
|
+
| |-- B.task.b
|
36
|
+
| |-- B.task.e
|
37
|
+
| `-- End.success
|
38
|
+
|-- Create.task.c
|
39
|
+
|-- Create.task.params
|
40
|
+
`-- End.failure}
|
48
41
|
end
|
49
42
|
|
50
43
|
it "Operation::trace" do
|
51
44
|
result = Create.trace({ params: { x: 1 }, a_return: true })
|
52
|
-
result.wtf.gsub(/0x\w+/, "").gsub(/@.+_test/, "").must_equal %{
|
53
|
-
|--
|
54
|
-
|--
|
55
|
-
|
56
|
-
| |--
|
57
|
-
| |-- B.task.
|
58
|
-
|
|
59
|
-
|
60
|
-
|-- Create.task.
|
61
|
-
|
45
|
+
result.wtf.gsub(/0x\w+/, "").gsub(/@.+_test/, "").must_equal %{`-- TraceTest::Create
|
46
|
+
|-- Start.default
|
47
|
+
|-- Create.task.a
|
48
|
+
|-- MyNested
|
49
|
+
| |-- Start.default
|
50
|
+
| |-- B.task.b
|
51
|
+
| |-- B.task.e
|
52
|
+
| `-- End.success
|
53
|
+
|-- Create.task.c
|
54
|
+
|-- Create.task.params
|
55
|
+
`-- End.success}
|
62
56
|
end
|
63
57
|
end
|
@@ -54,20 +54,17 @@ class VariableMappingTest < Minitest::Spec
|
|
54
54
|
task Activity::TaskWrap::Output.new( uuid_output ), id: "task_wrap.output", before: "End.success", group: :end
|
55
55
|
end
|
56
56
|
|
57
|
-
signal, (options, flow_options) =
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
signal.must_equal activity.outputs[:success].signal
|
70
|
-
options.must_equal({"a"=>1, "model.a"=>4, "uuid.a" => 7 })
|
57
|
+
signal, (options, flow_options) = Activity::TaskWrap.invoke(activity,
|
58
|
+
[
|
59
|
+
options = { "a" => 1 },
|
60
|
+
{},
|
61
|
+
],
|
62
|
+
|
63
|
+
wrap_runtime: runtime, # dynamic additions from the outside (e.g. tracing), also per task.
|
64
|
+
)
|
65
|
+
|
66
|
+
signal.must_equal activity.outputs[:success].signal
|
67
|
+
options.must_equal({"a"=>1, "model.a"=>4, "uuid.a" => 7 })
|
71
68
|
end
|
72
69
|
end
|
73
70
|
end
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "trailblazer-activity", ">= 0.
|
20
|
+
spec.add_dependency "trailblazer-activity", ">= 0.6.0", "< 0.7.0"
|
21
21
|
spec.add_dependency "trailblazer-context", ">= 0.1.1", "< 0.3.0"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer-operation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03
|
11
|
+
date: 2018-05-03 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.6.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.7.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.6.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.7.0
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- Rakefile
|
108
108
|
- lib/trailblazer/operation.rb
|
109
109
|
- lib/trailblazer/operation/callable.rb
|
110
|
+
- lib/trailblazer/operation/class_dependencies.rb
|
110
111
|
- lib/trailblazer/operation/deprecated_macro.rb
|
111
112
|
- lib/trailblazer/operation/heritage.rb
|
112
113
|
- lib/trailblazer/operation/inject.rb
|
@@ -118,7 +119,6 @@ files:
|
|
118
119
|
- lib/trailblazer/operation/railway/normalizer.rb
|
119
120
|
- lib/trailblazer/operation/railway/task_builder.rb
|
120
121
|
- lib/trailblazer/operation/result.rb
|
121
|
-
- lib/trailblazer/operation/skill.rb
|
122
122
|
- lib/trailblazer/operation/trace.rb
|
123
123
|
- lib/trailblazer/operation/variable_mapping.rb
|
124
124
|
- lib/trailblazer/operation/version.rb
|