trailblazer-activity-dsl-linear 0.1.6 → 0.1.7
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2eccbd6b077b017f81d57ddc1dbc564c903fec72a83e4496118e31098be0a06e
|
4
|
+
data.tar.gz: 92ed613fe58920562d059b2b3affc155b07aca0f1a7c0a20813d45da1f6be5b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68564dcce8e6b423868b5633e5ab7cb1c46402e1d74b963eb4898e994aadc605d75f365f172436aa59b20c074f1b65440b68af4cc1e623be789a33dc0adb299e
|
7
|
+
data.tar.gz: 695efbb135d86cc05d93387e9b24ee422806a3fb5a98099b29a4bc034f58d385d18670994131aa442ce92bd547980caded1a1e65bbf0d5c2297c501c176a8e87
|
data/CHANGES.md
CHANGED
@@ -38,7 +38,7 @@ module Trailblazer
|
|
38
38
|
Id.new(id).freeze
|
39
39
|
end
|
40
40
|
|
41
|
-
def Path(track_color: "track_#{rand}", end_id
|
41
|
+
def Path(track_color: "track_#{rand}", end_id:"path_end_#{rand}", connect_to:nil, **options, &block)
|
42
42
|
# DISCUSS: here, we use the global normalizer and don't allow injection.
|
43
43
|
state = Activity::Path::DSL::State.new(Activity::Path::DSL.OptionsForState(track_name: track_color, end_id: end_id, **options)) # TODO: test injecting {:normalizers}.
|
44
44
|
|
@@ -47,7 +47,25 @@ module Trailblazer
|
|
47
47
|
|
48
48
|
seq = state.to_h[:sequence]
|
49
49
|
|
50
|
-
|
50
|
+
_end_id =
|
51
|
+
if connect_to
|
52
|
+
end_id
|
53
|
+
else
|
54
|
+
nil
|
55
|
+
end
|
56
|
+
|
57
|
+
seq = Linear.strip_start_and_ends(seq, end_id: _end_id) # don't cut off end unless {:connect_to} is set.
|
58
|
+
|
59
|
+
if connect_to
|
60
|
+
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
|
61
|
+
|
62
|
+
searches = [Linear::Search.ById(output, connect_to.value)]
|
63
|
+
|
64
|
+
row = seq[-1]
|
65
|
+
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
|
66
|
+
|
67
|
+
seq = seq[0..-2] + [row]
|
68
|
+
end
|
51
69
|
|
52
70
|
# Add the path before End.success - not sure this is bullet-proof.
|
53
71
|
adds = seq.collect do |row|
|
@@ -57,6 +75,7 @@ module Trailblazer
|
|
57
75
|
}
|
58
76
|
end
|
59
77
|
|
78
|
+
# Connect the Output() => Track(path_track)
|
60
79
|
return Track.new(track_color, adds)
|
61
80
|
end
|
62
81
|
|
@@ -115,6 +115,7 @@ module Trailblazer
|
|
115
115
|
end
|
116
116
|
|
117
117
|
# Compile the actual {Seq::Row}'s {wiring}.
|
118
|
+
# This combines {:connections} and {:outputs}
|
118
119
|
def compile_wirings((ctx, flow_options), *)
|
119
120
|
connections = ctx[:connections] || raise # FIXME
|
120
121
|
outputs = ctx[:outputs] || raise # FIXME
|
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Nick Sutterer"]
|
10
10
|
spec.email = ["apotonick@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q(Simple DSL to
|
13
|
-
spec.description = %q(Simple DSL to
|
12
|
+
spec.summary = %q(Simple DSL to define Trailblazer activities.)
|
13
|
+
spec.description = %q(Simple DSL to define Trailblazer activities with arbitrary wirings.)
|
14
14
|
spec.homepage = "http://trailblazer.to"
|
15
15
|
spec.licenses = ["LGPL-3.0"]
|
16
16
|
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_dependency "trailblazer-activity", ">= 0.8.3", "< 1.0.0"
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler"
|
24
|
+
spec.add_development_dependency "bundler"
|
25
25
|
spec.add_development_dependency "minitest", "~> 5.0"
|
26
26
|
spec.add_development_dependency "rake"
|
27
27
|
spec.add_development_dependency "trailblazer-developer", ">= 0.0.3"
|
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.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-activity
|
@@ -34,16 +34,16 @@ dependencies:
|
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '0'
|
40
40
|
type: :development
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: minitest
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,7 +86,7 @@ dependencies:
|
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 0.0.3
|
89
|
-
description: Simple DSL to
|
89
|
+
description: Simple DSL to define Trailblazer activities with arbitrary wirings.
|
90
90
|
email:
|
91
91
|
- apotonick@gmail.com
|
92
92
|
executables: []
|
@@ -138,5 +138,5 @@ rubyforge_project:
|
|
138
138
|
rubygems_version: 2.7.3
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
|
-
summary: Simple DSL to
|
141
|
+
summary: Simple DSL to define Trailblazer activities.
|
142
142
|
test_files: []
|