diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-28 14:48:40 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-28 14:48:40 +0200 |
commit | a65efbf0ca7bfad96b0f271796d04d789d45b051 (patch) | |
tree | d11998eadf0964459d37967accf3e5f69acd2aeb /examples/board.rb | |
parent | 77ea8b7e2db38877bc9e48336778b3d6906791b5 (diff) | |
download | edoors-ruby-a65efbf0ca7bfad96b0f271796d04d789d45b051.zip edoors-ruby-a65efbf0ca7bfad96b0f271796d04d789d45b051.tar.gz |
add examples board, JSON ready
Diffstat (limited to 'examples/board.rb')
-rw-r--r-- | examples/board.rb | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/examples/board.rb b/examples/board.rb index b76679f..7ba7310 100644 --- a/examples/board.rb +++ b/examples/board.rb @@ -6,16 +6,29 @@ # run this script which builds the example system and spin it untill it's empty: # $ ruby -Ilib examples/links.rb # +# or load the system from a JSON specification ( created with dom0.hibernate! ) +# $ ruby -Ilib bin/edoors.rb -r examples/board.rb examples/board.json +# +# require 'edoors' # class FileReader < Edoors::Door # - def initialize n, p, path + def initialize n, p, path=nil super n, p - @file = File.open(path,'r') + @filepath = path unless path.nil? + end + # + def hibernate! + {'filepath'=>@filepath} + end + # + def resume! o + @filepath = o['filepath'] end # def start! + @file = File.open(@filepath,'r') # stimulate myself on system boot up send_p require_p(Edoors::Particle), Edoors::ACT_GET end @@ -32,7 +45,7 @@ class FileReader < Edoors::Door # see Room#_send and Room#_try_links send_p p # stimulate myself - start! + send_p require_p(Edoors::Particle), Edoors::ACT_GET end end end @@ -110,6 +123,11 @@ if $0 == __FILE__ # schedule the spinning particles untill the system cools down dom0.spin! # + # you can save the system state after it's run, + # but to be able to use it to bootstrap, the hibernation attribute must be set to false + # otherwise start! method is not called + # dom0.hibernate! 'board.json' + # end # # EOF |