trailblazer-operation 0.10.0 → 0.10.1
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 +5 -0
- data/lib/trailblazer/operation/trace.rb +18 -4
- data/lib/trailblazer/operation/version.rb +1 -1
- data/test/trace_test.rb +25 -1
- data/trailblazer-operation.gemspec +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00f1e4d05147c0c9434d2a72017c7ea452cd06a5bf5e90985f7f809f5246ac9b
|
4
|
+
data.tar.gz: 6508179d1158e4719f90e7e6a219676b47780468d99f58b6c4178f423415f6ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc578ee53cf1f1ecbef264943841734cb250902c329f7866eec533553e720c58ac1d5f8edf3bf84405a138aa37f25a7abf01153458ce3d177833fe0e51f83801
|
7
|
+
data.tar.gz: b1972a63eddccb14fb5814c0e973543757feb56d62a0400be18da49ef8c0ca3ddda40aaef8d28983177783a48aa2345b8d86f4eaf52a43a098638956914ef60c
|
data/CHANGES.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "delegate"
|
2
2
|
require "trailblazer/developer"
|
3
3
|
|
4
4
|
module Trailblazer
|
@@ -13,7 +13,7 @@ module Trailblazer
|
|
13
13
|
|
14
14
|
result = Railway::Result(signal, ctx) # redundant with PublicCall::call.
|
15
15
|
|
16
|
-
Result.new(result, stack
|
16
|
+
Result.new(result, stack)
|
17
17
|
end
|
18
18
|
|
19
19
|
# `Operation::trace` is included for simple tracing of the flow.
|
@@ -22,7 +22,11 @@ module Trailblazer
|
|
22
22
|
# @public
|
23
23
|
#
|
24
24
|
# Operation.trace(params, current_user: current_user).wtf
|
25
|
+
# TODO: remove in 0.11.0.
|
25
26
|
def trace(options)
|
27
|
+
Activity::Deprecate.warn Trace.find_caller_location_for_deprecated, %(Using `Operation.trace` is deprecated and will be removed in {trailblazer-operation-0.11.0}.
|
28
|
+
Please use `#{self}.wtf?` as documented here: https://trailblazer.to/2.1/docs/trailblazer#trailblazer-developer-wtf-)
|
29
|
+
|
26
30
|
Trace.(self, options)
|
27
31
|
end
|
28
32
|
|
@@ -30,6 +34,14 @@ module Trailblazer
|
|
30
34
|
call_with_public_interface(options, {}, invoke_class: Developer::Wtf)
|
31
35
|
end
|
32
36
|
|
37
|
+
# TODO: remove in 0.11.0.
|
38
|
+
def self.find_caller_location_for_deprecated
|
39
|
+
our_caller_locations = caller_locations.to_a
|
40
|
+
caller_location = our_caller_locations.reverse.find { |line| line.to_s =~ /operation\/trace/ }
|
41
|
+
|
42
|
+
_caller_location = our_caller_locations[our_caller_locations.index(caller_location)+1]
|
43
|
+
end
|
44
|
+
|
33
45
|
# Presentation of the traced stack via the returned result object.
|
34
46
|
# This object is wrapped around the original result in {Trace.call}.
|
35
47
|
class Result < ::SimpleDelegator
|
@@ -38,12 +50,14 @@ module Trailblazer
|
|
38
50
|
@stack = stack
|
39
51
|
end
|
40
52
|
|
41
|
-
# TODO:
|
53
|
+
# TODO: remove in 0.11.0.
|
42
54
|
def wtf
|
55
|
+
Activity::Deprecate.warn Trace.find_caller_location_for_deprecated, %(Using `result.wtf?` is deprecated. Please use `#{@stack.to_a[0].task}.wtf?` and have a nice day.)
|
56
|
+
|
43
57
|
Developer::Trace::Present.(@stack)
|
44
58
|
end
|
45
59
|
|
46
|
-
# TODO:
|
60
|
+
# TODO: remove in 0.11.0.
|
47
61
|
def wtf?
|
48
62
|
puts wtf
|
49
63
|
end
|
data/test/trace_test.rb
CHANGED
@@ -12,7 +12,31 @@ class TraceTest < Minitest::Spec
|
|
12
12
|
step ->(options, **) { options[:c] = true }, id: "Create.task.c"
|
13
13
|
step ->(_options, params:, **) { params.any? }, id: "Create.task.params"
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
|
+
it "deprecates {result.wtf?} and {Operation.trace}" do
|
17
|
+
output, warning = capture_io do
|
18
|
+
result = Create.trace({a_return: true, params: {}})
|
19
|
+
result.wtf?
|
20
|
+
end
|
21
|
+
line_no = __LINE__ - 2
|
22
|
+
|
23
|
+
assert_equal warning, %([Trailblazer] #{File.realpath(__FILE__)}:#{line_no - 1} Using `Operation.trace` is deprecated and will be removed in {trailblazer-operation-0.11.0}.
|
24
|
+
Please use `TraceTest::Create.wtf?` as documented here: https://trailblazer.to/2.1/docs/trailblazer#trailblazer-developer-wtf-
|
25
|
+
[Trailblazer] #{File.realpath(__FILE__)}:#{line_no} Using `result.wtf?` is deprecated. Please use `TraceTest::Create.wtf?` and have a nice day.
|
26
|
+
)
|
27
|
+
assert_equal output, %(TraceTest::Create
|
28
|
+
|-- Start.default
|
29
|
+
|-- Create.task.a
|
30
|
+
|-- MyNested
|
31
|
+
| |-- Start.default
|
32
|
+
| |-- B.task.b
|
33
|
+
| |-- B.task.e
|
34
|
+
| `-- End.success
|
35
|
+
|-- Create.task.c
|
36
|
+
|-- Create.task.params
|
37
|
+
`-- End.failure
|
38
|
+
)
|
39
|
+
end
|
16
40
|
|
17
41
|
it "allows using low-level Operation::Trace" do
|
18
42
|
result = Trailblazer::Operation::Trace.(
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "trailblazer-activity-dsl-linear", ">= 1.2.0", "< 1.4.0"
|
21
|
-
spec.add_dependency "trailblazer-developer"
|
21
|
+
spec.add_dependency "trailblazer-developer", ">= 0.1.0", "< 0.2.0"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler"
|
24
24
|
spec.add_development_dependency "minitest"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer-operation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-activity-dsl-linear
|
@@ -36,14 +36,20 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 0.1.0
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.2.0
|
40
43
|
type: :runtime
|
41
44
|
prerelease: false
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
47
|
- - ">="
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
49
|
+
version: 0.1.0
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.2.0
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: bundler
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|