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 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