trailblazer-operation 0.6.3 → 0.6.4

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: b3e5248a8515b6f1255116f82ba2b0fc2836b373dcbe03d38fb5c0b93f94c82a
4
- data.tar.gz: 185922dd1990ae902d2ed5fd4639c0d2788913d63036eb71542945b15eb1995c
3
+ metadata.gz: 981ec0cea83a33e099bbc95c7bbde70e0ce158830d8347e28c5584b1ea27ce7a
4
+ data.tar.gz: 3b9b123a954f8f7269e1af69f4f60f84fdeebf238319d9243743d27f371e35f9
5
5
  SHA512:
6
- metadata.gz: a4f01d8601c8e97e72f1cabb52adabd9371d416472fa1784573aa13cc1252108f2c5a6f12157e7e3379f21cfb7b7ebe2d5f1213813473a6796f05a6652b8cc55
7
- data.tar.gz: ff7522a5ec8c73ad8ec76ef2e3f2019309fa2d9f708463c9e6b96a83cc07ac8cc6878714b4f730d4701848b69ceec11a999b65c5576514292f0da1b56c27b41a
6
+ metadata.gz: e7d149855f102a46264bdeb9a9dfaaaff4e42d85849e1220ae16b2aadb4cf712b1e3326c654127683bf4a33d56c73e83792e33770b70d4615dc26bd651060586
7
+ data.tar.gz: 32e58914330e1d5dfd0c63938497daffe280ca3da41ae34c9620de6833dfdd1d2d29cd9186219cc7b731ab80266032e85f945e2ed49ec54db72610183d2c0000
@@ -1,16 +1,13 @@
1
1
  language: ruby
2
2
  before_install:
3
3
  - gem install bundler -v 1.17.3
4
- matrix:
5
- include:
6
- # - rvm: 2.1.0
7
- # gemfile: Gemfile
8
- - rvm: 2.2.4
9
- gemfile: Gemfile
10
- - rvm: 2.3.3
11
- gemfile: Gemfile
12
- - rvm: 2.4.0
13
- gemfile: Gemfile
14
- - rvm: 2.5.0
15
- gemfile: Gemfile
16
- script: bundle exec rake test
4
+ rvm:
5
+ - ruby-head
6
+ - 2.7
7
+ - 2.6
8
+ - 2.5
9
+ - 2.4
10
+ jobs:
11
+ allow_failures:
12
+ - rvm: ruby-head
13
+ - rvm: 2.7
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.6.4
2
+
3
+ * Remove container support. Containers should be part of `ctx` itself
4
+
1
5
  ## 0.6.3
2
6
 
3
7
  * Require forwardable module from standard lib.
@@ -1,7 +1,7 @@
1
1
  require 'forwardable'
2
+ require 'trailblazer/operation/version'
2
3
  require "trailblazer/option"
3
4
  require "trailblazer/context"
4
- require "trailblazer/container_chain"
5
5
 
6
6
  require "trailblazer/activity/dsl/linear"
7
7
 
@@ -51,27 +51,13 @@ module Trailblazer
51
51
 
52
52
  require "trailblazer/operation/trace"
53
53
  extend Trace # ::trace
54
-
55
- module Railway
56
- def self.fail! ; Activity::Left end
57
- def self.pass! ; Activity::Right end
58
- def self.fail_fast!; Activity::FastTrack::FailFast end
59
- def self.pass_fast!; Activity::FastTrack::PassFast end
60
- end
61
54
  end
62
55
  end
63
56
 
64
- require 'trailblazer/operation/version'
65
-
66
57
  require "trailblazer/operation/class_dependencies"
67
58
  require "trailblazer/operation/deprecated_macro" # TODO: remove in 2.2.
68
59
 
69
60
  require "trailblazer/operation/result"
70
61
  require "trailblazer/operation/railway"
71
62
 
72
- require "trailblazer/developer"
73
- require "trailblazer/operation/trace"
74
-
75
63
  require "trailblazer/operation/railway/macaroni"
76
-
77
- require "trailblazer/operation/container"
@@ -5,6 +5,10 @@ module Trailblazer
5
5
  class Operation
6
6
  # End event: All subclasses of End:::Success are interpreted as "success".
7
7
  module Railway
8
+ def self.fail! ; Activity::Left end
9
+ def self.pass! ; Activity::Right end
10
+ def self.fail_fast!; Activity::FastTrack::FailFast end
11
+ def self.pass_fast!; Activity::FastTrack::PassFast end
8
12
  # @param options Context
9
13
  # @param end_event The last emitted signal in a circuit is usually the end event.
10
14
  def self.Result(end_event, options, *)
@@ -1,4 +1,5 @@
1
1
  require 'delegate'
2
+ require "trailblazer/developer"
2
3
 
3
4
  module Trailblazer
4
5
  class Operation
@@ -1,5 +1,7 @@
1
1
  module Trailblazer
2
- class Operation
3
- VERSION = "0.6.3"
2
+ module Version
3
+ module Operation
4
+ VERSION = "0.6.4"
5
+ end
4
6
  end
5
7
  end
@@ -245,9 +245,8 @@ describe all options :pass_fast, :fast_track and emiting signals directly, like
245
245
  end
246
246
 
247
247
  it "runs #create_model, only" do
248
- Memo = FastTrack::Memo
249
248
  #:ft-call
250
- result = Memo::Create.(create_empty_model: true)
249
+ result = FastTrack::Memo::Create.(create_empty_model: true)
251
250
  puts result.success? #=> true
252
251
  puts result[:model].inspect #=> #<Memo text=nil>
253
252
  #:ft-call end
@@ -257,9 +256,8 @@ describe all options :pass_fast, :fast_track and emiting signals directly, like
257
256
  end
258
257
 
259
258
  it "fast-tracks in #assign_errors" do
260
- Memo = FastTrack::Memo
261
259
  #:ft-call-err
262
- result = Memo::Create.({})
260
+ result = FastTrack::Memo::Create.({})
263
261
  puts result.success? #=> false
264
262
  puts result[:model].inspect #=> #<Memo text=nil>
265
263
  puts result[:errors].inspect #=> "Something went wrong!"
@@ -271,16 +269,15 @@ describe all options :pass_fast, :fast_track and emiting signals directly, like
271
269
  end
272
270
 
273
271
  it "goes till #save by emitting signals directly" do
274
- Memo = FastTrack::Memo
275
- result = Memo::Create.(params: {text: "Punk is not dead!"})
272
+ result = FastTrack::Memo::Create.(params: {text: "Punk is not dead!"})
276
273
  result.success?.must_equal true
277
274
  result[:model].id.must_equal 1
278
275
  result[:errors].must_be_nil
279
276
  end
280
277
 
278
+
281
279
  it "goes till #save by using signal helper" do
282
- Memo = FastTrack::Memo
283
- result = Memo::Create2.(params: {text: "Punk is not dead!"})
280
+ result = FastTrack::Memo::Create2.(params: {text: "Punk is not dead!"})
284
281
  result.success?.must_equal true
285
282
  result[:model].id.must_equal 1
286
283
  result[:errors].must_be_nil
@@ -4,7 +4,7 @@ require 'trailblazer/operation/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "trailblazer-operation"
7
- spec.version = Trailblazer::Operation::VERSION
7
+ spec.version = Trailblazer::Version::Operation::VERSION
8
8
  spec.authors = ["Nick Sutterer"]
9
9
  spec.email = ["apotonick@gmail.com"]
10
10
  spec.description = %q(Trailblazer's operation object.)
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.2.6", "< 1.0.0"
20
+ spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.3.1", "< 1.0.0"
21
21
  spec.add_dependency "trailblazer-activity", ">= 0.10.0", "< 1.0.0"
22
22
  spec.add_dependency "trailblazer-developer", ">= 0.0.8"
23
23
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-operation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.6
19
+ version: 0.3.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.2.6
29
+ version: 0.3.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.0
@@ -138,7 +138,6 @@ files:
138
138
  - lib/trailblazer/operation.rb
139
139
  - lib/trailblazer/operation/callable.rb
140
140
  - lib/trailblazer/operation/class_dependencies.rb
141
- - lib/trailblazer/operation/container.rb
142
141
  - lib/trailblazer/operation/deprecated_macro.rb
143
142
  - lib/trailblazer/operation/public_call.rb
144
143
  - lib/trailblazer/operation/railway.rb
@@ -155,7 +154,6 @@ files:
155
154
  - test/docs/macaroni_test.rb
156
155
  - test/docs/operation_test.rb
157
156
  - test/docs/wiring_test.rb
158
- - test/dry_container_test.rb
159
157
  - test/fast_track_test.rb
160
158
  - test/gemfiles/Gemfile.ruby-1.9
161
159
  - test/gemfiles/Gemfile.ruby-2.0
@@ -208,7 +206,6 @@ test_files:
208
206
  - test/docs/macaroni_test.rb
209
207
  - test/docs/operation_test.rb
210
208
  - test/docs/wiring_test.rb
211
- - test/dry_container_test.rb
212
209
  - test/fast_track_test.rb
213
210
  - test/gemfiles/Gemfile.ruby-1.9
214
211
  - test/gemfiles/Gemfile.ruby-2.0
@@ -1,14 +0,0 @@
1
- module Trailblazer
2
- module Operation::Container
3
- def options_for_public_call(options={}, *containers)
4
- # generate the skill hash that embraces runtime options plus potential containers, the so called Runtime options.
5
- # This wrapping is supposed to happen once in the entire system.
6
-
7
- hash_transformer = ->(containers) { containers[0].to_hash } # FIXME: don't transform any containers into kw args.
8
-
9
- immutable_options = Trailblazer::Context::ContainerChain.new([options, *containers], to_hash: hash_transformer)
10
-
11
- Trailblazer::Context(immutable_options)
12
- end
13
- end
14
- end
@@ -1,25 +0,0 @@
1
- require "test_helper"
2
- require "dry/container"
3
-
4
- class DryContainerTest < Minitest::Spec
5
- my_container = Dry::Container.new
6
- my_container.register("user_repository", -> { Object })
7
- my_container.namespace("contract") do
8
- register("create") { Array }
9
- end
10
-
11
- class Create < Trailblazer::Operation
12
- extend Trailblazer::Operation::Container
13
- end
14
-
15
- it "allows 2.2 call style" do
16
- Create.({}, my_container)["user_repository"].must_equal Object
17
- end
18
-
19
- it { Create.({}, {}, my_container)["user_repository"].must_equal Object }
20
- it { Create.({}, {}, my_container)["contract.create"].must_equal Array }
21
- # also allows our own options PLUS containers.
22
- it { Create.({}, {"model" => String}, my_container)["model"].must_equal String }
23
- it { Create.({}, {"model" => String}, my_container)["user_repository"].must_equal Object }
24
- it { Create.({}, {"user_repository" => Integer}, my_container)["user_repository"].must_equal Integer }
25
- end