]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/messagemapper.rb
Minor tweaks to httputil: make last response available in @last_resp for get and...
[user/henk/code/ruby/rbot.git] / lib / rbot / messagemapper.rb
index fd8c7e7da29bc2995394c8a7ce8029c48ec778cc..ec465e812ed86f77fef494045a6ea9756a114723 100644 (file)
@@ -240,11 +240,11 @@ module Irc
       raise ArgumentError, "template #{str.inspect} should be a String" unless str.kind_of?(String)
 
       # split and convert ':xyz' to symbols
-      items = str.strip.split(/\s+/).collect { |c|
+      items = str.strip.split(/\]?\s+\[?/).collect { |c|
+        # there might be extra (non-alphanumeric) stuff (e.g. punctuation) after the symbol name
         if /^(:|\*)(\w+)(.*)/ =~ c
-          # there might be extra (non-alphanumeric) stuff (e.g. punctuation) after the symbol name
           sym = ($1 == ':' ) ? $2.intern : "*#{$2}".intern
-          if $3.nil?
+          if $3.empty?
             sym
           else
             [sym, $3]
@@ -305,8 +305,9 @@ module Irc
       return nil, "#{m.message.inspect} doesn't match #{@dyn_items.first.inspect} (#{@regexp})" unless matching
       return nil, "#{m.message.inspect} only matches #{@dyn_items.first.inspect} (#{@regexp}) partially" unless matching[0] == m.message
 
-      debug "#{m.message.inspect} matched #{@regexp} with #{matching[1..-1].join(', ')}"
-      debug "Associating #{matching[1..-1].join(', ')} with dyn items #{@dyn_items[1..-1].join(', ')}"
+      debug_match = matching[1..-1].collect{ |d| d.inspect}.join(', ')
+      debug "#{m.message.inspect} matched #{@regexp} with #{debug_match}"
+      debug "Associating #{debug_match} with dyn items #{@dyn_items[1..-1].join(', ')}"
 
       (@dyn_items.length - 1).downto 1 do |i|
         it = @dyn_items[i]
@@ -353,7 +354,7 @@ module Irc
             end
           else
             value = @defaults[item]
-            warning "No default value for optiona #{item.inspect} specified" unless @defaults.has_key?(item)
+            warning "No default value for option #{item.inspect} specified" unless @defaults.has_key?(item)
           end
           options[item] = value
           debug "set #{item} to #{options[item].inspect}"