ntl-actor 1.1.0 → 1.1.1

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