trailblazer-developer 0.0.13 → 0.0.20

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: dcc1a32164a4c3e26c3d72450e416d8c3259002f2ce94782c808e4c041cb7847
4
- data.tar.gz: fb0bede8fcfed4c533dec425f9f92b8188fd4df6ce82c39543d21d7440b7c1fc
3
+ metadata.gz: 681f1eca62302de70e8e138f58ad0f2765bc08a5fbbb3d1eb17d10e88ac479e6
4
+ data.tar.gz: 96f1f8056ed5381c6b8f7c9264728121bb31e5928092889cf88d6ed2687ce154
5
5
  SHA512:
6
- metadata.gz: d6661e0492929cf37bbf40afbbd61d79308f113005040a61515801d72b7731adce960245d618ccb5a7db4903e082f5ae1b2a60fe139006f978e4f13ab02cf4a7
7
- data.tar.gz: b7b1581c7733ca0066eafb8877c06d9ca7175854c56d8fa62509f384881c772a84b7dce4ba4dacd547710d4a3c1ed04da9dc9d15f7571e8852fb8c11778d4f35
6
+ metadata.gz: 70239ee2b542f1565b1a11e583611499c541bec4be99a38646881bdf12b679180ecdd08f0f67fcfb944469ad7cf9d6b221c90e46e99b6b041ef3473f7089e8fa
7
+ data.tar.gz: 64fd52e4e29c849f807bd06b1e747198feb37c9ad9c51e699569fb1eb2c05aea735754fd299526d140c771463411bd3c7d698e6bbe8736e8c812a804b5121f98
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
- rvm:
3
- - 2.6.2
4
- - 2.5.5
5
- - 2.4.4
6
-
2
+ before_install: gem install bundler
7
3
  cache: bundler
4
+ rvm:
5
+ - 2.7
6
+ - 2.6
7
+ - 2.5
8
+ - 2.4
@@ -1,3 +1,22 @@
1
+ # 0.0.20
2
+ * Ruby 2.7 support
3
+
4
+ # 0.0.17
5
+
6
+ * Add `Arrow.target_lane` field in the `Generate` component.
7
+
8
+ # 0.0.16
9
+
10
+ * Remove Declarative warning correctly
11
+
12
+ # 0.0.15
13
+
14
+ * Fix `Dev.wtf` circuit interface definition
15
+
16
+ # 0.0.14
17
+
18
+ * Revert declarative warning changes
19
+
1
20
  # 0.0.13
2
21
 
3
22
  * Allow focusing on selected variables for all steps in wtf
data/Gemfile CHANGED
@@ -8,6 +8,5 @@ gemspec
8
8
  # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
9
9
  # gem "trailblazer-activity-dsl-linear", github: "trailblazer/trailblazer-activity-dsl-linear"
10
10
 
11
- gem "representable"
12
11
  gem "faraday"
13
12
  gem "multi_json"
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2018 Trailblazer GmbH
1
+ Copyright (c) 2018-2020 Trailblazer GmbH
2
2
 
3
3
  Trailblazer is an Open Source project licensed under the terms of
4
4
  the LGPLv3 license. Please see <http://www.gnu.org/licenses/lgpl-3.0.html>
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: [http://2019.trailblazer.to/2.1/docs/developer.html]
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/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
- require "rubocop/rake_task"
4
3
 
5
4
  Rake::TestTask.new(:test) do |t|
6
5
  t.libs << "test"
@@ -8,7 +7,5 @@ Rake::TestTask.new(:test) do |t|
8
7
  t.test_files = FileList["test/**/*_test.rb"]
9
8
  end
10
9
 
11
- RuboCop::RakeTask.new(:rubocop)
12
-
13
10
  desc "Running Tests"
14
11
  task default: %i[test]
@@ -6,3 +6,6 @@ gemspec
6
6
  gem "trailblazer-activity", path: "../trailblazer-activity"
7
7
  gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
8
8
  gem "representable"
9
+ gem 'pry-byebug'
10
+ gem "faraday"
11
+ gem "multi_json"
@@ -31,7 +31,7 @@ module Trailblazer::Developer
31
31
  return false unless response.status == 200
32
32
 
33
33
  # token = CGI::Cookie.parse(response.headers["set-cookie"])["token"][0]
34
- token = JSON.parse(response.body)["token"]
34
+ JSON.parse(response.body)["token"]
35
35
  end
36
36
 
37
37
  def export_diagram(id:, query:, **options)
@@ -60,7 +60,7 @@ module Trailblazer::Developer
60
60
  def request(host:, url:, method:, token:, body:, **)
61
61
  conn = Faraday.new(url: host)
62
62
 
63
- response = conn.send(method) do |req|
63
+ conn.send(method) do |req|
64
64
  req.url url
65
65
  req.headers["Content-Type"] = "application/json"
66
66
  req.body = body
@@ -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
- signal, (ctx, _) = Activity::TaskWrap.invoke(Pipeline, hash: hash)
35
+ _, (ctx, _) = Activity::TaskWrap.invoke(Pipeline, hash: hash)
35
36
  ctx[:intermediate]
36
37
  end
37
38
 
@@ -51,16 +52,16 @@ module Trailblazer
51
52
  wiring = elements.collect { |el|
52
53
  data = data_for(el)
53
54
 
54
- [inter.TaskRef(el.id, data), el.linksTo.collect { |arrow| inter.Out(semantic_for(arrow.to_h), arrow.target) } ] }
55
+ [inter.TaskRef(el.id, data), el.linksTo.collect { |arrow| inter.Out(semantic_for(**arrow.to_h), arrow.target) } ] }
55
56
  wiring = Hash[wiring]
56
57
 
57
58
  # end events need this stupid special handling
58
59
  # DISCUSS: currently, the END-SEMANTIC is read from the event's label.
59
60
  wiring = wiring.merge(Hash[
60
61
  end_events.collect do |_end|
61
- ref, outputs = wiring.find { |ref, _| ref.id == _end.id }
62
+ ref, = wiring.find { |ref, _| ref.id == _end.id }
62
63
 
63
- [ref, [inter.Out(semantic_for(_end.to_h)|| raise, nil)]] # TODO: test the raise, happens when the semantic of an End can't be distinguished. # TODO: don't extract semantic from :label but from :data.
64
+ [ref, [inter.Out(semantic_for(**_end.to_h)|| raise, nil)]] # TODO: test the raise, happens when the semantic of an End can't be distinguished. # TODO: don't extract semantic from :label but from :data.
64
65
  end
65
66
  ])
66
67
  # pp wiring
@@ -28,7 +28,7 @@ module Trailblazer
28
28
 
29
29
  content = content.join("\n")
30
30
 
31
- return "\n#{content}".gsub(/0x\w+/, "0x")#.gsub(/0.\d+/, "0.")
31
+ "\n#{content}".gsub(/0x\w+/, "0x")
32
32
  end
33
33
 
34
34
  # If Ruby had pattern matching, this function wasn't necessary.
@@ -7,10 +7,10 @@ module Trailblazer::Developer
7
7
 
8
8
  class << self
9
9
  # Public entry point to activate tracing when running {activity}.
10
- def call(activity, (ctx, flow_options), circuit_options={})
11
- activity, (ctx, flow_options), circuit_options = Trace.arguments_for_call( activity, [ctx, flow_options], circuit_options ) # only run once for the entire circuit!
10
+ def call(activity, (ctx, flow_options), **circuit_options)
11
+ activity, (ctx, flow_options), circuit_options = Trace.arguments_for_call( activity, [ctx, flow_options], **circuit_options ) # only run once for the entire circuit!
12
12
 
13
- signal, (ctx, flow_options) = Activity::TaskWrap.invoke(activity, [ctx, flow_options], circuit_options)
13
+ signal, (ctx, flow_options) = Activity::TaskWrap.invoke(activity, [ctx, flow_options], **circuit_options)
14
14
 
15
15
  return flow_options[:stack], signal, [ctx, flow_options]
16
16
  end
@@ -14,7 +14,8 @@ module Trailblazer::Developer
14
14
  end
15
15
 
16
16
  def tree(stack, level, tree:, renderer:, **options)
17
- tree_for(stack, level, options.merge(tree: tree))
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)
@@ -30,7 +31,8 @@ module Trailblazer::Developer
30
31
  tree.push(*TreeNodes.for(level, options.merge(input: input, output: output)))
31
32
 
32
33
  if nested.any? # nesting
33
- tree_for(nested, level + 1, options.merge(tree: tree))
34
+ opts = options.merge(tree: tree)
35
+ tree_for(nested, level + 1, **opts)
34
36
  end
35
37
 
36
38
  tree
@@ -1,7 +1,7 @@
1
1
  module Trailblazer
2
2
  module Version
3
3
  module Developer
4
- VERSION = "0.0.13"
4
+ VERSION = "0.0.20"
5
5
  end
6
6
  end
7
7
  end
@@ -14,13 +14,13 @@ module Trailblazer::Developer
14
14
 
15
15
  # Run {activity} with tracing enabled and inject a mutable {Stack} instance.
16
16
  # This allows to display the trace even when an exception happened
17
- def invoke(activity, (ctx, flow_options), *circuit_options)
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
- return activity, [ ctx, flow_options ], circuit_options
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.caputure_variables?(step_name: data[:task_name], **flow_options)
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.caputure_variables?(step_name: input.data[:task_name], **flow_options)
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 caputure_variables?(step_name:, focus_on:, **)
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
- return false
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
@@ -22,9 +22,8 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "minitest"
23
23
  spec.add_development_dependency "minitest-line"
24
24
  spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rubocop"
26
25
 
27
- spec.add_dependency "trailblazer-activity", ">= 0.10.0", "< 1.0.0"
26
+ spec.add_dependency "trailblazer-activity", ">= 0.11.0", "< 1.0.0"
28
27
  spec.add_dependency "trailblazer-activity-dsl-linear"
29
28
  spec.add_dependency "representable"
30
29
  spec.add_dependency "hirb"
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.13
4
+ version: 0.0.20
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: 2020-06-27 00:00:00.000000000 Z
11
+ date: 2021-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,27 +66,13 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: trailblazer-activity
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: 0.10.0
75
+ version: 0.11.0
90
76
  - - "<"
91
77
  - !ruby/object:Gem::Version
92
78
  version: 1.0.0
@@ -96,7 +82,7 @@ dependencies:
96
82
  requirements:
97
83
  - - ">="
98
84
  - !ruby/object:Gem::Version
99
- version: 0.10.0
85
+ version: 0.11.0
100
86
  - - "<"
101
87
  - !ruby/object:Gem::Version
102
88
  version: 1.0.0
@@ -150,8 +136,8 @@ extensions: []
150
136
  extra_rdoc_files: []
151
137
  files:
152
138
  - ".gitignore"
153
- - ".rubocop.yml"
154
139
  - ".travis.yml"
140
+ - CHANGES.md
155
141
  - Gemfile
156
142
  - LICENSE
157
143
  - README.md
@@ -160,7 +146,6 @@ files:
160
146
  - bin/setup
161
147
  - gems.local.rb
162
148
  - lib/trailblazer/developer.rb
163
- - lib/trailblazer/developer/CHANGES.md
164
149
  - lib/trailblazer/developer/client.rb
165
150
  - lib/trailblazer/developer/generate.rb
166
151
  - lib/trailblazer/developer/render/circuit.rb
@@ -178,7 +163,7 @@ homepage: http://trailblazer.to
178
163
  licenses:
179
164
  - LGPL-3.0
180
165
  metadata: {}
181
- post_install_message:
166
+ post_install_message:
182
167
  rdoc_options: []
183
168
  require_paths:
184
169
  - lib
@@ -193,8 +178,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
178
  - !ruby/object:Gem::Version
194
179
  version: '0'
195
180
  requirements: []
196
- rubygems_version: 3.0.3
197
- signing_key:
181
+ rubygems_version: 3.1.2
182
+ signing_key:
198
183
  specification_version: 4
199
184
  summary: Developer tools for Trailblazer.
200
185
  test_files: []
@@ -1,36 +0,0 @@
1
- inherit_from:
2
- - https://raw.githubusercontent.com/trailblazer/meta/master/rubocop.yml
3
-
4
- AllCops:
5
- TargetRubyVersion: 2.5
6
- Exclude:
7
- - 'test/hash/bla.rb'
8
-
9
- Metrics/LineLength:
10
- Exclude:
11
- - test/diagram_test.rb
12
-
13
- Naming/MethodName:
14
- Enabled: false
15
-
16
- Style/ClassAndModuleChildren:
17
- Enabled: false
18
-
19
- # DISCUSS: user map instead of collect
20
- Style/CollectionMethods:
21
- Enabled: false
22
-
23
- # DISCUSS: Use raise with an explicit exception class and message, rather than just a message
24
- Style/ImplicitRuntimeError:
25
- Enabled: false
26
-
27
- Style/Lambda:
28
- EnforcedStyle: literal
29
-
30
- # DISCUSS: Use fail instead of raise to signal exceptions
31
- Style/SignalException:
32
- Enabled: false
33
-
34
- # DISUSS: this could be false because we have if locals blabla
35
- Bundler/DuplicatedGem:
36
- Enabled: false