summaryrefslogtreecommitdiffstats
path: root/lib/iotas/board.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-06-10 11:11:28 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-06-10 11:11:28 +0200
commit6553912a6dff9b2c8bd3f06cb5f10488eef2c18c (patch)
tree804cbb720c993afd5453ea4a8086b264e22382fe /lib/iotas/board.rb
parent74d45762846ea7e6ac09f65fb31672b822f7a349 (diff)
downloadedoors-ruby-6553912a6dff9b2c8bd3f06cb5f10488eef2c18c.zip
edoors-ruby-6553912a6dff9b2c8bd3f06cb5f10488eef2c18c.tar.gz
project iotas->edoors-ruby, module Iotas->Edoors
Diffstat (limited to 'lib/iotas/board.rb')
-rw-r--r--lib/iotas/board.rb69
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/iotas/board.rb b/lib/iotas/board.rb
deleted file mode 100644
index 9371354..0000000
--- a/lib/iotas/board.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-#! /usr/bin/env ruby
-# -*- coding: UTF-8 -*-
-#
-# Copyright 2012 Jérémy Zurcher <jeremy@asynk.ch>
-#
-# This file is part of iotas.
-#
-# iotas 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,
-# 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/>.
-
-#
-module Iotas
- #
- ACT_FOLLOW = 'follow'.freeze
- #
- class Board < Door
- #
- def initialize n, p
- super n, p
- @postponed = {}
- end
- #
- def to_json *a
- {
- 'kls' => self.class.name,
- 'name' => @name,
- 'postponed' => @postponed
- }.merge(hibernate!).to_json *a
- end
- #
- def self.json_create o
- raise Iotas::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))
- end
- board.resume! o
- board
- end
- #
- def process_p p
- @viewer.receive_p p if @viewer
- if p.action!=Iotas::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.merge! p2
- end
- @saved = p
- receive_p p
- garbage if not @saved.nil?
- end
- #
- end
- #
-end
-#
-# EOF