actioninteractor 0.2.0 → 0.2.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: f97f47174484834e5e39341900c7a91760664041393e05bbb006f2b144e05e1c
4
- data.tar.gz: bd8e7df376548d43e245bc86e939ffd853b22843fd2abf74819f108e01edc938
3
+ metadata.gz: 50aa89e85f82a36be6c208c040ad6658e72e5c97c17910715bad3b3a80dc3fce
4
+ data.tar.gz: 13e94c42cbd82290513a05bd5d265fa11c071db00f7d300e72a3d1fc778a96c9
5
5
  SHA512:
6
- metadata.gz: 20c5c68d896c830eb4e1a3e4a7104ae79e8d5bcd5a3471b5d091b2f252fe8fe2f5504cf3605403ed8b054308da0a27b1cac5395abf6d1ac5591b95c133af6a84
7
- data.tar.gz: eeb597af885f874170ae7c1f7009b446f90e74e5b725d2bf14d4251cc1327d0e5bd9839ceedd8ca24011d5d9512664e8d20cc862e4a2b946b1ccf03a207b2075
6
+ metadata.gz: 4652f87548ab82a699c1fff983d3ffc2bf7fe9007850ccd2640f1736ea7610fb952571065679d260b41dc272b79e7d6b289a63c795f7f8e0f315f3b9be3c2349
7
+ data.tar.gz: ff20e0e20695f355261633c972c75eb21a76bd7c34d7aa065056eaae936055007788b42f76a7998816dbecbf79212a42edd701876389c1291928d61f8dee434d
@@ -27,7 +27,7 @@ module ActionInteractor
27
27
 
28
28
  # Initialize with payload
29
29
  # Errors and Results data and initial state will be set.
30
- def initialize(payload)
30
+ def initialize(payload = {})
31
31
  @payload = payload
32
32
  @errors = payload[:errors] || Errors.new
33
33
  @results = payload[:results] || Results.new
@@ -40,7 +40,7 @@ module ActionInteractor
40
40
  def execute
41
41
  # if the interactor already finished execution, do nothing.
42
42
  return if finished?
43
- # if contract is not satisfied= (ex: payload is empty), mark as failure.
43
+ # if contract is not satisfied= (ex: payload is nil), mark as failure.
44
44
  return failure! if payload.nil?
45
45
  # (Implement some codes for the operation.)
46
46
 
@@ -108,13 +108,13 @@ module ActionInteractor
108
108
 
109
109
  class << self
110
110
  # Execute the operation with given payload.
111
- def execute(payload)
111
+ def execute(payload = {})
112
112
  new(payload).tap(&:execute)
113
113
  end
114
114
 
115
115
  # Execute the operation with given payload.
116
116
  # If there are some errors, ActionInteractor::ExeuctionError will be raised.
117
- def execute!(payload)
117
+ def execute!(payload = {})
118
118
  new(payload).tap(&:execute!)
119
119
  end
120
120
  end
@@ -13,7 +13,7 @@ module ActionInteractor
13
13
  attr_reader :interactors
14
14
 
15
15
  # Initialize with payload and an array for containing interactors.
16
- def initialize(payload)
16
+ def initialize(payload = {})
17
17
  super
18
18
  @interactors = []
19
19
  end
@@ -11,7 +11,7 @@ module ActionInteractor
11
11
 
12
12
  attr_reader :errors
13
13
 
14
- def_delegators :@errors, :clear, :keys, :values, :[], :empty?, :any?, :each, :each_pair
14
+ def_delegators :@errors, :clear, :keys, :values, :[], :empty?, :any?, :each_pair
15
15
 
16
16
  def initialize(*)
17
17
  @errors = {}
data/test/base_test.rb CHANGED
@@ -3,57 +3,48 @@ require_relative "../lib/actioninteractor"
3
3
 
4
4
  class BaseTest < Test::Unit::TestCase
5
5
  test "initialized successfully" do
6
- payload = {}
7
- interactor = ActionInteractor::Base.new(payload)
6
+ interactor = ActionInteractor::Base.new
8
7
  assert_equal(interactor.success?, false)
9
8
  assert_equal(interactor.finished?, false)
10
9
  assert_equal(interactor.errors.empty?, true)
11
10
  end
12
11
 
13
12
  test ".execute does not raise error" do
14
- payload = {}
15
- assert_nothing_raised { ActionInteractor::Base.execute(payload) }
13
+ assert_nothing_raised { ActionInteractor::Base.execute }
16
14
  end
17
15
 
18
16
  test ".execute returns an ActionInteractor::Base instance" do
19
- payload = {}
20
- interactor = ActionInteractor::Base.execute(payload)
17
+ interactor = ActionInteractor::Base.execute
21
18
  assert_instance_of(ActionInteractor::Base, interactor)
22
19
  end
23
20
 
24
21
  test ".execute! also returns an ActionInteractor::Base instance" do
25
- payload = {}
26
- interactor = ActionInteractor::Base.execute!(payload)
22
+ interactor = ActionInteractor::Base.execute!
27
23
  assert_instance_of(ActionInteractor::Base, interactor)
28
24
  end
29
25
 
30
26
  test "the result is an instance of ActionInteractor::Results" do
31
- payload = {}
32
- interactor = ActionInteractor::Base.execute(payload)
27
+ interactor = ActionInteractor::Base.execute
33
28
  assert_instance_of(ActionInteractor::Results, interactor.results)
34
29
  end
35
30
 
36
31
  test "#successful? is true" do
37
- payload = {}
38
- interactor = ActionInteractor::Base.execute(payload)
32
+ interactor = ActionInteractor::Base.execute
39
33
  assert interactor.successful?
40
34
  end
41
35
 
42
36
  test "#success? (alias) is true" do
43
- payload = {}
44
- interactor = ActionInteractor::Base.execute(payload)
37
+ interactor = ActionInteractor::Base.execute
45
38
  assert interactor.success?
46
39
  end
47
40
 
48
41
  test "#finished? is true" do
49
- payload = {}
50
- interactor = ActionInteractor::Base.execute(payload)
42
+ interactor = ActionInteractor::Base.execute
51
43
  assert interactor.finished?
52
44
  end
53
45
 
54
46
  test "#aborted? is true after #abort!" do
55
- payload = {}
56
- interactor = ActionInteractor::Base.new(payload)
47
+ interactor = ActionInteractor::Base.new
57
48
  interactor.abort!
58
49
  assert interactor.aborted?
59
50
  end
@@ -32,16 +32,14 @@ end
32
32
 
33
33
  class CompositeTest < Test::Unit::TestCase
34
34
  test "initialized successfully" do
35
- payload = {}
36
- interactor = ActionInteractor::Composite.new(payload)
35
+ interactor = ActionInteractor::Composite.new
37
36
  assert_equal(interactor.success?, false)
38
37
  assert_equal(interactor.finished?, false)
39
38
  assert_equal(interactor.errors.empty?, true)
40
39
  end
41
40
 
42
41
  test "add interactors" do
43
- payload = {}
44
- chief_interactor = ChiefInteractor.new(payload)
42
+ chief_interactor = ChiefInteractor.new
45
43
  cook_interactor = CookInteractor.new(interactor_name: "cook")
46
44
  arrange_interactor = ArrangeInteractor.new(interactor_name: "arrange")
47
45
  chief_interactor.add(cook_interactor)
@@ -51,8 +49,7 @@ class CompositeTest < Test::Unit::TestCase
51
49
  end
52
50
 
53
51
  test "remove interactor" do
54
- payload = {}
55
- chief_interactor = ChiefInteractor.new(payload)
52
+ chief_interactor = ChiefInteractor.new
56
53
  cook_interactor = CookInteractor.new(interactor_name: "cook")
57
54
  arrange_interactor = ArrangeInteractor.new(interactor_name: "arrange")
58
55
  chief_interactor.add(cook_interactor)
@@ -63,8 +60,7 @@ class CompositeTest < Test::Unit::TestCase
63
60
  end
64
61
 
65
62
  test "successful in executing all interactors" do
66
- payload = {}
67
- chief_interactor = ChiefInteractor.new(payload)
63
+ chief_interactor = ChiefInteractor.new
68
64
  cook_interactor = CookInteractor.new(interactor_name: "cook")
69
65
  arrange_interactor = ArrangeInteractor.new(interactor_name: "arrange")
70
66
  chief_interactor.add(cook_interactor)
@@ -76,8 +72,7 @@ class CompositeTest < Test::Unit::TestCase
76
72
  end
77
73
 
78
74
  test "failure in executing the last interactor" do
79
- payload = {}
80
- chief_interactor = ChiefInteractor.new(payload)
75
+ chief_interactor = ChiefInteractor.new
81
76
  cook_interactor = CookInteractor.new(interactor_name: "cook")
82
77
  arrange_interactor = ArrangeInteractor.new(interactor_name: "arrange", broken_dish: true)
83
78
  chief_interactor.add(cook_interactor)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actioninteractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Hashimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-04 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  - !ruby/object:Gem::Version
94
94
  version: 1.8.11
95
95
  requirements: []
96
- rubygems_version: 3.0.3
96
+ rubygems_version: 3.1.4
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: Action Interactor provides a simple interface for performing operations (part