trailblazer-macro 2.1.4 → 2.1.5

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