summaryrefslogtreecommitdiffstats
path: root/lib/evendoors/spot.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-05-03 22:27:16 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-05-03 22:27:16 +0200
commit2ee48c4f18470e733f244c659221e243ff998416 (patch)
tree62949886912b3dc5eb9e000b211e7f45f17ed978 /lib/evendoors/spot.rb
downloadedoors-ruby-2ee48c4f18470e733f244c659221e243ff998416.zip
edoors-ruby-2ee48c4f18470e733f244c659221e243ff998416.tar.gz
initial commit
Diffstat (limited to 'lib/evendoors/spot.rb')
-rw-r--r--lib/evendoors/spot.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/evendoors/spot.rb b/lib/evendoors/spot.rb
new file mode 100644
index 0000000..e88bac7
--- /dev/null
+++ b/lib/evendoors/spot.rb
@@ -0,0 +1,28 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+
+#
+module EvenDoors
+ #
+ class Spot
+ #
+ def initialize n, p
+ @name = n # unique in it's room
+ @parent = p # single direct parent
+ @viewer = nil # particle going through that position will be sent there readonly
+ end
+ #
+ attr_reader :name
+ attr_accessor :viewer, :parent
+ #
+ def path
+ return @path if @path
+ p = ( @parent ? @parent.path+'/' : '') + name
+ @path = p.sub(/^\/+/,'').gsub(/\/{2,}/,'/').sub(/\/+$/,'')
+ end
+ #
+ end
+ #
+end
+#
+# EOF