summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock4
-rw-r--r--README.md4
-rw-r--r--edoors-ruby.gemspec (renamed from iotas.gemspec)6
-rw-r--r--lib/edoors.rb (renamed from lib/iotas.rb)24
-rw-r--r--lib/edoors/board.rb (renamed from lib/iotas/board.rb)18
-rw-r--r--lib/edoors/door.rb (renamed from lib/iotas/door.rb)14
-rw-r--r--lib/edoors/iota.rb (renamed from lib/iotas/iota.rb)16
-rw-r--r--lib/edoors/link.rb (renamed from lib/iotas/link.rb)18
-rw-r--r--lib/edoors/particle.rb (renamed from lib/iotas/particle.rb)32
-rw-r--r--lib/edoors/room.rb (renamed from lib/iotas/room.rb)38
-rw-r--r--lib/edoors/spin.rb (renamed from lib/iotas/spin.rb)20
-rw-r--r--lib/version.rb10
-rw-r--r--spec/board_spec.rb32
-rw-r--r--spec/door_spec.rb30
-rw-r--r--spec/link_spec.rb22
-rw-r--r--spec/particle_spec.rb80
-rw-r--r--spec/room_spec.rb236
-rw-r--r--spec/spec_helper.rb4
-rw-r--r--spec/spin_spec.rb86
-rw-r--r--spec/spot_spec.rb10
-rw-r--r--test/test_iotas.rb54
22 files changed, 380 insertions, 380 deletions
diff --git a/Gemfile b/Gemfile
index 52e76bc..0fed6fa 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,5 @@
source "http://rubygems.org"
-# gem's dependencies are in iotas.gemspec
+# gem's dependencies are in edoors-ruby.gemspec
gemspec
diff --git a/Gemfile.lock b/Gemfile.lock
index 9aa3532..56209f7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- iotas (0.0.1)
+ edoors-ruby (0.0.1)
json
GEM
@@ -23,6 +23,6 @@ PLATFORMS
ruby
DEPENDENCIES
- iotas!
+ edoors-ruby!
rake
rspec (~> 2.6)
diff --git a/README.md b/README.md
index 0c097ed..b6ed27d 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# iotas
+# edoors-ruby
by Jérémy Zurcher
http://asynk.ch
@@ -7,7 +7,7 @@
* a ruby rewrite of [evenja](http://www.revena.com/evenja) C++ application framework concept
## FEATURES/PROBLEMS:
-[![Build Status](https://secure.travis-ci.org/jeremyz/iotas.png)](http://travis-ci.org/jeremyz/iotas)
+[![Build Status](https://secure.travis-ci.org/jeremyz/edoors-ruby.png)](http://travis-ci.org/jeremyz/edoors-ruby)
## SYNOPSIS:
diff --git a/iotas.gemspec b/edoors-ruby.gemspec
index e9afddf..7d63d63 100644
--- a/iotas.gemspec
+++ b/edoors-ruby.gemspec
@@ -5,11 +5,11 @@ $:.push File.expand_path("../lib", __FILE__)
require 'version'
#
Gem::Specification.new do |s|
- s.name = "iotas"
- s.version = Iotas::VERSION
+ s.name = "edoors-ruby"
+ s.version = Edoors::VERSION
s.authors = ["Jérémy Zurcher"]
s.email = ["jeremy@asynk.ch"]
- s.homepage = "http://github.com/jeremyz/iotas"
+ s.homepage = "http://github.com/jeremyz/edoors-ruby"
s.summary = %q{ruby rewrite of C++ application framework evenja (http://www.revena.com/evenja)}
s.description = %q{Evenja propose a data centric paradigm. A traditional programm composed of many functions
is decomposed into small autonomous modifications applied on the data implemented in different instances of Door base class.
diff --git a/lib/iotas.rb b/lib/edoors.rb
index fe837b4..949d4a4 100644
--- a/lib/iotas.rb
+++ b/lib/edoors.rb
@@ -3,24 +3,24 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
require 'version'
#
-module Iotas
+module Edoors
#
PATH_SEP = '/'.freeze
LINK_SEP = ','.freeze
@@ -40,12 +40,12 @@ module Iotas
end
#
require 'json'
-require 'iotas/particle'
-require 'iotas/iota'
-require 'iotas/room'
-require 'iotas/spin'
-require 'iotas/door'
-require 'iotas/board'
-require 'iotas/link'
+require 'edoors/particle'
+require 'edoors/iota'
+require 'edoors/room'
+require 'edoors/spin'
+require 'edoors/door'
+require 'edoors/board'
+require 'edoors/link'
#
# EOF
diff --git a/lib/iotas/board.rb b/lib/edoors/board.rb
index 9371354..a837512 100644
--- a/lib/iotas/board.rb
+++ b/lib/edoors/board.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
ACT_FOLLOW = 'follow'.freeze
#
@@ -39,10 +39,10 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
board = self.new o['name'], o['parent']
o['postponed'].each do |link_value,particle|
- board.process_p Iotas::Particle.json_create(particle.merge!('spin'=>board.spin))
+ board.process_p Edoors::Particle.json_create(particle.merge!('spin'=>board.spin))
end
board.resume! o
board
@@ -50,11 +50,11 @@ module Iotas
#
def process_p p
@viewer.receive_p p if @viewer
- if p.action!=Iotas::ACT_ERROR
+ if p.action!=Edoors::ACT_ERROR
p2 = @postponed[p.link_value] ||= p
return if p2==p
@postponed.delete p.link_value
- p,p2 = p2,p if p.action==Iotas::ACT_FOLLOW
+ p,p2 = p2,p if p.action==Edoors::ACT_FOLLOW
p.merge! p2
end
@saved = p
diff --git a/lib/iotas/door.rb b/lib/edoors/door.rb
index da4f498..ecbf4a9 100644
--- a/lib/iotas/door.rb
+++ b/lib/edoors/door.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
class Door < Iota
#
@@ -36,7 +36,7 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
door = self.new o['name'], o['parent']
door.resume! o
door
@@ -53,7 +53,7 @@ module Iotas
#
def garbage
puts " ! #{path} didn't give back #{@saved}" if @spin.debug_errors
- puts "\t#{@saved.data Iotas::FIELD_ERROR_MSG}" if @saved.action==Iotas::ACT_ERROR
+ puts "\t#{@saved.data Edoors::FIELD_ERROR_MSG}" if @saved.action==Edoors::ACT_ERROR
release_p @saved
@saved = nil
end
diff --git a/lib/iotas/iota.rb b/lib/edoors/iota.rb
index 133a6dd..47a2eb6 100644
--- a/lib/iotas/iota.rb
+++ b/lib/edoors/iota.rb
@@ -3,36 +3,36 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
class Iota
#
def initialize n, p
- raise Iotas::Exception.new "Iota name #{n} is not valid" if n.include? Iotas::PATH_SEP
+ raise Edoors::Exception.new "Iota name #{n} is not valid" if n.include? Edoors::PATH_SEP
@name = n # unique in it's room
@parent = p # single direct parent
@viewer = nil # particle going through that position will be sent there readonly
- @path = ( @parent ? @parent.path+Iotas::PATH_SEP : '') + @name
+ @path = ( @parent ? @parent.path+Edoors::PATH_SEP : '') + @name
@spin = ( @parent ? @parent.spin : self )
if @parent
@parent.add_iota self
- @spin.add_to_world self if @spin.is_a? Iotas::Spin
+ @spin.add_to_world self if @spin.is_a? Edoors::Spin
end
end
#
diff --git a/lib/iotas/link.rb b/lib/edoors/link.rb
index 073ca1f..b6a3fb9 100644
--- a/lib/iotas/link.rb
+++ b/lib/edoors/link.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
LNK_SRC = 'edoors_lnk_src'.freeze
LNK_DSTS = 'edoors_lnk_dsts'.freeze
@@ -50,14 +50,14 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
self.new o['src'], o['dsts'], o['fields'], o['cond_fields'], o['cond_value']
end
#
def self.from_particle_data p
- Iotas::Link.new(p.get_data(Iotas::LNK_SRC), p.get_data(Iotas::LNK_DSTS),
- p.get_data(Iotas::LNK_FIELDS), p.get_data(Iotas::LNK_CONDF),
- p.get_data(Iotas::LNK_CONDV))
+ Edoors::Link.new(p.get_data(Edoors::LNK_SRC), p.get_data(Edoors::LNK_DSTS),
+ p.get_data(Edoors::LNK_FIELDS), p.get_data(Edoors::LNK_CONDF),
+ p.get_data(Edoors::LNK_CONDV))
end
#
attr_accessor :door
diff --git a/lib/iotas/particle.rb b/lib/edoors/particle.rb
index 79cebfb..c17f551 100644
--- a/lib/iotas/particle.rb
+++ b/lib/edoors/particle.rb
@@ -3,24 +3,24 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
require 'time'
#
-module Iotas
+module Edoors
#
class Particle
#
@@ -71,7 +71,7 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
self.new o
end
#
@@ -104,22 +104,22 @@ module Iotas
end
#
def add_dsts dsts
- dsts.split(Iotas::LINK_SEP).each do |dst|
- if dst.empty? or dst[0]==Iotas::PATH_SEP or dst[0]==Iotas::PATH_SEP or dst=~/\/\?/\
- or dst=~/\/{2,}/ or dst=~/\s+/ or dst==Iotas::ACT_SEP
- raise Iotas::Exception.new "destination #{dst} is not acceptable"
+ dsts.split(Edoors::LINK_SEP).each do |dst|
+ if dst.empty? or dst[0]==Edoors::PATH_SEP or dst[0]==Edoors::PATH_SEP or dst=~/\/\?/\
+ or dst=~/\/{2,}/ or dst=~/\s+/ or dst==Edoors::ACT_SEP
+ raise Edoors::Exception.new "destination #{dst} is not acceptable"
end
@dsts << dst
end
end
#
def add_dst a, d=''
- add_dsts d+Iotas::ACT_SEP+a
+ add_dsts d+Edoors::ACT_SEP+a
end
#
def set_dst! a, d
@action = a
- if d.is_a? Iotas::Iota
+ if d.is_a? Edoors::Iota
@dst = d
else
_split_path! d
@@ -129,12 +129,12 @@ module Iotas
def split_dst!
@dst = @room = @door = @action = nil
return if (n = next_dst).nil?
- p, @action = n.split Iotas::ACT_SEP
+ p, @action = n.split Edoors::ACT_SEP
_split_path! p
end
#
def _split_path! p
- i = p.rindex Iotas::PATH_SEP
+ i = p.rindex Edoors::PATH_SEP
if i.nil?
@room = nil
@door = p
@@ -152,9 +152,9 @@ module Iotas
end
#
def error! e, dst=nil
- @action = Iotas::ACT_ERROR
+ @action = Edoors::ACT_ERROR
@dst = dst||@src
- @payload[Iotas::FIELD_ERROR_MSG]=e
+ @payload[Edoors::FIELD_ERROR_MSG]=e
end
#
def apply_link! lnk
diff --git a/lib/iotas/room.rb b/lib/edoors/room.rb
index 7ffc5f4..1c855c1 100644
--- a/lib/iotas/room.rb
+++ b/lib/edoors/room.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
ERROR_ROUTE_NS = 'routing error: no source'.freeze
ERROR_ROUTE_RRWD = 'routing error: right room, wrong door'.freeze
@@ -45,29 +45,29 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
room = self.new o['name'], o['parent']
o['iotas'].each do |name,iota|
eval( iota['kls'] ).json_create(iota.merge!('parent'=>room))
end
o['links'].each do |src,links|
links.each do |link|
- room.add_link Iotas::Link.json_create(link)
+ room.add_link Edoors::Link.json_create(link)
end
end
room
end
#
def add_iota s
- raise Iotas::Exception.new "Iota #{s.name} already has #{s.parent.name} as parent" if not s.parent.nil? and s.parent!=self
- raise Iotas::Exception.new "Iota #{s.name} already exists in #{path}" if @iotas.has_key? s.name
+ raise Edoors::Exception.new "Iota #{s.name} already has #{s.parent.name} as parent" if not s.parent.nil? and s.parent!=self
+ raise Edoors::Exception.new "Iota #{s.name} already exists in #{path}" if @iotas.has_key? s.name
s.parent = self if s.parent.nil?
@iotas[s.name]=s
end
#
def add_link l
l.door = @iotas[l.src]
- raise Iotas::Exception.new "Link source #{l.src} does not exist in #{path}" if l.door.nil?
+ raise Edoors::Exception.new "Link source #{l.src} does not exist in #{path}" if l.door.nil?
(@links[l.src] ||= [])<< l
end
#
@@ -124,12 +124,12 @@ module Iotas
if door = @iotas[p.door]
p.dst_routed! door
else
- p.error! Iotas::ERROR_ROUTE_RRWD
+ p.error! Edoors::ERROR_ROUTE_RRWD
end
- elsif door = @spin.search_world(p.room+Iotas::PATH_SEP+p.door)
+ elsif door = @spin.search_world(p.room+Edoors::PATH_SEP+p.door)
p.dst_routed! door
else
- p.error! Iotas::ERROR_ROUTE_DNE
+ p.error! Edoors::ERROR_ROUTE_DNE
end
end
private :_route
@@ -137,7 +137,7 @@ module Iotas
def _send sys, p
if not sys and p.src.nil?
# do not route non system orphan particles !!
- p.error! Iotas::ERROR_ROUTE_NS, @spin
+ p.error! Edoors::ERROR_ROUTE_NS, @spin
elsif p.dst
# direct routing through pointer
return
@@ -157,7 +157,7 @@ module Iotas
elsif not sys and _try_links p
return
else
- p.error!( sys ? Iotas::ERROR_ROUTE_SND : Iotas::ERROR_ROUTE_NDNL)
+ p.error!( sys ? Edoors::ERROR_ROUTE_SND : Edoors::ERROR_ROUTE_NDNL)
end
end
private :_send
@@ -165,20 +165,20 @@ module Iotas
def send_p p
puts " * send_p #{(p.next_dst.nil? ? 'no dst' : p.next_dst)} ..." if @spin.debug_routing
_send false, p
- puts " -> #{p.dst.path}#{Iotas::ACT_SEP}#{p.action}" if @spin.debug_routing
+ puts " -> #{p.dst.path}#{Edoors::ACT_SEP}#{p.action}" if @spin.debug_routing
@spin.post_p p
end
#
def send_sys_p p
puts " * send_sys_p #{(p.next_dst.nil? ? 'no dst' : p.next_dst)} ..." if @spin.debug_routing
_send true, p
- puts " -> #{p.dst.path}#{Iotas::ACT_SEP}#{p.action}" if @spin.debug_routing
+ puts " -> #{p.dst.path}#{Edoors::ACT_SEP}#{p.action}" if @spin.debug_routing
@spin.post_sys_p p
end
#
def process_sys_p p
- if p.action==Iotas::SYS_ACT_ADD_LINK
- add_link Iotas::Link.from_particle_data p
+ if p.action==Edoors::SYS_ACT_ADD_LINK
+ add_link Edoors::Link.from_particle_data p
end
@spin.release_p p
end
diff --git a/lib/iotas/spin.rb b/lib/edoors/spin.rb
index 1f3c180..2bb76f8 100644
--- a/lib/iotas/spin.rb
+++ b/lib/edoors/spin.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
class Spin < Room
#
@@ -39,13 +39,13 @@ module Iotas
#
if not o.empty?
o['iotas'].each do |name,iota|
- Iotas::Room.json_create(iota.merge!('parent'=>self))
+ Edoors::Room.json_create(iota.merge!('parent'=>self))
end if o['iotas']
o['app_fifo'].each do |particle|
- @app_fifo << Iotas::Particle.json_create(particle.merge!('spin'=>self))
+ @app_fifo << Edoors::Particle.json_create(particle.merge!('spin'=>self))
end if o['app_fifo']
o['sys_fifo'].each do |particle|
- @sys_fifo << Iotas::Particle.json_create(particle.merge!('spin'=>self))
+ @sys_fifo << Edoors::Particle.json_create(particle.merge!('spin'=>self))
end if o['sys_fifo']
end
end
@@ -67,7 +67,7 @@ module Iotas
end
#
def self.json_create o
- raise Iotas::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
+ raise Edoors::Exception.new "JSON #{o['kls']} != #{self.name}" if o['kls'] != self.name
self.new o['name'], o
end
#
@@ -113,7 +113,7 @@ module Iotas
end
#
def process_sys_p p
- if p.action==Iotas::SYS_ACT_HIBERNATE
+ if p.action==Edoors::SYS_ACT_HIBERNATE
stop!
hibernate! p[FIELD_HIBERNATE_PATH]
else
diff --git a/lib/version.rb b/lib/version.rb
index b4567e2..3430fcb 100644
--- a/lib/version.rb
+++ b/lib/version.rb
@@ -3,23 +3,23 @@
#
# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
#
-# This file is part of iotas.
+# This file is part of edoors-ruby.
#
-# iotas is free software: you can redistribute it and/or modify
+# edoors-ruby is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# iotas is distributed in the hope that it will be useful,
+# edoors-ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with iotas. If not, see <http://www.gnu.org/licenses/>.
+# along with edoors-ruby. If not, see <http://www.gnu.org/licenses/>.
#
-module Iotas
+module Edoors
#
VERSION = "0.0.4"
#
diff --git a/spec/board_spec.rb b/spec/board_spec.rb
index 0499778..7e291c6 100644
--- a/spec/board_spec.rb
+++ b/spec/board_spec.rb
@@ -4,10 +4,10 @@
require 'spec_helper'
#
-describe Iotas::Board do
+describe Edoors::Board do
#
before (:all) do
- @spin = Iotas::Spin.new 'dom0'
+ @spin = Edoors::Spin.new 'dom0'
end
#
before(:each) do
@@ -15,23 +15,23 @@ describe Iotas::Board do
end
#
it "require_p release_p" do
- board = Iotas::Board.new 'hell', @spin
- p0 = board.require_p Iotas::Particle
- p1 = board.require_p Iotas::Particle
+ board = Edoors::Board.new 'hell', @spin
+ p0 = board.require_p Edoors::Particle
+ p1 = board.require_p Edoors::Particle
(p0===p1).should be_false
board.release_p p0
- p2 = board.require_p Iotas::Particle
+ p2 = board.require_p Edoors::Particle
(p0===p2).should be_true
end
#
it "particle wait and merge" do
- p0 = Iotas::Particle.new
+ p0 = Edoors::Particle.new
p0['k0'] = 'v0'
p0['k1'] = 'neither'
p0['k2'] = 'v2'
p0.set_link_fields 'k0,k2'
p0.link_value.should eql 'v0v2'
- p1 = Iotas::Particle.new
+ p1 = Edoors::Particle.new
p1['k0'] = 'v0'
p1['k1'] = 'nore'
p1['k2'] = 'v2'
@@ -39,12 +39,12 @@ describe Iotas::Board do
p1.link_value.should eql 'v0v2'
P0 = p0
P1 = p1
- class Board0 < Iotas::Board
+ class Board0 < Edoors::Board
attr_reader :ok, :follow
def receive_p p
@ok = false
case p.action
- when Iotas::ACT_FOLLOW
+ when Edoors::ACT_FOLLOW
@follow = true
@ok = (p===P0 and p.merged(0)===P1)
else
@@ -65,9 +65,9 @@ describe Iotas::Board do
b0.process_p p0
p0.merged(0).should be_nil
# need to set it to p0 too, so case in Board0 is ok
- p0.add_dst Iotas::ACT_FOLLOW
+ p0.add_dst Edoors::ACT_FOLLOW
p0.split_dst!
- p1.add_dst Iotas::ACT_FOLLOW
+ p1.add_dst Edoors::ACT_FOLLOW
p1.split_dst!
b0.process_p p1
b0.ok.should be_true
@@ -75,14 +75,14 @@ describe Iotas::Board do
end
#
it "board->json->board" do
- board = Iotas::Board.new 'hell', @spin
- p0 = Iotas::Particle.new
- p1 = Iotas::Particle.new
+ board = Edoors::Board.new 'hell', @spin
+ p0 = Edoors::Particle.new
+ p1 = Edoors::Particle.new
p1['v0']=0
p1.set_link_fields 'v0'
board.process_p p0
board.process_p p1
- hell = Iotas::Board.json_create( JSON.load( JSON.generate(board) ) )
+ hell = Edoors::Board.json_create( JSON.load( JSON.generate(board) ) )
board.name.should eql hell.name
JSON.generate(board).should eql JSON.generate(hell)
end
diff --git a/spec/door_spec.rb b/spec/door_spec.rb
index 43b98a1..0c2dafe 100644
--- a/spec/door_spec.rb
+++ b/spec/door_spec.rb
@@ -4,10 +4,10 @@
require 'spec_helper'
#
-describe Iotas::Door do
+describe Edoors::Door do
#
before (:all) do
- @spin = Iotas::Spin.new 'dom0'
+ @spin = Edoors::Spin.new 'dom0'
end
#
before(:each) do
@@ -15,26 +15,26 @@ describe Iotas::Door do
end
#
it "require_p release_p" do
- door = Iotas::Door.new 'hell', @spin
- p0 = door.require_p Iotas::Particle
- p1 = door.require_p Iotas::Particle
+ door = Edoors::Door.new 'hell', @spin
+ p0 = door.require_p Edoors::Particle
+ p1 = door.require_p Edoors::Particle
(p0===p1).should be_false
door.release_p p0
- p2 = door.require_p Iotas::Particle
+ p2 = door.require_p Edoors::Particle
(p0===p2).should be_true
end
#
it "NoMethodError when receive_p not overridden" do
- class Door0 < Iotas::Door
+ class Door0 < Edoors::Door
end
f = Fake.new 'fake', @spin
d0 = Door0.new 'door0', f
- p0 = d0.require_p Iotas::Particle
+ p0 = d0.require_p Edoors::Particle
lambda { d0.process_p p0 }.should raise_error(NoMethodError)
end
#
it "send_p, send_sys_p, release_p and release of lost particles" do
- class Door0 < Iotas::Door
+ class Door0 < Edoors::Door
def receive_p p
case p.action
when 'RELEASE'
@@ -50,7 +50,7 @@ describe Iotas::Door do
end
f = Fake.new 'fake', @spin
d0 = Door0.new 'door0', f
- p0 = d0.require_p Iotas::Particle
+ p0 = d0.require_p Edoors::Particle
#
p0.add_dst 'SEND'
p0.split_dst!
@@ -67,25 +67,25 @@ describe Iotas::Door do
p0.add_dst 'RELEASE'
p0.split_dst!
d0.process_p p0
- p1 = d0.require_p Iotas::Particle
+ p1 = d0.require_p Edoors::Particle
p1.should be p0
p0.clear_dsts!
#
p0.add_dst 'LOST'
p0.split_dst!
d0.process_p p0
- p1 = d0.require_p Iotas::Particle
+ p1 = d0.require_p Edoors::Particle
p1.should be p0
p0.clear_dsts!
#
d0.process_sys_p p0
- p1 = @spin.require_p Iotas::Particle
+ p1 = @spin.require_p Edoors::Particle
p1.should be p0
end
#
it "door->json->door" do
- door = Iotas::Door.new 'hell', @spin
- hell = Iotas::Door.json_create( JSON.load( JSON.generate(door) ) )
+ door = Edoors::Door.new 'hell', @spin
+ hell = Edoors::Door.json_create( JSON.load( JSON.generate(door) ) )
door.name.should eql hell.name
JSON.generate(door).should eql JSON.generate(hell)
end
diff --git a/spec/link_spec.rb b/spec/link_spec.rb
index 6120677..0de1d93 100644
--- a/spec/link_spec.rb
+++ b/spec/link_spec.rb
@@ -4,17 +4,17 @@
require 'spec_helper'
#
-describe Iotas::Link do
+describe Edoors::Link do
#
it "from particle data" do
- @spin = Iotas::Spin.new 'dom0'
- p = @spin.require_p Iotas::Particle
- p.set_data Iotas::LNK_SRC, 'input1'
- p.set_data Iotas::LNK_DSTS, 'concat1?follow,output1'
- p.set_data Iotas::LNK_FIELDS, 'f0,f2'
- p.set_data Iotas::LNK_CONDF, 'f0,f1,f2'
- p.set_data Iotas::LNK_CONDV, 'v0v1v2'
- lnk = Iotas::Link.from_particle_data p
+ @spin = Edoors::Spin.new 'dom0'
+ p = @spin.require_p Edoors::Particle
+ p.set_data Edoors::LNK_SRC, 'input1'
+ p.set_data Edoors::LNK_DSTS, 'concat1?follow,output1'
+ p.set_data Edoors::LNK_FIELDS, 'f0,f2'
+ p.set_data Edoors::LNK_CONDF, 'f0,f1,f2'
+ p.set_data Edoors::LNK_CONDV, 'v0v1v2'
+ lnk = Edoors::Link.from_particle_data p
lnk.src.should eql 'input1'
lnk.dsts.should eql 'concat1?follow,output1'
lnk.fields.should eql 'f0,f2'
@@ -23,8 +23,8 @@ describe Iotas::Link do
end
#
it "link->json->link" do
- link = Iotas::Link.new 'input1', 'concat1?follow,output1', 'f0,f2', 'f0,f1,f2', 'v0v1v2'
- lnk = Iotas::Link.json_create( JSON.load( JSON.generate(link) ) )
+ link = Edoors::Link.new 'input1', 'concat1?follow,output1', 'f0,f2', 'f0,f1,f2', 'v0v1v2'
+ lnk = Edoors::Link.json_create( JSON.load( JSON.generate(link) ) )
link.src.should eql lnk.src
link.dsts.should eql lnk.dsts
link.fields.should eql lnk.fields
diff --git a/spec/particle_spec.rb b/spec/particle_spec.rb
index a10a9f9..b738343 100644
--- a/spec/particle_spec.rb
+++ b/spec/particle_spec.rb
@@ -4,10 +4,10 @@
require 'spec_helper'
#
-describe Iotas::Particle do
+describe Edoors::Particle do
#
it "payload manipulation" do
- p = Iotas::Particle.new
+ p = Edoors::Particle.new
#
p['key']=666
p['key'].should eql 666
@@ -21,10 +21,10 @@ describe Iotas::Particle do
end
#
it "payload clone" do
- p = Iotas::Particle.new
+ p = Edoors::Particle.new
p['k00'] = { 'k0'=>0,'k1'=>1}
p['k11'] = [1,2,3]
- o = Iotas::Particle.new
+ o = Edoors::Particle.new
o.clone_data p
p['k00']=nil
p['k00'].should be_nil
@@ -38,9 +38,9 @@ describe Iotas::Particle do
end
#
it "particle merge" do
- p = Iotas::Particle.new
- q = Iotas::Particle.new
- o = Iotas::Particle.new
+ p = Edoors::Particle.new
+ q = Edoors::Particle.new
+ o = Edoors::Particle.new
p.merge! q
p.merge! o
p.merged(0).should be q
@@ -60,9 +60,9 @@ describe Iotas::Particle do
end
#
it "routing: add_dsts, next_dst and dst_routed!" do
- p = Iotas::Particle.new
- d0 = Iotas::Door.new 'door0', nil
- d1 = Iotas::Door.new 'door1', nil
+ p = Edoors::Particle.new
+ d0 = Edoors::Door.new 'door0', nil
+ d1 = Edoors::Door.new 'door1', nil
p.dst.should be_nil
p.next_dst.should be_nil
p.add_dsts 'some?where,room0/room1/door?action,room/door,door'
@@ -79,24 +79,24 @@ describe Iotas::Particle do
end
#
it "wrong path should raise exeption" do
- p = Iotas::Particle.new
- lambda { p.add_dst 'action', '/room' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst 'action', 'room/' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst '', 'room/' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst 'action', 'room//door' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst ' ' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst ' ', '' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst 'f f' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst '', ' d' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst '' }.should raise_error(Iotas::Exception)
- lambda { p.add_dst '', '' }.should raise_error(Iotas::Exception)
+ p = Edoors::Particle.new
+ lambda { p.add_dst 'action', '/room' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst 'action', 'room/' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst '', 'room/' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst 'action', 'room//door' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst ' ' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst ' ', '' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst 'f f' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst '', ' d' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst '' }.should raise_error(Edoors::Exception)
+ lambda { p.add_dst '', '' }.should raise_error(Edoors::Exception)
lambda { p.add_dst nil }.should raise_error(TypeError)
lambda { p.add_dst 'action', nil }.should raise_error(NoMethodError)
end
#
it "routing: set_dst!" do
- p = Iotas::Particle.new
- d0 = Iotas::Door.new 'door0', nil
+ p = Edoors::Particle.new
+ d0 = Edoors::Door.new 'door0', nil
#
p.set_dst! 'action', d0
p.action.should eql 'action'
@@ -104,8 +104,8 @@ describe Iotas::Particle do
end
#
it "routing: add_dst and split_dst!" do
- p = Iotas::Particle.new
- d0 = Iotas::Door.new 'door0', nil
+ p = Edoors::Particle.new
+ d0 = Edoors::Door.new 'door0', nil
#
p.split_dst!
p.room.should be_nil
@@ -157,19 +157,19 @@ describe Iotas::Particle do
end
#
it "routing: error!" do
- p = Iotas::Particle.new
- d = Iotas::Door.new 'door', nil
+ p = Edoors::Particle.new
+ d = Edoors::Door.new 'door', nil
p.init! d
p.add_dsts 'door?action,?action'
p.next_dst.should eql 'door?action'
p.error! 'err_msg'
- p[Iotas::FIELD_ERROR_MSG].should eql 'err_msg'
- p.action.should eq Iotas::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql 'err_msg'
+ p.action.should eq Edoors::ACT_ERROR
p.dst.should be d
end
#
it "link fields and link value" do
- p = Iotas::Particle.new
+ p = Edoors::Particle.new
p['k0'] = 'v0'
p['k1'] = 'v1'
p['k2'] = 'v2'
@@ -182,7 +182,7 @@ describe Iotas::Particle do
end
#
it "apply_link!" do
- p = Iotas::Particle.new
+ p = Edoors::Particle.new
p['k0'] = 'v0'
p['k1'] = 'v1'
p['k2'] = 'v2'
@@ -191,7 +191,7 @@ describe Iotas::Particle do
p.src.should be_nil
p.link_value.should eql 'v0v2'
p.next_dst.should eql 'door?action'
- lnk = Iotas::Link.new('door0', 'door1?get,door2', 'k1', 'f0,f1', 'v0v1')
+ lnk = Edoors::Link.new('door0', 'door1?get,door2', 'k1', 'f0,f1', 'v0v1')
f = Fake.new 'fake', nil
lnk.door = f
p.apply_link! lnk
@@ -201,12 +201,12 @@ describe Iotas::Particle do
end
#
it "particle->json->particle" do
- s0 = Iotas::Spin.new 'top'
- s1 = Iotas::Room.new 'room0', s0
- s2 = Iotas::Room.new 'room1', s1
- s3 = Iotas::Door.new 'doora', s2
- s4 = Iotas::Door.new 'doorb', s1
- p0 = Iotas::Particle.new
+ s0 = Edoors::Spin.new 'top'
+ s1 = Edoors::Room.new 'room0', s0
+ s2 = Edoors::Room.new 'room1', s1
+ s3 = Edoors::Door.new 'doora', s2
+ s4 = Edoors::Door.new 'doorb', s1
+ p0 = Edoors::Particle.new
p0['k0'] = 'v0'
p0['k1'] = 'v1'
p0['k2'] = 'v2'
@@ -214,7 +214,7 @@ describe Iotas::Particle do
p0.set_link_fields 'k0,k2'
p0.add_dsts 'room0/room1/room2/doorX?myaction,door?action,?action'
p0.split_dst!
- p1 = Iotas::Particle.new
+ p1 = Edoors::Particle.new
p1['k3'] = 'v6'
p1['k4'] = 'v7'
p1['k5'] = 'v8'
@@ -225,7 +225,7 @@ describe Iotas::Particle do
p0.merge! p1
o = JSON.load( JSON.generate(p0) )
o['spin'] = s0
- px = Iotas::Particle.json_create( o )
+ px = Edoors::Particle.json_create( o )
((px.ts-p0.ts)<0.5).should be_true
px.src.should be s3
px.dst.should be_nil
diff --git a/spec/room_spec.rb b/spec/room_spec.rb
index de4b55e..1c994e2 100644
--- a/spec/room_spec.rb
+++ b/spec/room_spec.rb
@@ -4,10 +4,10 @@
require 'spec_helper'
#
-describe Iotas::Room do
+describe Edoors::Room do
#
before (:all) do
- @spin = Iotas::Spin.new 'dom0'
+ @spin = Edoors::Spin.new 'dom0'
end
#
before(:each) do
@@ -15,16 +15,16 @@ describe Iotas::Room do
end
#
it "add_iota and add_link correctly" do
- r0 = Iotas::Room.new 'room0', @spin
- d0 = Iotas::Door.new 'door0', r0
- lambda { Iotas::Door.new('door0', r0) }.should raise_error(Iotas::Exception)
- lambda { r0.add_iota Iotas::Door.new('door1', r0) }.should raise_error(Iotas::Exception)
- r0.add_link Iotas::Link.new 'door0', 'somewhere'
- lambda { r0.add_link(Iotas::Link.new('nowhere', 'somewhere')) }.should raise_error(Iotas::Exception)
+ r0 = Edoors::Room.new 'room0', @spin
+ d0 = Edoors::Door.new 'door0', r0
+ lambda { Edoors::Door.new('door0', r0) }.should raise_error(Edoors::Exception)
+ lambda { r0.add_iota Edoors::Door.new('door1', r0) }.should raise_error(Edoors::Exception)
+ r0.add_link Edoors::Link.new 'door0', 'somewhere'
+ lambda { r0.add_link(Edoors::Link.new('nowhere', 'somewhere')) }.should raise_error(Edoors::Exception)
end
#
it "start! and stop! should work" do
- r0 = Iotas::Room.new 'room0', @spin
+ r0 = Edoors::Room.new 'room0', @spin
d0 = Fake.new 'fake', r0
d0.start.should be_nil
d0.stop.should be_nil
@@ -37,11 +37,11 @@ describe Iotas::Room do
end
#
it "parent, spin and search_down should be ok" do
- r0 = Iotas::Room.new 'r0', @spin
- r1 = Iotas::Room.new 'r1', r0
- r2 = Iotas::Room.new 'r2', r1
- r3 = Iotas::Room.new 'r3', @spin
- r4 = Iotas::Room.new 'r4', r3
+ r0 = Edoors::Room.new 'r0', @spin
+ r1 = Edoors::Room.new 'r1', r0
+ r2 = Edoors::Room.new 'r2', r1
+ r3 = Edoors::Room.new 'r3', @spin
+ r4 = Edoors::Room.new 'r4', r3
r2.parent.should be r1
r1.parent.should be r0
r0.parent.should be @spin
@@ -59,9 +59,9 @@ describe Iotas::Room do
end
#
it "routing success (direct add_dst)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new( 'fake', @spin)
p.add_dst 'get', 'door0'
room0.send_p p
@@ -70,9 +70,9 @@ describe Iotas::Room do
end
#
it "routing success (direct send to self)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new( 'fake', @spin)
door0.send_p p, 'get'
p.action.should eql 'get'
@@ -80,9 +80,9 @@ describe Iotas::Room do
end
#
it "routing success (direct send to pointer)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new( 'fake', @spin)
door0.send_p p, 'get', door0
p.action.should eql 'get'
@@ -90,9 +90,9 @@ describe Iotas::Room do
end
#
it "routing success (direct send to path)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new( 'fake', @spin)
door0.send_p p, 'get', door0.path
p.action.should eql 'get'
@@ -100,10 +100,10 @@ describe Iotas::Room do
end
#
it "routing success through Spin@world" do
- room0 = Iotas::Room.new 'room0', @spin
- room1 = Iotas::Room.new 'room1', room0
- door0 = Iotas::Door.new 'door0', room1
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ room1 = Edoors::Room.new 'room1', room0
+ door0 = Edoors::Door.new 'door0', room1
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', @spin)
p.add_dst 'get', 'dom0/room0/room1/door0'
room0.send_p p
@@ -112,75 +112,75 @@ describe Iotas::Room do
end
#
it "route error: no source" do
- room = Iotas::Room.new 'room', @spin
- p = @spin.require_p Iotas::Particle
+ room = Edoors::Room.new 'room', @spin
+ p = @spin.require_p Edoors::Particle
p.add_dst 'get', 'room/door'
room.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_NS
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_NS
p.dst.should be room.spin
end
#
it "route error: no destination no links" do
- room = Iotas::Room.new 'room', @spin
- p = @spin.require_p Iotas::Particle
+ room = Edoors::Room.new 'room', @spin
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', @spin)
room.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_NDNL
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_NDNL
p.dst.should be p.src
end
#
it "route error: no rooom, wrong door -> right room wrong door" do
- room0 = Iotas::Room.new 'room0', @spin
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', @spin)
p.add_dst 'get', 'nodoor'
room0.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_RRWD
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_RRWD
p.dst.should be p.src
end
#
it "route error: right rooom, wrong door -> right room wrong door" do
- room0 = Iotas::Room.new 'room0', @spin
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', @spin)
p.add_dst 'get', 'dom0/room0/nodoor'
room0.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_RRWD
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_RRWD
p.dst.should be p.src
end
#
it "route error: right room, wrong door through Spin@world -> does not exists" do
- room0 = Iotas::Room.new 'room0', @spin
- room1 = Iotas::Room.new 'room1', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ room1 = Edoors::Room.new 'room1', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', room0)
p.add_dst 'get', 'dom0/room0/nodoor'
room1.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_DNE
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_DNE
p.dst.should be p.src
end
#
it "route error: wrong room, right door through Spin@world -> does not exists" do
- room0 = Iotas::Room.new 'room0', @spin
- room1 = Iotas::Room.new 'room1', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ room1 = Edoors::Room.new 'room1', room0
+ p = @spin.require_p Edoors::Particle
p.init! Fake.new('fake', @spin)
p.add_dst 'get', 'dom0/noroom/fake'
room1.send_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_DNE
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_DNE
p.dst.should be p.src
end
#
it "routing ~failure: no door name -> src" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
p.init! door0
p.add_dst 'get'
room0.send_p p
@@ -189,22 +189,22 @@ describe Iotas::Room do
end
#
it "routing success: unconditional link" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- door1 = Iotas::Door.new 'door1', room0
- room0.add_link Iotas::Link.new('door0', 'door1')
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ door1 = Edoors::Door.new 'door1', room0
+ room0.add_link Edoors::Link.new('door0', 'door1')
+ p = @spin.require_p Edoors::Particle
door0.send_p p
p.action.should be_nil
p.dst.should be door1
end
#
it "routing success: conditional link" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- door1 = Iotas::Door.new 'door1', room0
- room0.add_link Iotas::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v1')
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ door1 = Edoors::Door.new 'door1', room0
+ room0.add_link Edoors::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v1')
+ p = @spin.require_p Edoors::Particle
p['f0']='v0'
p['f1']='v1'
door0.send_p p
@@ -214,9 +214,9 @@ describe Iotas::Room do
end
#
it "routing success: more then one matching link" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- class Out < Iotas::Door
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ class Out < Edoors::Door
attr_reader :count
def receive_p p
@count||=0
@@ -224,10 +224,10 @@ describe Iotas::Room do
end
end
door1 = Out.new 'door1', room0
- room0.add_link Iotas::Link.new('door0', 'door1')
- room0.add_link Iotas::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v1')
- room0.add_link Iotas::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v2')
- p = @spin.require_p Iotas::Particle
+ room0.add_link Edoors::Link.new('door0', 'door1')
+ room0.add_link Edoors::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v1')
+ room0.add_link Edoors::Link.new('door0', 'door1', 'fields', 'f0,f1', 'v0v2')
+ p = @spin.require_p Edoors::Particle
p['f0']='v0'
p['f1']='v1'
door0.send_p p
@@ -236,55 +236,55 @@ describe Iotas::Room do
end
#
it "system route error: system no destination" do
- room0 = Iotas::Room.new 'room0', @spin
- p = @spin.require_p Iotas::Particle
+ room0 = Edoors::Room.new 'room0', @spin
+ p = @spin.require_p Edoors::Particle
room0.send_sys_p p
- p.action.should eql Iotas::ACT_ERROR
- p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_SND
+ p.action.should eql Edoors::ACT_ERROR
+ p[Edoors::FIELD_ERROR_MSG].should eql Edoors::ERROR_ROUTE_SND
end
#
it "system routing success: action only" do
- room0 = Iotas::Room.new 'room0', @spin
- p = @spin.require_p Iotas::Particle
- p.add_dst Iotas::SYS_ACT_ADD_LINK
+ room0 = Edoors::Room.new 'room0', @spin
+ p = @spin.require_p Edoors::Particle
+ p.add_dst Edoors::SYS_ACT_ADD_LINK
room0.send_sys_p p
- p.action.should eql Iotas::SYS_ACT_ADD_LINK
+ p.action.should eql Edoors::SYS_ACT_ADD_LINK
p.dst.should be room0.spin
end
#
it "system routing success (add_dst)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
- p.add_dst Iotas::SYS_ACT_ADD_LINK, 'dom0/room0/door0'
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
+ p.add_dst Edoors::SYS_ACT_ADD_LINK, 'dom0/room0/door0'
room0.send_sys_p p
- p.action.should eql Iotas::SYS_ACT_ADD_LINK
+ p.action.should eql Edoors::SYS_ACT_ADD_LINK
p.dst.should be door0
end
#
it "system routing success (send_sys_p)" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- p = @spin.require_p Iotas::Particle
- door0.send_sys_p p, Iotas::SYS_ACT_ADD_LINK
- p.action.should eql Iotas::SYS_ACT_ADD_LINK
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ p = @spin.require_p Edoors::Particle
+ door0.send_sys_p p, Edoors::SYS_ACT_ADD_LINK
+ p.action.should eql Edoors::SYS_ACT_ADD_LINK
p.dst.should be door0
end
#
it "SYS_ACT_ADD_LINK" do
- room0 = Iotas::Room.new 'room0', @spin
- door0 = Iotas::Door.new 'door0', room0
- door1 = Iotas::Door.new 'door1', room0
- p0 = @spin.require_p Iotas::Particle
- p0.set_data Iotas::LNK_SRC, 'door0'
- p0.set_data Iotas::LNK_DSTS, 'door1'
- p0.set_data Iotas::LNK_FIELDS, 'fields'
- p0.set_data Iotas::LNK_CONDF, 'f0,f1'
- p0.set_data Iotas::LNK_CONDV, 'v0v1'
- p0.add_dst Iotas::SYS_ACT_ADD_LINK, room0.path
+ room0 = Edoors::Room.new 'room0', @spin
+ door0 = Edoors::Door.new 'door0', room0
+ door1 = Edoors::Door.new 'door1', room0
+ p0 = @spin.require_p Edoors::Particle
+ p0.set_data Edoors::LNK_SRC, 'door0'
+ p0.set_data Edoors::LNK_DSTS, 'door1'
+ p0.set_data Edoors::LNK_FIELDS, 'fields'
+ p0.set_data Edoors::LNK_CONDF, 'f0,f1'
+ p0.set_data Edoors::LNK_CONDV, 'v0v1'
+ p0.add_dst Edoors::SYS_ACT_ADD_LINK, room0.path
room0.send_sys_p p0
@spin.spin!
- p = @spin.require_p Iotas::Particle
+ p = @spin.require_p Edoors::Particle
p['f0']='v0'
p['f1']='v1'
door0.send_p p
@@ -294,19 +294,19 @@ describe Iotas::Room do
end
#
it "room->json->room" do
- r0 = Iotas::Room.new 'r0', @spin
- r1 = Iotas::Room.new 'r1', r0
- r2 = Iotas::Room.new 'r2', r1
- r3 = Iotas::Room.new 'r3', r1
- r4 = Iotas::Room.new 'r4', r3
- d0 = Iotas::Door.new 'd0', r1
- d1 = Iotas::Door.new 'd1', r1
- d2 = Iotas::Door.new 'd2', r2
- r1.add_link Iotas::Link.new('d0', 'd1', 'fields', 'f0,f1', 'v0v1')
- r1.add_link Iotas::Link.new('d0', 'd2')
- r1.add_link Iotas::Link.new('d1', 'd0')
- r2.add_link Iotas::Link.new('d2', 'd1', 'fies', 'f5,f1', 'v9v1')
- rx = Iotas::Room.json_create( JSON.load( JSON.generate(r0) ) )
+ r0 = Edoors::Room.new 'r0', @spin
+ r1 = Edoors::Room.new 'r1', r0
+ r2 = Edoors::Room.new 'r2', r1
+ r3 = Edoors::Room.new 'r3', r1
+ r4 = Edoors::Room.new 'r4', r3
+ d0 = Edoors::Door.new 'd0', r1
+ d1 = Edoors::Door.new 'd1', r1
+ d2 = Edoors::Door.new 'd2', r2
+ r1.add_link Edoors::Link.new('d0', 'd1', 'fields', 'f0,f1', 'v0v1')
+ r1.add_link Edoors::Link.new('d0', 'd2')
+ r1.add_link Edoors::Link.new('d1', 'd0')
+ r2.add_link Edoors::Link.new('d2', 'd1', 'fies', 'f5,f1', 'v9v1')
+ rx = Edoors::Room.json_create( JSON.load( JSON.generate(r0) ) )
JSON.generate(r0).should eql JSON.generate(rx)
end#
#
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 5a549c5..0e500dd 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -9,9 +9,9 @@ begin
rescue LoadError
end
#
-require 'iotas'
+require 'edoors'
#
-class Fake < Iotas::Iota
+class Fake < Edoors::Iota
attr_reader :p, :sp, :start, :stop
def process_p p
@p = p
diff --git a/spec/spin_spec.rb b/spec/spin_spec.rb
index 69266e5..93ddf27 100644
--- a/spec/spin_spec.rb
+++ b/spec/spin_spec.rb
@@ -4,24 +4,24 @@
require 'spec_helper'
#
-describe Iotas::Spin do
+describe Edoors::Spin do
#
- class MyP < Iotas::Particle; end
+ class MyP < Edoors::Particle; end
#
it "Particles pool" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
- p1 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
+ p1 = spin.require_p Edoors::Particle
(p0===p1).should be_false
spin.release_p p0
- p2 = spin.require_p Iotas::Particle
+ p2 = spin.require_p Edoors::Particle
(p0===p2).should be_true
end
#
it "different Particles classes in pool" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
- p1 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
+ p1 = spin.require_p Edoors::Particle
(p0===p1).should be_false
spin.release_p p0
p2 = spin.require_p MyP
@@ -33,36 +33,36 @@ describe Iotas::Spin do
end
#
it "release of merged particles" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
- p1 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
+ p1 = spin.require_p Edoors::Particle
(p0===p1).should be_false
p0.merge! p1
spin.release_p p0
- p2 = spin.require_p Iotas::Particle
+ p2 = spin.require_p Edoors::Particle
(p2===p0).should be_true
- p3 = spin.require_p Iotas::Particle
+ p3 = spin.require_p Edoors::Particle
(p3===p1).should be_true
end
#
it "clear!" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
- p1 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
+ p1 = spin.require_p Edoors::Particle
spin.send_p p0
spin.release_p p1
spin.clear!
- p2 = spin.require_p Iotas::Particle
+ p2 = spin.require_p Edoors::Particle
(p2==p0).should be_false
(p2==p1).should be_false
end
#
it "post_p post_sys_p spin!" do
- spin = Iotas::Spin.new 'dom0'
+ spin = Edoors::Spin.new 'dom0'
f = Fake.new 'fake', spin
- p0 = spin.require_p Iotas::Particle
+ p0 = spin.require_p Edoors::Particle
p0.dst_routed! f
- p1 = spin.require_p Iotas::Particle
+ p1 = spin.require_p Edoors::Particle
p1.dst_routed! f
spin.post_p p0
spin.post_sys_p p1
@@ -74,52 +74,52 @@ describe Iotas::Spin do
end
#
it "process_sys" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
p0.add_dst 'unknown'
spin.send_sys_p p0
spin.spin!
- p1 = spin.require_p Iotas::Particle
+ p1 = spin.require_p Edoors::Particle
p0.should be p0
end
#
it "option debug" do
- spin = Iotas::Spin.new 'dom0'
+ spin = Edoors::Spin.new 'dom0'
spin.debug_routing.should be false
spin.debug_errors.should be false
- spin = Iotas::Spin.new 'dom0', :debug_routing=>true, :debug_errors=>true
+ spin = Edoors::Spin.new 'dom0', :debug_routing=>true, :debug_errors=>true
spin.debug_routing.should be true
spin.debug_errors.should be true
end
#
it "spin->json->spin" do
- spin = Iotas::Spin.new 'dom0', :debug_routing=>true
- r0 = Iotas::Room.new 'r0', spin
- r1 = Iotas::Room.new 'r1', r0
- r2 = Iotas::Room.new 'r2', r1
- r3 = Iotas::Room.new 'r3', r1
- r4 = Iotas::Room.new 'r4', r3
- d0 = Iotas::Door.new 'd0', r1
- d1 = Iotas::Door.new 'd1', r1
- d2 = Iotas::Door.new 'd2', r2
- p0 = spin.require_p Iotas::Particle
- p1 = spin.require_p Iotas::Particle
- p2 = spin.require_p Iotas::Particle
+ spin = Edoors::Spin.new 'dom0', :debug_routing=>true
+ r0 = Edoors::Room.new 'r0', spin
+ r1 = Edoors::Room.new 'r1', r0
+ r2 = Edoors::Room.new 'r2', r1
+ r3 = Edoors::Room.new 'r3', r1
+ r4 = Edoors::Room.new 'r4', r3
+ d0 = Edoors::Door.new 'd0', r1
+ d1 = Edoors::Door.new 'd1', r1
+ d2 = Edoors::Door.new 'd2', r2
+ p0 = spin.require_p Edoors::Particle
+ p1 = spin.require_p Edoors::Particle
+ p2 = spin.require_p Edoors::Particle
spin.post_p p0
spin.post_p p1
spin.post_sys_p p2
json = JSON.generate spin
- dom0 = Iotas::Spin.json_create( JSON.load( json ) )
+ dom0 = Edoors::Spin.json_create( JSON.load( json ) )
json.should eql JSON.generate(dom0)
end
#
it "hibernate! resume!" do
- spin = Iotas::Spin.new 'dom0'
- p0 = spin.require_p Iotas::Particle
- p0.add_dst Iotas::SYS_ACT_HIBERNATE
+ spin = Edoors::Spin.new 'dom0'
+ p0 = spin.require_p Edoors::Particle
+ p0.add_dst Edoors::SYS_ACT_HIBERNATE
spin.send_sys_p p0
spin.spin!
- dom0 = Iotas::Spin.resume! spin.hibernate_path
+ dom0 = Edoors::Spin.resume! spin.hibernate_path
dom0.name.should eql spin.name
File.unlink dom0.hibernate_path
end
diff --git a/spec/spot_spec.rb b/spec/spot_spec.rb
index 1ed2b03..38f61b7 100644
--- a/spec/spot_spec.rb
+++ b/spec/spot_spec.rb
@@ -4,10 +4,10 @@
require 'spec_helper'
#
-describe Iotas::Iota do
+describe Edoors::Iota do
#
it "path construction" do
- class S<Iotas::Iota
+ class S<Edoors::Iota
def add_iota s
end
end
@@ -16,9 +16,9 @@ describe Iotas::Iota do
s2 = S.new 'room1', s1
s3 = S.new 'door', s2
s3.path.should eql 'top/room0/room1/door'
- lambda { Iotas::Iota.new('do/or0', nil) }.should raise_error(Iotas::Exception)
- lambda { Iotas::Iota.new('/door0', nil) }.should raise_error(Iotas::Exception)
- lambda { Iotas::Iota.new('door0/', nil) }.should raise_error(Iotas::Exception)
+ lambda { Edoors::Iota.new('do/or0', nil) }.should raise_error(Edoors::Exception)
+ lambda { Edoors::Iota.new('/door0', nil) }.should raise_error(Edoors::Exception)
+ lambda { Edoors::Iota.new('door0/', nil) }.should raise_error(Edoors::Exception)
end
#
end
diff --git a/test/test_iotas.rb b/test/test_iotas.rb
index 057742f..59c9552 100644
--- a/test/test_iotas.rb
+++ b/test/test_iotas.rb
@@ -1,11 +1,11 @@
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
-require 'iotas'
+require 'edoors'
HBN_PATH='hibernate.json'
#
-class InputDoor < Iotas::Door
+class InputDoor < Edoors::Door
#
@count = 0
#
@@ -22,9 +22,9 @@ class InputDoor < Iotas::Door
def start!
puts " -> start #{self.class.name} (#{@path})"
# stimulate myself
- p = require_p Iotas::Particle
- # p.add_dst Iotas::ACT_GET, path
- send_p p, Iotas::ACT_GET
+ p = require_p Edoors::Particle
+ # p.add_dst Edoors::ACT_GET, path
+ send_p p, Edoors::ACT_GET
end
#
def stop!
@@ -45,7 +45,7 @@ class InputDoor < Iotas::Door
#
def receive_p p
puts " @ #{self.class.name} (#{@path}) receive_p : #{p.action}"
- if p.action==Iotas::ACT_GET
+ if p.action==Edoors::ACT_GET
p.reset!
p.set_data 'line', @lines[@idx]
p.set_data 'f0', 'v0'
@@ -55,8 +55,8 @@ class InputDoor < Iotas::Door
@idx+=1
if @idx<@lines.length
# there is more to read, restimulate myself
- p = require_p Iotas::Particle
- p.add_dst Iotas::ACT_GET, name
+ p = require_p Edoors::Particle
+ p.add_dst Edoors::ACT_GET, name
send_p p
end
else
@@ -66,16 +66,16 @@ class InputDoor < Iotas::Door
# I want to hibernate now!
self.class.count+=1
if self.class.count==3
- p = require_p Iotas::Particle
- p[Iotas::FIELD_HIBERNATE_PATH] = HBN_PATH
- p.add_dst Iotas::SYS_ACT_HIBERNATE
+ p = require_p Edoors::Particle
+ p[Edoors::FIELD_HIBERNATE_PATH] = HBN_PATH
+ p.add_dst Edoors::SYS_ACT_HIBERNATE
send_sys_p p
end
end
#
end
#
-class ConcatBoard < Iotas::Board
+class ConcatBoard < Edoors::Board
#
def initialize n, p, m=false
super n, p
@@ -92,7 +92,7 @@ class ConcatBoard < Iotas::Board
#
def receive_p p
puts " @ #{self.class.name} receive_p : #{p.action}"
- if p.action==Iotas::ACT_ERROR
+ if p.action==Edoors::ACT_ERROR
#
else
if @manual
@@ -110,7 +110,7 @@ class ConcatBoard < Iotas::Board
#
end
#
-class OutputDoor < Iotas::Door
+class OutputDoor < Edoors::Door
#
def initialize n, p, c=false
super n, p
@@ -130,16 +130,16 @@ class OutputDoor < Iotas::Door
if @clean
release_p p
else
- # we do nothing Iotas::Door#process_p will detect it and release it
+ # we do nothing Edoors::Door#process_p will detect it and release it
end
end
#
end
#
-spin = Iotas::Spin.new 'dom0', :debug_routing=>false, :debug_errors=>true
+spin = Edoors::Spin.new 'dom0', :debug_routing=>false, :debug_errors=>true
#
-room0 = Iotas::Room.new 'room0', spin
-room1 = Iotas::Room.new 'room1', spin
+room0 = Edoors::Room.new 'room0', spin
+room1 = Edoors::Room.new 'room1', spin
#
input0 = InputDoor.new 'input0', room0
output0 = OutputDoor.new 'output0', room0
@@ -148,20 +148,20 @@ input1 = InputDoor.new 'input1', room1
output1 = OutputDoor.new 'output1', room1, true
concat1 = ConcatBoard.new 'concat1', room1
#
-room0.add_link Iotas::Link.new('input0', 'output0', nil, nil, nil)
+room0.add_link Edoors::Link.new('input0', 'output0', nil, nil, nil)
#
-p0 = spin.require_p Iotas::Particle
-p0.set_data Iotas::LNK_SRC, 'input1'
-p0.set_data Iotas::LNK_DSTS, 'concat1?follow,output1'
-p0.set_data Iotas::LNK_FIELDS, 'f0,f2'
-p0.set_data Iotas::LNK_CONDF, 'f0,f1,f2'
-p0.set_data Iotas::LNK_CONDV, 'v0v1v2'
-p0.add_dst Iotas::SYS_ACT_ADD_LINK, room1.path
+p0 = spin.require_p Edoors::Particle
+p0.set_data Edoors::LNK_SRC, 'input1'
+p0.set_data Edoors::LNK_DSTS, 'concat1?follow,output1'
+p0.set_data Edoors::LNK_FIELDS, 'f0,f2'
+p0.set_data Edoors::LNK_CONDF, 'f0,f1,f2'
+p0.set_data Edoors::LNK_CONDV, 'v0v1v2'
+p0.add_dst Edoors::SYS_ACT_ADD_LINK, room1.path
room1.send_sys_p p0 # send_sys_p -> room0 -> spin -> room1 -> input1
#
spin.spin!
#
-dom0 = Iotas::Spin.resume! HBN_PATH
+dom0 = Edoors::Spin.resume! HBN_PATH
dom0.spin!
File.unlink HBN_PATH if File.exists? HBN_PATH
#