ntl-actor 1.1.0 → 1.1.1

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
  SHA1:
3
- metadata.gz: 34237e060f184d1c210821d69dd254831d659e8a
4
- data.tar.gz: 4c7b69ea47f9697489b6532dbbc1685a08d5696e
3
+ metadata.gz: 7f477b99919f0345a6bf01e65d8c47f43fb3400c
4
+ data.tar.gz: 81979846d1ae06d09b47b340fccd45b037a10aae
5
5
  SHA512:
6
- metadata.gz: 894647ffcc52aa656d4f91054ef2bfe175fafd45d9e9ffa54504624c1f87f51e3fa84131efb2e689a573e4364a031d224332b62b76c275bc5f57625da3e64043
7
- data.tar.gz: 804cbe31ba1d237e699a90cb6291281daebaca721c1395ba8389aafdb85e721fa6f8652e1e7ae55bdac0582d491babf335cd09b38098a698d4c346118a22929f
6
+ metadata.gz: bc2389bbfe57917464e092110e8e692949ce2ec2130805d584ed32e2b9291c5325da6ceeca3ea0e3b045dd410ccd4c6183a4ef27ed23b24b592c3fc5954018b5
7
+ data.tar.gz: 17cce730a998855e337fecba959baa85aff10fcfb477e2bdf26f08932ab8c42b9be6ac49d8283c74022bc6a6950065a73638d7056aba4feb4638dfe43545114d
data/lib/actor.rb CHANGED
@@ -36,6 +36,7 @@ require 'actor/module/dependencies/assertions'
36
36
  require 'actor/module/handler'
37
37
  require 'actor/module/handler/method_name'
38
38
  require 'actor/module/handler/macro'
39
+ require 'actor/module/handler/send_next_message'
39
40
  require 'actor/module/include_assertions'
40
41
  require 'actor/module/run_loop'
41
42
  require 'actor/module/start'
data/lib/actor/actor.rb CHANGED
@@ -10,6 +10,7 @@ module Actor
10
10
  extend Module::Start
11
11
  include Module::Dependencies
12
12
  include Module::Handler
13
+ include Module::Handler::SendNextMessage
13
14
  include Module::RunLoop
14
15
  include Module::SuspendResume
15
16
  end
@@ -15,16 +15,10 @@ module Actor
15
15
  handler_method = method handler_method_name
16
16
 
17
17
  if handler_method.arity == 0
18
- return_value = handler_method.()
18
+ handler_method.()
19
19
  else
20
- return_value = handler_method.(message)
20
+ handler_method.(message)
21
21
  end
22
-
23
- if Messaging::Message === return_value
24
- send.(return_value, address)
25
- end
26
-
27
- return_value
28
22
  end
29
23
  end
30
24
  end
@@ -0,0 +1,17 @@
1
+ module Actor
2
+ module Module
3
+ module Handler
4
+ module SendNextMessage
5
+ def handle message
6
+ return_value = super
7
+
8
+ if Messaging::Message === return_value
9
+ send.(return_value, address)
10
+ end
11
+
12
+ return_value
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -72,7 +72,7 @@ module Actor
72
72
  self.actor_count -= 1
73
73
 
74
74
  if actor_count.zero?
75
- Messages::Stop
75
+ send.(Messages::Stop, address)
76
76
  end
77
77
  end
78
78
 
@@ -82,9 +82,9 @@ module Actor
82
82
  self.actor_count -= 1
83
83
 
84
84
  if actor_count.zero?
85
- Messages::Stop
85
+ send.(Messages::Stop, address)
86
86
  else
87
- Messages::Shutdown
87
+ send.(Messages::Shutdown, address)
88
88
  end
89
89
  end
90
90
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ntl-actor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Ladd
@@ -46,6 +46,7 @@ files:
46
46
  - lib/actor/module/handler.rb
47
47
  - lib/actor/module/handler/macro.rb
48
48
  - lib/actor/module/handler/method_name.rb
49
+ - lib/actor/module/handler/send_next_message.rb
49
50
  - lib/actor/module/include_assertions.rb
50
51
  - lib/actor/module/run_loop.rb
51
52
  - lib/actor/module/start.rb