service_actor 3.2.0 → 3.3.0

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: 8bde0ceb526951927f7349b5bd80dc2d6ca036e40e7dbc3ca98bc027f47fbd4c
4
- data.tar.gz: cd90e8762fe61eccd643fcdb318ebb27b79a561dbc8075ae4e2c802734ace9f7
3
+ metadata.gz: b1cffe28ea4e94682af7f8ee771ad803134e80ce17a9230552d13b4c169b20c7
4
+ data.tar.gz: 179b2cbf950872b1dbf46d3bd3b24bafbbc3bbb8cd32574f4dbad6a361958abd
5
5
  SHA512:
6
- metadata.gz: 2cddbccf7794088dc4a25b011cdb1155d0b6e855abd4a83630402ec90d4fe2f6c4c7fa4a0935ddca7faee58e49b2ff3d1f9f99b430c76dcc2990452d06d16ded
7
- data.tar.gz: 81444f049effd685780bd4904c3513c7d7adf220c2ecf4ca6a3bf18e077d1b207786f6b85eeb02597e23700bf2a661c3a83f2c4602333bf85c6adf7e810652ef
6
+ metadata.gz: 1e2804c9d25b20b853300d59976075c5ab451670b7e0b05986507e3e07fe9295efa79d3de34ef2d96a59a2f64154bebd4a88a5726ee308dbaed17c5fac2aa3a5
7
+ data.tar.gz: 5fc857d43785fe5c6bf5c3723dd91253f4e914f6dccfffc0c258504e306bd4ebc3992ef72a6d37ccc70b4420fba0f86da51165e5fbf0d153b3d64ba9c5bfb18d
@@ -22,7 +22,7 @@ module ServiceActor
22
22
 
23
23
  if input.key?(:default)
24
24
  default = input[:default]
25
- default = default.call if default.respond_to?(:call)
25
+ default = default.call if default.is_a?(Proc)
26
26
  result[name] = default
27
27
  next
28
28
  end
@@ -17,9 +17,7 @@ module ServiceActor
17
17
 
18
18
  module ClassMethods
19
19
  def play(*actors, **options)
20
- actors.each do |actor|
21
- play_actors.push({ actor: actor, **options })
22
- end
20
+ play_actors.push(actors: actors, **options)
23
21
  end
24
22
 
25
23
  def play_actors
@@ -29,9 +27,7 @@ module ServiceActor
29
27
  def inherited(child)
30
28
  super
31
29
 
32
- play_actors.each do |actor|
33
- child.play_actors << actor
34
- end
30
+ child.play_actors.concat(play_actors)
35
31
  end
36
32
  end
37
33
 
@@ -40,7 +36,7 @@ module ServiceActor
40
36
  self.class.play_actors.each do |options|
41
37
  next if options[:if] && !options[:if].call(result)
42
38
 
43
- play_actor(options[:actor])
39
+ options[:actors].each { |actor| play_actor(actor) }
44
40
  end
45
41
  rescue Failure
46
42
  rollback
@@ -48,9 +44,9 @@ module ServiceActor
48
44
  end
49
45
 
50
46
  def rollback
51
- return unless defined?(@played)
47
+ return unless defined?(@played_actors)
52
48
 
53
- @played.each do |actor|
49
+ @played_actors.each do |actor|
54
50
  next unless actor.respond_to?(:rollback)
55
51
 
56
52
  actor.rollback
@@ -61,7 +57,7 @@ module ServiceActor
61
57
 
62
58
  def play_actor(actor)
63
59
  play_service_actor(actor) ||
64
- play_symbol(actor) ||
60
+ play_method(actor) ||
65
61
  play_interactor(actor) ||
66
62
  actor.call(result)
67
63
  end
@@ -73,10 +69,10 @@ module ServiceActor
73
69
  actor = actor.new(result)
74
70
  actor._call
75
71
 
76
- (@played ||= []).unshift(actor)
72
+ (@played_actors ||= []).unshift(actor)
77
73
  end
78
74
 
79
- def play_symbol(actor)
75
+ def play_method(actor)
80
76
  return unless actor.is_a?(Symbol)
81
77
 
82
78
  send(actor)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ServiceActor
4
- VERSION = "3.2.0"
4
+ VERSION = "3.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: service_actor
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sunny Ripert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-11 00:00:00.000000000 Z
11
+ date: 2022-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec