diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-05-09 00:07:16 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-05-09 00:07:16 +0200 |
commit | ff68d2a0b8cb5715e269f307228bd14c4215d584 (patch) | |
tree | 6b14458bcd18c05657b5abea966e4d7835c6aa95 /lib | |
parent | bc2a8c439b15823bb3c8cc88184cc1634e8069ce (diff) | |
download | edoors-ruby-ff68d2a0b8cb5715e269f307228bd14c4215d584.zip edoors-ruby-ff68d2a0b8cb5715e269f307228bd14c4215d584.tar.gz |
Room, send_p set error ERROR_ROUTE_NDNS if p.src.nil?
Diffstat (limited to 'lib')
-rw-r--r-- | lib/evendoors.rb | 1 | ||||
-rw-r--r-- | lib/evendoors/room.rb | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/evendoors.rb b/lib/evendoors.rb index 31d1745..6ea8644 100644 --- a/lib/evendoors.rb +++ b/lib/evendoors.rb @@ -24,6 +24,7 @@ module EvenDoors ERROR_ROUTE_NMD = 'routing error: no more destination'.freeze ERROR_ROUTE_RRWD = 'routing error: right room, wrong door'.freeze ERROR_ROUTE_TRWR = 'routing error: top room, wrong room'.freeze + ERROR_ROUTE_NDNS = 'routing error: no destination, no source'.freeze ERROR_ROUTE_NDNL = 'routing error: no destination, no link'.freeze ERROR_ROUTE_SND = 'routing error: system no destination'.freeze ERROR_ROUTE_SNDNA = 'routing error: system no door, no action'.freeze diff --git a/lib/evendoors/room.rb b/lib/evendoors/room.rb index 3c7ebc6..be5325b 100644 --- a/lib/evendoors/room.rb +++ b/lib/evendoors/room.rb @@ -97,6 +97,8 @@ module EvenDoors route_p p puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug EvenDoors::Twirl.send_p p + elsif p.src.nil? + p.error! EvenDoors::ERROR_ROUTE_NDNS elsif not try_links p p.error! EvenDoors::ERROR_ROUTE_NDNL puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug |