service_actor 3.2.0 → 3.3.0

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