trailblazer-developer 0.0.14 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06ed468329890c32151abbaf7a53ad46c5304a6ab0f2b5917ca065e722e29932
4
- data.tar.gz: 6ab6a7ef46d0a1ea39358b05c9e02042cf1434859c59fcfadaaaf2b4be18d454
3
+ metadata.gz: f473ed5e4a7acf0ed54a78e9ebee0f43921b1fbdeb71af7901b6f3db0dd797e1
4
+ data.tar.gz: 9a305618d631ace6ffbc3cc5cc1512a80a7339b19f47eb609a5408e81e97ed59
5
5
  SHA512:
6
- metadata.gz: 81406be163c674ff5f06b3c86df28626c7207c30afb167d530c08e88aa2db6c09e1890ec0dc1cc37dc85170e43599b759f142fda98f5a298d493da6c7849b74f
7
- data.tar.gz: c78bb45523d06eb9d544f1fee42e659b4e9c11005c3524566292fb9f37d655bd954acd6a79e40928b9c0f613a3a9c0a274307d7236f2446da5c514dd8e3f175d
6
+ metadata.gz: 475297ef62977030fa0f392a448868f9fe6dd8c3cf253b202b36610c3a87c946c4ec0a04214e2133ff1410cb2dbe0575e1acd9402c3382726aca2f9c08d38336
7
+ data.tar.gz: e7d0ebd5d2f82050d6d0fa7c12347f747cc4d9107ca6ac714f1a42f900f2f85f2bbe05e647b9175b2cc269c4fd2abda576c3e5781494cf8e3cfbc291231b42cf
data/.travis.yml CHANGED
@@ -1,7 +1,9 @@
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
+ - 3.0
6
+ - 2.7
7
+ - 2.6
8
+ - 2.5
9
+ - 2.4
@@ -1,3 +1,23 @@
1
+ # 0.0.21
2
+
3
+ * Ruby 3.0 support. :sunset:
4
+
5
+ # 0.0.20
6
+
7
+ * Ruby 2.7 support
8
+
9
+ # 0.0.17
10
+
11
+ * Add `Arrow.target_lane` field in the `Generate` component.
12
+
13
+ # 0.0.16
14
+
15
+ * Remove Declarative warning correctly
16
+
17
+ # 0.0.15
18
+
19
+ * Fix `Dev.wtf` circuit interface definition
20
+
1
21
  # 0.0.14
2
22
 
3
23
  * Revert declarative warning changes
data/Gemfile CHANGED
@@ -4,10 +4,9 @@ source "https://rubygems.org"
4
4
  gemspec
5
5
 
6
6
  # gem "trailblazer-activity", ">= 0.7.1"
7
- # gem "trailblazer-activity", path: "../trailblazer-activity"
8
- # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
9
- # gem "trailblazer-activity-dsl-linear", github: "trailblazer/trailblazer-activity-dsl-linear"
7
+ gem "trailblazer-activity", path: "../trailblazer-activity"
8
+ gem "trailblazer-context", path: "../trailblazer-context"
9
+ gem "trailblazer-activity-dsl-linear", path: "../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]
data/gems.local.rb CHANGED
@@ -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
@@ -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
- 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)
@@ -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
- 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.14"
4
+ VERSION = "0.0.21"
5
5
  end
6
6
  end
7
7
  end
@@ -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
@@ -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.14
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-04 00:00:00.000000000 Z
11
+ date: 2021-02-26 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
@@ -193,7 +178,7 @@ 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.8
181
+ rubygems_version: 3.2.3
197
182
  signing_key:
198
183
  specification_version: 4
199
184
  summary: Developer tools for Trailblazer.
data/.rubocop.yml DELETED
@@ -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