trailblazer 2.1.0.beta2 → 2.1.0.beta3
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 +4 -0
- data/lib/trailblazer/operation/nested.rb +6 -6
- data/lib/trailblazer/operation/validate.rb +1 -1
- data/lib/trailblazer/operation/wrap.rb +2 -2
- data/lib/trailblazer/version.rb +1 -1
- data/test/docs/contract_test.rb +4 -4
- data/test/docs/trace_test.rb +2 -2
- data/test/variables_test.rb +4 -4
- data/trailblazer.gemspec +3 -1
- metadata +24 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36d27170113024b0c2af51f22fc1abc6042c6a68
|
4
|
+
data.tar.gz: 7483dd6c7482d06e332dd4b0ff9b74dd6afe4d91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b05d29959550818ae9103231ac9716f3ebb8a074139d1b4a0e5b0f3a8e48e724dfe348e09fc18356412b9874dd4be930ba91148736b49c930946316fa54e358a
|
7
|
+
data.tar.gz: e5d373cd46eb4b2823df61256e03aa68ed98df9ad84a58b6ac96add3520fafc5577cfbcfa9adcf1dd460698db6219f9aa4136430f2ff8d632eaa0a01f6b6d744
|
data/CHANGES.md
CHANGED
@@ -29,6 +29,10 @@ document Task API and define step API
|
|
29
29
|
deprecate step->(options) ?
|
30
30
|
injectable, per-operation step arguments strategy?
|
31
31
|
|
32
|
+
# 2.1.0.beta3
|
33
|
+
|
34
|
+
* More simplifications because of `activity`.
|
35
|
+
|
32
36
|
# 2.1.0.beta2
|
33
37
|
|
34
38
|
* Simplify `Nested` and several other internals by using the new `Activity` API.
|
@@ -20,10 +20,10 @@ module Trailblazer
|
|
20
20
|
end
|
21
21
|
|
22
22
|
{
|
23
|
-
task:
|
24
|
-
id:
|
25
|
-
extension:
|
26
|
-
|
23
|
+
task: task,
|
24
|
+
id: id,
|
25
|
+
extension: [ Trailblazer::Activity::TaskWrap::Merge.new(task_wrap_extensions) ],
|
26
|
+
outputs: operation.outputs
|
27
27
|
}
|
28
28
|
end
|
29
29
|
|
@@ -56,8 +56,8 @@ module Trailblazer
|
|
56
56
|
def initialize(nested_activity)
|
57
57
|
@nested_activity = Trailblazer::Option::KW(nested_activity)
|
58
58
|
@outputs = {
|
59
|
-
:success => Activity::Output( Railway::End::Success.new(:success), :success ),
|
60
|
-
:failure => Activity::Output( Railway::End::Failure.new(:failure), :failure ),
|
59
|
+
:success => Activity::Output( Railway::End::Success.new(semantic: :success), :success ),
|
60
|
+
:failure => Activity::Output( Railway::End::Failure.new(semantic: :failure), :failure ),
|
61
61
|
}
|
62
62
|
end
|
63
63
|
|
@@ -22,7 +22,7 @@ module Trailblazer
|
|
22
22
|
# activity, _ = activity.decompose
|
23
23
|
|
24
24
|
# DISCUSS: use Nested here?
|
25
|
-
{ task: activity, id: "contract.#{name}.validate",
|
25
|
+
{ task: activity, id: "contract.#{name}.validate", outputs: activity.outputs }
|
26
26
|
end
|
27
27
|
|
28
28
|
class Validate
|
@@ -8,7 +8,7 @@ class Trailblazer::Operation
|
|
8
8
|
|
9
9
|
# connect `false` as an end event, when an exception stopped the wrap, for example.
|
10
10
|
|
11
|
-
{ task: wrapped, id: id,
|
11
|
+
{ task: wrapped, id: id, outputs: operation_class.outputs }
|
12
12
|
# TODO: Nested could have a better API and do the "merge" for us!
|
13
13
|
end
|
14
14
|
|
@@ -28,7 +28,7 @@ class Trailblazer::Operation
|
|
28
28
|
|
29
29
|
def call( (options, flow_options), **circuit_options )
|
30
30
|
block_calling_wrapped = -> {
|
31
|
-
activity = @operation.
|
31
|
+
activity = @operation.to_h[:activity]
|
32
32
|
|
33
33
|
activity.( [options, flow_options], **circuit_options )
|
34
34
|
}
|
data/lib/trailblazer/version.rb
CHANGED
data/test/docs/contract_test.rb
CHANGED
@@ -62,15 +62,15 @@ class DocsContractOverviewTest < Minitest::Spec
|
|
62
62
|
|
63
63
|
it "shows 2-level tracing" do
|
64
64
|
result = Create.trace( params: { length: "A" } )
|
65
|
-
result.wtf.gsub(/0x\w+/, "").must_equal %{|-- #<Trailblazer::Activity::Start
|
65
|
+
result.wtf.gsub(/0x\w+/, "").must_equal %{|-- #<Trailblazer::Activity::Start semantic=:default>
|
66
66
|
|-- model.build
|
67
67
|
|-- contract.build
|
68
68
|
|-- contract.default.validate
|
69
|
-
| |-- #<Trailblazer::Activity::Start
|
69
|
+
| |-- #<Trailblazer::Activity::Start semantic=:default>
|
70
70
|
| |-- contract.default.params_extract
|
71
71
|
| |-- contract.default.call
|
72
|
-
| `-- #<Trailblazer::Activity::End
|
73
|
-
`-- #<Trailblazer::Operation::Railway::End::Failure
|
72
|
+
| `-- #<Trailblazer::Activity::End semantic=:failure>
|
73
|
+
`-- #<Trailblazer::Operation::Railway::End::Failure semantic=:failure>}
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
data/test/docs/trace_test.rb
CHANGED
@@ -38,10 +38,10 @@ class DocsTraceTest < Minitest::Spec
|
|
38
38
|
# `-- End.success
|
39
39
|
#:trace end
|
40
40
|
|
41
|
-
result.wtf.gsub(/0x\w+/, "").must_equal %{|-- #<Trailblazer::Activity::Start
|
41
|
+
result.wtf.gsub(/0x\w+/, "").must_equal %{|-- #<Trailblazer::Activity::Start semantic=:default>
|
42
42
|
|-- model.build
|
43
43
|
|-- contract.build
|
44
|
-
`-- #<Trailblazer::Operation::Railway::End::Success
|
44
|
+
`-- #<Trailblazer::Operation::Railway::End::Success semantic=:success>}
|
45
45
|
end
|
46
46
|
|
47
47
|
it do
|
data/test/variables_test.rb
CHANGED
@@ -141,18 +141,18 @@ the scoping.
|
|
141
141
|
it "with tracing" do
|
142
142
|
result = DiscreetOrganization.trace("public_opinion" => "Freedom!")
|
143
143
|
|
144
|
-
result.wtf.gsub(/0x\w+/, "").gsub(/\d+/, "").must_equal %{|-- #<Trailblazer::Activity::Start
|
144
|
+
result.wtf.gsub(/0x\w+/, "").gsub(/\d+/, "").must_equal %{|-- #<Trailblazer::Activity::Start semantic=:default>
|
145
145
|
|-- set.rumours
|
146
146
|
|-- set.secret
|
147
147
|
|-- Nested(VariablesTest::Whistleblower)
|
148
|
-
| |-- #<Trailblazer::Activity::Start
|
148
|
+
| |-- #<Trailblazer::Activity::Start semantic=:default>
|
149
149
|
| |-- edward.public_opinion
|
150
150
|
| |-- edward.secret
|
151
151
|
| |-- edward.test
|
152
152
|
| |-- edward.read.public_knowledge
|
153
|
-
| `-- #<Trailblazer::Operation::Railway::End::Success
|
153
|
+
| `-- #<Trailblazer::Operation::Railway::End::Success semantic=:success>
|
154
154
|
|-- read.edward.rumours
|
155
155
|
|-- read.edward.secret
|
156
|
-
`-- #<Trailblazer::Operation::Railway::End::Failure
|
156
|
+
`-- #<Trailblazer::Operation::Railway::End::Failure semantic=:failure>}
|
157
157
|
end
|
158
158
|
end
|
data/trailblazer.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.version = Trailblazer::VERSION
|
8
8
|
spec.authors = ["Nick Sutterer"]
|
9
9
|
spec.email = ["apotonick@gmail.com"]
|
10
|
-
spec.description = %q{A high-level architecture
|
10
|
+
spec.description = %q{A high-level architecture introducing new abstractions such as control flow, operations, form objects or policies.}
|
11
11
|
spec.summary = %q{A high-level architecture for Ruby and Rails.}
|
12
12
|
spec.homepage = "http://trailblazer.to"
|
13
13
|
spec.license = "LGPL-3.0"
|
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "trailblazer-operation", ">= 0.2.0", "< 0.3.0"
|
21
|
+
spec.add_dependency "trailblazer-activity", ">= 0.4.3", "< 0.6.0"
|
22
|
+
|
21
23
|
spec.add_dependency "reform", ">= 2.2.0", "< 3.0.0"
|
22
24
|
spec.add_dependency "declarative"
|
23
25
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
4
|
+
version: 2.1.0.beta3
|
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-
|
11
|
+
date: 2018-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-operation
|
@@ -30,6 +30,26 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.3.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: trailblazer-activity
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.4.3
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.6.0
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.4.3
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.6.0
|
33
53
|
- !ruby/object:Gem::Dependency
|
34
54
|
name: reform
|
35
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,8 +168,8 @@ dependencies:
|
|
148
168
|
- - ">="
|
149
169
|
- !ruby/object:Gem::Version
|
150
170
|
version: '0'
|
151
|
-
description: A high-level architecture
|
152
|
-
|
171
|
+
description: A high-level architecture introducing new abstractions such as control
|
172
|
+
flow, operations, form objects or policies.
|
153
173
|
email:
|
154
174
|
- apotonick@gmail.com
|
155
175
|
executables: []
|