trailblazer-operation 0.10.0 → 0.10.1

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: 055b4f6ef1ce80319468ccbb1299dadf1ff82429179381904780a1d04bcda48f
4
- data.tar.gz: c3d25c70992d811625a162c5dce4bc5751df2665034b80d6739b4153860914ca
3
+ metadata.gz: 00f1e4d05147c0c9434d2a72017c7ea452cd06a5bf5e90985f7f809f5246ac9b
4
+ data.tar.gz: 6508179d1158e4719f90e7e6a219676b47780468d99f58b6c4178f423415f6ca
5
5
  SHA512:
6
- metadata.gz: 4e1450dc8761312a31ebb9113a1086e4f51f501a8fbc178f597b9720b14a767e7cd4b42a833b42b2ed065b7c41cd8f9bb19c81ddd808020c4ab9f5643c0375c0
7
- data.tar.gz: 7ee732afe996545413207ea93ece417b1d5ccb74b51820048957f73c22d8ea53eb61a01c1d96531056e8bbd407e5d1c004382e36132e5dfa435468b24192981c
6
+ metadata.gz: bc578ee53cf1f1ecbef264943841734cb250902c329f7866eec533553e720c58ac1d5f8edf3bf84405a138aa37f25a7abf01153458ce3d177833fe0e51f83801
7
+ data.tar.gz: b1972a63eddccb14fb5814c0e973543757feb56d62a0400be18da49ef8c0ca3ddda40aaef8d28983177783a48aa2345b8d86f4eaf52a43a098638956914ef60c
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.10.1
2
+
3
+ * Deprecate `Operation.trace` and `Result#wtf?` in favor of `Operation.wtf?`.
4
+ * Use `trailblazer-developer-0.1.0`.
5
+
1
6
  ## 0.10.0
2
7
 
3
8
  * Require `trailblazer-activity-dsl-linear-1.2.0`.
@@ -1,4 +1,4 @@
1
- require 'delegate'
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.to_a)
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: deprecate!
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: deprecate!
60
+ # TODO: remove in 0.11.0.
47
61
  def wtf?
48
62
  puts wtf
49
63
  end
@@ -1,7 +1,7 @@
1
1
  module Trailblazer
2
2
  module Version
3
3
  module Operation
4
- VERSION = "0.10.0"
4
+ VERSION = "0.10.1"
5
5
  end
6
6
  end
7
7
  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
- # raise Create["__task_wraps__"].inspect
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.0
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-03-02 00:00:00.000000000 Z
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: '0'
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: '0'
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