summaryrefslogtreecommitdiffstats
path: root/lib/iotas/door.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-06-03 10:18:12 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-06-03 10:18:12 +0200
commit6e400f6016a8e335c8482a8ae1802c4a76662892 (patch)
tree1ae040e59456c8ce42b275b82b02823e95f53a2f /lib/iotas/door.rb
parentd15d685884db41c7480f30c201d7303de8c55788 (diff)
downloadedoors-ruby-6e400f6016a8e335c8482a8ae1802c4a76662892.zip
edoors-ruby-6e400f6016a8e335c8482a8ae1802c4a76662892.tar.gz
simplify Particle@dst life cycle
Partilce#dst_reached! is removed Particle#init! set @dst=nil Door#send_ calls Particle#set_dst if parameters are provided
Diffstat (limited to 'lib/iotas/door.rb')
-rw-r--r--lib/iotas/door.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/iotas/door.rb b/lib/iotas/door.rb
index 7d57b1c..da4f498 100644
--- a/lib/iotas/door.rb
+++ b/lib/iotas/door.rb
@@ -70,18 +70,21 @@ module Iotas
@spin.release_p p
end
#
- def send_p p, a=nil
+ def _send sys, p, a=nil, d=nil
p.init! self
- p.set_dst! a, self if a
+ p.set_dst! a, d||self if a
@saved=nil if @saved==p # particle is sent back the data, all is good
- @parent.send_p p # daddy will know what to do
+ # daddy will know what to do
+ sys ? @parent.send_sys_p(p) : @parent.send_p(p)
end
+ private :_send
#
- def send_sys_p p, a=nil
- p.init! self
- p.set_dst! a, self if a
- @saved=nil if @saved==p # particle is sent back the data, all is good
- @parent.send_sys_p p # daddy will know what to do
+ def send_p p, a=nil, d=nil
+ _send false, p, a, d
+ end
+ #
+ def send_sys_p p, a=nil, d=nil
+ _send true, p, a, d
end
#
end