trailblazer-macro 2.1.4 → 2.1.5

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: d4da758ccf1b9e9ff6fa413c687fe09c6df11449b84a775c65280a73d1b80f72
4
- data.tar.gz: 23bd67cc32f045487ca761e15227fe562e87b7cde3616e7335a8ee3126c51217
3
+ metadata.gz: 4d1d66ce0e6bf576b852792bdee95a0d67148cee1fbb21fdb791e83984154b1f
4
+ data.tar.gz: d274da669e987828fbfbf8b45b677d5596558e22e7729f882a35546fd3244e74
5
5
  SHA512:
6
- metadata.gz: 4671b91a21144afc728dba8397282a49f6517d183349179a357da87e57a223cb4f5cb81f3d29f0bda0e3013db7581367e02a6de28a19bfbc7b83dd286a3f0d9a
7
- data.tar.gz: 339a312f0c7f7bee0afe5f74b06d3694ff826daff2e5bbfe4190a3238252cd92feb36ab14cf2429814eaf5b18e50abdac18bee594b7229c37fc64df8856e18b8
6
+ metadata.gz: 10aac4d11e1b286e27101955722ff1ae581df1608dd268f40dcfb8a559db0b91f2cc2a0a72ace708a9a83f34ec3c55efb059d0117e3605df012fd81800714a84
7
+ data.tar.gz: 6227e472b59a584de223884a8111b7da5b43bfa3e5f07a5522caef1ff7cf765fb1801aff192f070214513d61cfe0d23b0c66cf2298e6532a9fb04dc6fd06efd0
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 2.1.5
2
+
3
+ * Support for Ruby 3.0.
4
+
1
5
  # 2.1.4
2
6
 
3
7
  * Upgrade DSL version to fix step's circuit interface eating passed arguments
data/Gemfile CHANGED
@@ -5,11 +5,11 @@ gemspec
5
5
 
6
6
  # gem "trailblazer", github: "trailblazer/trailblazer"
7
7
  # gem "trailblazer-activity", path: "../trailblazer-activity"
8
- # gem "trailblazer-activity-dsl-linear", github: "trailblazer/trailblazer-activity-dsl-linear", branch: 'master'
9
8
  # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
10
- # gem "trailblazer-operation", github: "trailblazer/trailblazer-operation", branch: 'linear'
11
- # gem "trailblazer-activity"#, github: "trailblazer/trailblazer-activity"
12
9
  # gem "trailblazer-macro-contract", git: "https://github.com/trailblazer/trailblazer-macro-contract"
10
+ # gem "trailblazer-context", path: "../trailblazer-context"
11
+ # gem "trailblazer-operation", path: "../trailblazer-operation"
12
+
13
13
 
14
14
  gem "minitest-line"
15
15
  gem "rubocop", require: false
@@ -6,11 +6,11 @@ module Trailblazer::Macro
6
6
 
7
7
  module Guard
8
8
  def self.build(callable)
9
- option = Trailblazer::Option::KW(callable)
9
+ option = Trailblazer::Option(callable)
10
10
 
11
11
  # this gets wrapped in a Operation::Result object.
12
- ->((options, *), circuit_args) do
13
- Trailblazer::Operation::Result.new(!!option.call(options, circuit_args), {})
12
+ ->((ctx, *), **circuit_args) do
13
+ Trailblazer::Operation::Result.new(!!option.call(ctx, keyword_arguments: ctx.to_hash, **circuit_args), {})
14
14
  end
15
15
  end
16
16
  end
@@ -38,7 +38,7 @@ module Trailblazer
38
38
  # This is what {Nested} in 2.0 used to do, where the outcome could only be true/false (or success/failure).
39
39
  class Dynamic
40
40
  def initialize(nested_activity_decider)
41
- @nested_activity_decider = Option::KW(nested_activity_decider)
41
+ @nested_activity_decider = Trailblazer::Option(nested_activity_decider)
42
42
 
43
43
  @outputs = {
44
44
  :success => Activity::Output(Activity::Railway::End::Success.new(semantic: :success), :success),
@@ -53,7 +53,7 @@ module Trailblazer
53
53
  (ctx, _), original_circuit_options = original_args
54
54
 
55
55
  # TODO: evaluate the option to get the actual "object" to call.
56
- activity = @nested_activity_decider.(ctx, original_circuit_options)
56
+ activity = @nested_activity_decider.(ctx, keyword_arguments: ctx.to_hash, **original_circuit_options)
57
57
 
58
58
  # Overwrite :task so task_wrap.call_task will call this activity.
59
59
  # This is a trick so we don't have to repeat logic from #call_task here.
@@ -1,7 +1,7 @@
1
1
  module Trailblazer
2
2
  module Version
3
3
  module Macro
4
- VERSION = "2.1.4"
4
+ VERSION = "2.1.5"
5
5
  end
6
6
  end
7
7
  end
@@ -48,7 +48,7 @@ module Trailblazer
48
48
 
49
49
  def call((ctx, flow_options), **circuit_options)
50
50
  block_calling_wrapped = -> {
51
- call_wrapped_activity([ctx, flow_options], circuit_options)
51
+ call_wrapped_activity([ctx, flow_options], **circuit_options)
52
52
  }
53
53
 
54
54
  # call the user's Wrap {} block in the operation.
@@ -108,6 +108,27 @@ class DocsGuardNamedTest < Minitest::Spec
108
108
  }
109
109
  end
110
110
 
111
+ #---
112
+ # dependency injection
113
+ class DocsGuardInjectionTest < Minitest::Spec
114
+ #:di-op
115
+ class Create < Trailblazer::Operation
116
+ step Policy::Guard( ->(options, current_user:, **) { current_user == Module } )
117
+ end
118
+ #:di-op end
119
+
120
+ it { Create.(:current_user => Module).inspect("").must_equal %{<Result:true [nil] >} }
121
+ it {
122
+ result =
123
+ #:di-call
124
+ Create.(
125
+ :current_user => Module,
126
+ :"policy.default.eval" => Trailblazer::Operation::Policy::Guard.build(->(options, **) { false })
127
+ )
128
+ #:di-call end
129
+ result.inspect("").must_equal %{<Result:false [nil] >} }
130
+ end
131
+
111
132
  #---
112
133
  # missing current_user throws exception
113
134
  class DocsGuardMissingKeywordTest < Minitest::Spec
@@ -25,9 +25,8 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "roar"
26
26
  spec.add_development_dependency "trailblazer-developer"
27
27
 
28
- spec.add_dependency "trailblazer-activity", ">= 0.11.2", "< 1.0.0"
29
- spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.3.3", "< 1.0.0"
30
- spec.add_dependency "trailblazer-operation", ">= 0.6.5" # TODO: this dependency will be removed.
28
+ spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.4.0", "< 0.5.0"
29
+ spec.add_dependency "trailblazer-operation", ">= 0.7.0" # TODO: this dependency will be removed.
31
30
 
32
31
  spec.required_ruby_version = ">= 2.2.0"
33
32
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-macro
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  - Marc Tich
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-12-06 00:00:00.000000000 Z
12
+ date: 2021-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -95,60 +95,40 @@ dependencies:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
- - !ruby/object:Gem::Dependency
99
- name: trailblazer-activity
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 0.11.2
105
- - - "<"
106
- - !ruby/object:Gem::Version
107
- version: 1.0.0
108
- type: :runtime
109
- prerelease: false
110
- version_requirements: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 0.11.2
115
- - - "<"
116
- - !ruby/object:Gem::Version
117
- version: 1.0.0
118
98
  - !ruby/object:Gem::Dependency
119
99
  name: trailblazer-activity-dsl-linear
120
100
  requirement: !ruby/object:Gem::Requirement
121
101
  requirements:
122
102
  - - ">="
123
103
  - !ruby/object:Gem::Version
124
- version: 0.3.3
104
+ version: 0.4.0
125
105
  - - "<"
126
106
  - !ruby/object:Gem::Version
127
- version: 1.0.0
107
+ version: 0.5.0
128
108
  type: :runtime
129
109
  prerelease: false
130
110
  version_requirements: !ruby/object:Gem::Requirement
131
111
  requirements:
132
112
  - - ">="
133
113
  - !ruby/object:Gem::Version
134
- version: 0.3.3
114
+ version: 0.4.0
135
115
  - - "<"
136
116
  - !ruby/object:Gem::Version
137
- version: 1.0.0
117
+ version: 0.5.0
138
118
  - !ruby/object:Gem::Dependency
139
119
  name: trailblazer-operation
140
120
  requirement: !ruby/object:Gem::Requirement
141
121
  requirements:
142
122
  - - ">="
143
123
  - !ruby/object:Gem::Version
144
- version: 0.6.5
124
+ version: 0.7.0
145
125
  type: :runtime
146
126
  prerelease: false
147
127
  version_requirements: !ruby/object:Gem::Requirement
148
128
  requirements:
149
129
  - - ">="
150
130
  - !ruby/object:Gem::Version
151
- version: 0.6.5
131
+ version: 0.7.0
152
132
  description: Macros for Trailblazer's operation
153
133
  email:
154
134
  - apotonick@gmail.com
@@ -192,7 +172,7 @@ homepage: http://trailblazer.to
192
172
  licenses:
193
173
  - LGPL-3.0
194
174
  metadata: {}
195
- post_install_message:
175
+ post_install_message:
196
176
  rdoc_options: []
197
177
  require_paths:
198
178
  - lib
@@ -207,8 +187,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
187
  - !ruby/object:Gem::Version
208
188
  version: '0'
209
189
  requirements: []
210
- rubygems_version: 3.0.8
211
- signing_key:
190
+ rubygems_version: 3.2.3
191
+ signing_key:
212
192
  specification_version: 4
213
193
  summary: 'Macros for Trailblazer''s operation: Policy, Wrap, Rescue and more.'
214
194
  test_files: