blob: bf26761e1663baaee4bae382eed0683c3531008e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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(/^\/+/,'').sub(/\/+$/,'').gsub(/\/{2,}/,'/')
end
#
end
#
end
#
# EOF
|