X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Frbot%2Fmaskdb.rb;h=55dc983942d403e71a52464d9b4e5171986a5ee9;hb=HEAD;hp=38eb0ccee1062dbd2dfade6579df8ded6243aa20;hpb=987af39e27f5bb3ec56ad516527f6a0dfea2dbe3;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/lib/rbot/maskdb.rb b/lib/rbot/maskdb.rb index 38eb0cce..55dc9839 100644 --- a/lib/rbot/maskdb.rb +++ b/lib/rbot/maskdb.rb @@ -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] }