From 8985c8f3e655ba1aef4166e4247696fed3d20e9c Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Wed, 11 Apr 2007 22:29:32 +0000 Subject: [PATCH] New IRC Framework: move #full_irc_downcase() and #full_downcase() methods to Irc::Netmask from Irc::User, and use them in Netmask conversion --- lib/rbot/irc.rb | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/rbot/irc.rb b/lib/rbot/irc.rb index f34c8f9b..89bf5521 100644 --- a/lib/rbot/irc.rb +++ b/lib/rbot/irc.rb @@ -639,21 +639,38 @@ module Irc ret << "@" << host unless host == "*" return ret end + def fullform "#{nick}!#{user}@#{host}" end + # This method downcases the fullform of the netmask. While this may not be + # significantly different from the #downcase() method provided by the + # ServerOrCasemap mixin, it's significantly different for Netmask + # subclasses such as User whose simple downcasing uses the nick only. + # + def full_irc_downcase(cmap=casemap) + self.fullform.irc_downcase(cmap) + end + + # full_downcase() will return the fullform downcased according to the + # User's own casemap + # + def full_downcase + self.full_irc_downcase + end + # Converts the receiver into a Netmask with the given (optional) # server/casemap association. We return self unless a conversion # is needed (different casemap/server) # - # Subclasses of Netmask will return a new Netmask + # Subclasses of Netmask will return a new Netmask, using full_downcase # def to_irc_netmask(opts={}) if self.class == Netmask return self if fits_with_server_and_casemap?(opts) end - return self.downcase.to_irc_netmask(opts) + return self.full_downcase.to_irc_netmask(opts) end # Converts the receiver into a User with the given (optional) @@ -927,21 +944,6 @@ module Irc end end - # Users can be either simply downcased (their nick only) - # or fully downcased: this will return the fullform downcased - # according to the given casemap. - # - def full_irc_downcase(cmap=casemap) - self.fullform.irc_downcase(cmap) - end - - # full_downcase() will return the fullform downcased according to the - # User's own casemap - # - def full_downcase - self.full_irc_downcase - end - # Since to_irc_user runs the same checks on server and channel as # to_irc_netmask, we just try that and return self if it works. # -- 2.39.5