]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/maskdb.rb
message: add #thanks method, similar to okay
[user/henk/code/ruby/rbot.git] / lib / rbot / maskdb.rb
index 38eb0ccee1062dbd2dfade6579df8ded6243aa20..55dc983942d403e71a52464d9b4e5171986a5ee9 100644 (file)
@@ -11,7 +11,7 @@ module Irc
 
       def add(val, *prefs)
         str = prefs.shift or raise 'empty prefs'
-        @pre = str if @chi.empty?
+        @pre = str.dup if @chi.empty?
 
         n = 0
         @pre.size.times do
@@ -119,12 +119,13 @@ module Irc
     end
 
     def mask2keys(m)
-      [m.host, m.user, m.nick].map { |c| cook_component(c) }
+      md = m.downcased
+      [md.host, md.user, md.nick].map { |c| cook_component(c) }
     end
 
     def add(user, *masks)
       masks.each do |m|
-        debug "adding user #{user} with mask #{m}"
+        debug "adding user #{user} with mask #{m.fullform}"
         @tree.add([user, m], *mask2keys(m))
       end
     end
@@ -147,7 +148,8 @@ module Irc
 
     def find(iu)
       debug "find(#{iu.fullform})"
-      matches = @tree.find(iu.host, iu.user, iu.nick).uniq.map do |val|
+      iud = iu.downcased
+      matches = @tree.find(iud.host, iud.user, iud.nick).uniq.map do |val|
         m = metric(iu, *val)
         m ? [val[0], m] : nil
       end.compact.sort { |a, b| a[1] <=> a[1] }