trailblazer-developer 0.0.15 → 0.0.22
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/{lib/trailblazer/developer/CHANGES.md → CHANGES.md} +20 -0
- data/Gemfile +0 -1
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/gems.local.rb +3 -0
- data/lib/trailblazer/developer/generate.rb +4 -3
- data/lib/trailblazer/developer/render/circuit.rb +3 -3
- data/lib/trailblazer/developer/trace/present.rb +5 -3
- data/lib/trailblazer/developer/version.rb +1 -1
- data/lib/trailblazer/developer/wtf.rb +10 -9
- data/lib/trailblazer/developer/wtf/renderer.rb +4 -0
- data/trailblazer-developer.gemspec +3 -3
- metadata +25 -13
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a222410dc0b884dcbcdfe24f5b9a4a5832be21fb49dad5dd704aedb52c4e7343
|
4
|
+
data.tar.gz: b01faa368af768154576c6e0bdf2f2bbc881711379d28272360a2a24a767a4bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c2b7dd4169678f037105935e21b8bdd41ce97d2f79a225c0d3f5b404fcf0e417f38040185c19bc4943f0915f5412470ac870006b05f0b9a9797a0a1d740dd6c
|
7
|
+
data.tar.gz: 228a6f5e0408ac370c4f1d46f98672605834cf1e0a4813732fdcc6d9b60a4fcdea2c9b35bf4921dc6ad4061f4f5d3f03a39ea6ecc4d6258790163855869cff9d
|
@@ -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
|
@@ -1,3 +1,23 @@
|
|
1
|
+
# 0.0.22
|
2
|
+
|
3
|
+
* Upgrade trb-activity, trb-activity-dsl-linear and representable versions.
|
4
|
+
|
5
|
+
# 0.0.21
|
6
|
+
|
7
|
+
* Ruby 3.0 support. :sunset:
|
8
|
+
|
9
|
+
# 0.0.20
|
10
|
+
|
11
|
+
* Ruby 2.7 support
|
12
|
+
|
13
|
+
# 0.0.17
|
14
|
+
|
15
|
+
* Add `Arrow.target_lane` field in the `Generate` component.
|
16
|
+
|
17
|
+
# 0.0.16
|
18
|
+
|
19
|
+
* Remove Declarative warning correctly
|
20
|
+
|
1
21
|
# 0.0.15
|
2
22
|
|
3
23
|
* Fix `Dev.wtf` circuit interface definition
|
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@ _Developer tools for Trailblazers._
|
|
4
4
|
|
5
5
|
## Documentation
|
6
6
|
|
7
|
-
Find the complete documentation on the project website: [
|
7
|
+
Find the complete documentation on the project website: [https://trailblazer.to/2.1/docs/trailblazer.html#trailblazer-developer]
|
8
8
|
|
9
9
|
## Summary
|
10
10
|
|
data/gems.local.rb
CHANGED
@@ -8,7 +8,7 @@ module Trailblazer
|
|
8
8
|
module_function
|
9
9
|
|
10
10
|
Element = Struct.new(:id, :type, :linksTo, :data, :label, :parent)
|
11
|
-
Arrow = Struct.new(:target, :label, :message)
|
11
|
+
Arrow = Struct.new(:target, :label, :message, :target_lane)
|
12
12
|
|
13
13
|
module Representer
|
14
14
|
class Activity < Representable::Decorator
|
@@ -17,10 +17,11 @@ module Trailblazer
|
|
17
17
|
collection :elements, class: Element do
|
18
18
|
property :id
|
19
19
|
property :type
|
20
|
-
collection :linksTo, class: Arrow, default: [] do
|
20
|
+
collection :linksTo, class: Arrow, default: ::Declarative::Variables::Append([]) do
|
21
21
|
property :target
|
22
22
|
property :label
|
23
23
|
property :message
|
24
|
+
property :target_lane
|
24
25
|
end
|
25
26
|
property :data, default: {}
|
26
27
|
|
@@ -31,7 +32,7 @@ module Trailblazer
|
|
31
32
|
end
|
32
33
|
|
33
34
|
def call(hash)
|
34
|
-
_, (ctx, _) = Activity::TaskWrap.invoke(Pipeline, hash: hash)
|
35
|
+
_, (ctx, _) = Activity::TaskWrap.invoke(Pipeline, [{hash: hash}, {}])
|
35
36
|
ctx[:intermediate]
|
36
37
|
end
|
37
38
|
|
@@ -2,8 +2,8 @@ module Trailblazer
|
|
2
2
|
module Developer
|
3
3
|
module_function
|
4
4
|
|
5
|
-
def render(activity)
|
6
|
-
Render::Circuit.(activity)
|
5
|
+
def render(activity, **options)
|
6
|
+
Render::Circuit.(activity, **options)
|
7
7
|
end
|
8
8
|
|
9
9
|
module Render
|
@@ -28,7 +28,7 @@ module Trailblazer
|
|
28
28
|
|
29
29
|
content = content.join("\n")
|
30
30
|
|
31
|
-
|
31
|
+
"\n#{content}".gsub(/0x\w+/, "0x")
|
32
32
|
end
|
33
33
|
|
34
34
|
# If Ruby had pattern matching, this function wasn't necessary.
|
@@ -14,7 +14,8 @@ module Trailblazer::Developer
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def tree(stack, level, tree:, renderer:, **options)
|
17
|
-
|
17
|
+
opts = options.merge(tree: tree)
|
18
|
+
tree_for(stack, level, **opts)
|
18
19
|
|
19
20
|
nodes = tree.each_with_index.map do |task_node, position|
|
20
21
|
renderer.(task_node: task_node, position: position, tree: tree)
|
@@ -27,10 +28,11 @@ module Trailblazer::Developer
|
|
27
28
|
stack.each do |lvl| # always a Stack::Task[input, ..., output]
|
28
29
|
input, output, nested = Trace::Level.input_output_nested_for_level(lvl)
|
29
30
|
|
30
|
-
tree.push(*TreeNodes.for(level, options.merge(input: input, output: output)))
|
31
|
+
tree.push(*TreeNodes.for(level, **options.merge(input: input, output: output)))
|
31
32
|
|
32
33
|
if nested.any? # nesting
|
33
|
-
|
34
|
+
opts = options.merge(tree: tree)
|
35
|
+
tree_for(nested, level + 1, **opts)
|
34
36
|
end
|
35
37
|
|
36
38
|
tree
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Trailblazer::Developer
|
2
2
|
module_function
|
3
3
|
|
4
|
-
def wtf(activity, *args)
|
5
|
-
Wtf.invoke(activity, *args)
|
4
|
+
def wtf(activity, *args, **circuit_options)
|
5
|
+
Wtf.invoke(activity, *args, **circuit_options)
|
6
6
|
end
|
7
7
|
|
8
8
|
class << self
|
@@ -16,11 +16,11 @@ module Trailblazer::Developer
|
|
16
16
|
# This allows to display the trace even when an exception happened
|
17
17
|
def invoke(activity, (ctx, flow_options), **circuit_options)
|
18
18
|
activity, (ctx, flow_options), circuit_options = Wtf.arguments_for_trace(
|
19
|
-
activity, [ctx, flow_options], circuit_options
|
19
|
+
activity, [ctx, flow_options], **circuit_options
|
20
20
|
)
|
21
21
|
|
22
22
|
_returned_stack, signal, (ctx, flow_options) = Trace.invoke(
|
23
|
-
activity, [ctx, flow_options], circuit_options
|
23
|
+
activity, [ctx, flow_options], **circuit_options
|
24
24
|
)
|
25
25
|
|
26
26
|
return signal, [ctx, flow_options], circuit_options
|
@@ -52,7 +52,7 @@ module Trailblazer::Developer
|
|
52
52
|
variables: Array( flow_options.dig(:focus_on, :variables) ),
|
53
53
|
}
|
54
54
|
|
55
|
-
|
55
|
+
[activity, [ ctx, flow_options ], circuit_options]
|
56
56
|
end
|
57
57
|
|
58
58
|
# Overring default input and output data collectors to collect/capture
|
@@ -61,7 +61,7 @@ module Trailblazer::Developer
|
|
61
61
|
def trace_input_data_collector(wrap_config, (ctx, flow_options), circuit_options)
|
62
62
|
data = Trace.default_input_data_collector(wrap_config, [ctx, flow_options], circuit_options)
|
63
63
|
|
64
|
-
if Wtf.
|
64
|
+
if Wtf.capture_variables?(step_name: data[:task_name], **flow_options)
|
65
65
|
data[:focused_variables] = Trace::Focusable.capture_variables_from(ctx, **flow_options)
|
66
66
|
end
|
67
67
|
|
@@ -72,7 +72,7 @@ module Trailblazer::Developer
|
|
72
72
|
data = Trace.default_output_data_collector(wrap_config, [ctx, flow_options], circuit_options)
|
73
73
|
input = flow_options[:stack].top
|
74
74
|
|
75
|
-
if Wtf.
|
75
|
+
if Wtf.capture_variables?(step_name: input.data[:task_name], **flow_options)
|
76
76
|
data[:focused_variables] = Trace::Focusable.capture_variables_from(ctx, **flow_options)
|
77
77
|
end
|
78
78
|
|
@@ -80,10 +80,11 @@ module Trailblazer::Developer
|
|
80
80
|
end
|
81
81
|
|
82
82
|
# private
|
83
|
-
def
|
83
|
+
def capture_variables?(step_name:, focus_on:, **)
|
84
84
|
return true if focus_on[:steps].include?(step_name) # For given step
|
85
85
|
return true if focus_on[:steps].empty? && focus_on[:variables].any? # For selected vars but all steps
|
86
|
-
|
86
|
+
|
87
|
+
false
|
87
88
|
end
|
88
89
|
end
|
89
90
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
module Trailblazer::Developer
|
2
3
|
module Wtf
|
3
4
|
|
@@ -35,6 +36,9 @@ module Trailblazer::Developer
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def fmt(line, style)
|
39
|
+
if line.is_a? Method
|
40
|
+
line = "#<Method: #<Class:>.#{line.name}>"
|
41
|
+
end
|
38
42
|
return line unless style
|
39
43
|
String.send(style, line)
|
40
44
|
end
|
@@ -23,8 +23,8 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "minitest-line"
|
24
24
|
spec.add_development_dependency "rake"
|
25
25
|
|
26
|
-
spec.add_dependency "trailblazer-activity", ">= 0.
|
27
|
-
spec.add_dependency "trailblazer-activity-dsl-linear"
|
28
|
-
spec.add_dependency "representable"
|
26
|
+
spec.add_dependency "trailblazer-activity", ">= 0.12.2", "< 1.0.0"
|
27
|
+
spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.4.1", "< 1.0.0"
|
28
|
+
spec.add_dependency "representable", ">= 3.1.1", "< 4.0.0"
|
29
29
|
spec.add_dependency "hirb"
|
30
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer-developer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
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:
|
11
|
+
date: 2021-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,7 +72,7 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.12.2
|
76
76
|
- - "<"
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: 1.0.0
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
requirements:
|
83
83
|
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0.
|
85
|
+
version: 0.12.2
|
86
86
|
- - "<"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 1.0.0
|
@@ -92,28 +92,40 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
95
|
+
version: 0.4.1
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.0.0
|
96
99
|
type: :runtime
|
97
100
|
prerelease: false
|
98
101
|
version_requirements: !ruby/object:Gem::Requirement
|
99
102
|
requirements:
|
100
103
|
- - ">="
|
101
104
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
105
|
+
version: 0.4.1
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.0.0
|
103
109
|
- !ruby/object:Gem::Dependency
|
104
110
|
name: representable
|
105
111
|
requirement: !ruby/object:Gem::Requirement
|
106
112
|
requirements:
|
107
113
|
- - ">="
|
108
114
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
115
|
+
version: 3.1.1
|
116
|
+
- - "<"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 4.0.0
|
110
119
|
type: :runtime
|
111
120
|
prerelease: false
|
112
121
|
version_requirements: !ruby/object:Gem::Requirement
|
113
122
|
requirements:
|
114
123
|
- - ">="
|
115
124
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
125
|
+
version: 3.1.1
|
126
|
+
- - "<"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 4.0.0
|
117
129
|
- !ruby/object:Gem::Dependency
|
118
130
|
name: hirb
|
119
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -135,8 +147,9 @@ executables: []
|
|
135
147
|
extensions: []
|
136
148
|
extra_rdoc_files: []
|
137
149
|
files:
|
150
|
+
- ".github/workflows/ci.yml"
|
138
151
|
- ".gitignore"
|
139
|
-
-
|
152
|
+
- CHANGES.md
|
140
153
|
- Gemfile
|
141
154
|
- LICENSE
|
142
155
|
- README.md
|
@@ -145,7 +158,6 @@ files:
|
|
145
158
|
- bin/setup
|
146
159
|
- gems.local.rb
|
147
160
|
- lib/trailblazer/developer.rb
|
148
|
-
- lib/trailblazer/developer/CHANGES.md
|
149
161
|
- lib/trailblazer/developer/client.rb
|
150
162
|
- lib/trailblazer/developer/generate.rb
|
151
163
|
- lib/trailblazer/developer/render/circuit.rb
|
@@ -163,7 +175,7 @@ homepage: http://trailblazer.to
|
|
163
175
|
licenses:
|
164
176
|
- LGPL-3.0
|
165
177
|
metadata: {}
|
166
|
-
post_install_message:
|
178
|
+
post_install_message:
|
167
179
|
rdoc_options: []
|
168
180
|
require_paths:
|
169
181
|
- lib
|
@@ -179,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
191
|
version: '0'
|
180
192
|
requirements: []
|
181
193
|
rubygems_version: 3.0.8
|
182
|
-
signing_key:
|
194
|
+
signing_key:
|
183
195
|
specification_version: 4
|
184
196
|
summary: Developer tools for Trailblazer.
|
185
197
|
test_files: []
|