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 | |
| 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?
| -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  | 
