diff options
-rw-r--r-- | lib/rbot/botuser.rb | 8 | ||||
-rw-r--r-- | lib/rbot/core/auth.rb | 2 | ||||
-rw-r--r-- | lib/rbot/core/config.rb | 4 | ||||
-rw-r--r-- | lib/rbot/core/core.rb | 2 | ||||
-rw-r--r-- | lib/rbot/httputil.rb | 6 | ||||
-rw-r--r-- | lib/rbot/irc.rb | 22 | ||||
-rw-r--r-- | lib/rbot/plugins.rb | 12 | ||||
-rw-r--r-- | lib/rbot/rfc2812.rb | 2 |
8 files changed, 33 insertions, 25 deletions
diff --git a/lib/rbot/botuser.rb b/lib/rbot/botuser.rb index ea47fcbd..b324a2a7 100644 --- a/lib/rbot/botuser.rb +++ b/lib/rbot/botuser.rb @@ -14,13 +14,13 @@ module Irc # This method raises a TypeError if _user_ is not of class User
#
def Irc.error_if_not_user(user)
- raise TypeError, "#{user.inspect} must be of type Irc::User and not #{user.class}" unless user.class <= User
+ raise TypeError, "#{user.inspect} must be of type Irc::User and not #{user.class}" unless user.kind_of?(User)
end
# This method raises a TypeError if _chan_ is not of class Chan
#
def Irc.error_if_not_channel(chan)
- raise TypeError, "#{chan.inspect} must be of type Irc::User and not #{chan.class}" unless chan.class <= Channel
+ raise TypeError, "#{chan.inspect} must be of type Irc::User and not #{chan.class}" unless chan.kind_of?(Channel)
end
@@ -89,7 +89,7 @@ module Irc # This method raises a TypeError if _user_ is not of class User
#
def Irc.error_if_not_command(cmd)
- raise TypeError, "#{cmd.inspect} must be of type Irc::Auth::Command and not #{cmd.class}" unless cmd.class <= Command
+ raise TypeError, "#{cmd.inspect} must be of type Irc::Auth::Command and not #{cmd.class}" unless cmd.kind_of?(Command)
end
@@ -452,7 +452,7 @@ module Irc raise "Won't load with unsaved changes" if @has_changes and not forced
reset_hashes
ary.each { |x|
- raise TypeError, "#{x} should be a Hash" unless x.class <= Hash
+ raise TypeError, "#{x} should be a Hash" unless x.kind_of?(Hash)
u = x[:username]
unless include?(u)
create_botuser(u)
diff --git a/lib/rbot/core/auth.rb b/lib/rbot/core/auth.rb index 9a30dc0a..228f76a8 100644 --- a/lib/rbot/core/auth.rb +++ b/lib/rbot/core/auth.rb @@ -85,7 +85,7 @@ class AuthModule < CoreBotModule def auth_set(m, params)
cmds, locs, warns = parse_args(params[:args])
- errs = warns.select { |w| w.class <= Exception }
+ errs = warns.select { |w| w.kind_of?(Exception) }
unless errs.empty?
m.reply "couldn't satisfy your request: #{errs.join(',')}"
return
diff --git a/lib/rbot/core/config.rb b/lib/rbot/core/config.rb index 3099a00a..29a0b564 100644 --- a/lib/rbot/core/config.rb +++ b/lib/rbot/core/config.rb @@ -89,7 +89,7 @@ class ConfigModule < CoreBotModule m.reply "no such config key #{key}"
return
end
- unless @bot.config.items[key].class <= BotConfigArrayValue
+ unless @bot.config.items[key].kind_of?(BotConfigArrayValue)
m.reply "config key #{key} is not an array"
return
end
@@ -111,7 +111,7 @@ class ConfigModule < CoreBotModule m.reply "no such config key #{key}"
return
end
- unless @bot.config.items[key].class <= BotConfigArrayValue
+ unless @bot.config.items[key].kind_of?(BotConfigArrayValue)
m.reply "config key #{key} is not an array"
return
end
diff --git a/lib/rbot/core/core.rb b/lib/rbot/core/core.rb index 178675b1..feff7491 100644 --- a/lib/rbot/core/core.rb +++ b/lib/rbot/core/core.rb @@ -5,7 +5,7 @@ class CoreModule < CoreBotModule
def listen(m)
- return unless m.class <= PrivMessage
+ return unless m.kind_of?(PrivMessage)
if(m.private? && m.message =~ /^\001PING\s+(.+)\001/)
@bot.notice m.sourcenick, "\001PING #$1\001"
@bot.irclog "@ #{m.sourcenick} pinged me"
diff --git a/lib/rbot/httputil.rb b/lib/rbot/httputil.rb index 92918f77..6383d4e2 100644 --- a/lib/rbot/httputil.rb +++ b/lib/rbot/httputil.rb @@ -135,7 +135,7 @@ class HttpUtil # if a block is given, it yields the urls it gets redirected to # TODO we really need something to implement proper caching def get(uri_or_str, readtimeout=10, opentimeout=5, max_redir=@bot.config["http.max_redir"], cache=false) - if uri_or_str.class <= URI + if uri_or_str.kind_of?(URI) uri = uri_or_str else uri = URI.parse(uri_or_str.to_s) @@ -189,7 +189,7 @@ class HttpUtil # just like the above, but only gets the head def head(uri_or_str, readtimeout=10, opentimeout=5, max_redir=@bot.config["http.max_redir"]) - if uri_or_str.class <= URI + if uri_or_str.kind_of?(URI) uri = uri_or_str else uri = URI.parse(uri_or_str.to_s) @@ -231,7 +231,7 @@ class HttpUtil def get_cached(uri_or_str, readtimeout=10, opentimeout=5, max_redir=@bot.config['http.max_redir'], noexpire=@bot.config['http.no_expire_cache']) - if uri_or_str.class <= URI + if uri_or_str.kind_of?(URI) uri = uri_or_str else uri = URI.parse(uri_or_str.to_s) diff --git a/lib/rbot/irc.rb b/lib/rbot/irc.rb index 93ac6b85..1cfb4592 100644 --- a/lib/rbot/irc.rb +++ b/lib/rbot/irc.rb @@ -156,7 +156,7 @@ class ArrayOf < Array # optionally filling it with the elements from the Array argument.
#
def initialize(kl, ar=[])
- raise TypeError, "#{kl.inspect} must be a class name" unless kl.class <= Class
+ raise TypeError, "#{kl.inspect} must be a class name" unless kl.kind_of?(Class)
super()
@element_class = kl
case ar
@@ -174,7 +174,7 @@ class ArrayOf < Array #
def internal_will_accept?(raising, *els)
els.each { |el|
- unless el.class <= @element_class
+ unless el.kind_of?(@element_class)
raise TypeError, "#{el.inspect} is not of class #{@element_class}" if raising
return false
end
@@ -303,6 +303,13 @@ module Irc @host = "*" if @host.to_s.empty?
end
+ def inspect
+ str = "<#{self.class}:#{'0x%08x' % self.object_id}:"
+ str << " @nick=#{@nick.inspect} @user=#{@user.inspect}"
+ str << " @host=<#{@host}>"
+ str
+ end
+
# Equality: two Netmasks are equal if they have the same @nick, @user, @host and @casemap
#
def ==(other)
@@ -376,7 +383,7 @@ module Irc def matches?(arg)
cmp = Netmask.new(arg)
raise TypeError, "#{arg} and #{self} have different casemaps" if @casemap != cmp.casemap
- raise TypeError, "#{arg} is not a valid Netmask" unless cmp.class <= Netmask
+ raise TypeError, "#{arg} is not a valid Netmask" unless cmp.kind_of?(Netmask)
[:nick, :user, :host].each { |component|
us = self.send(component)
them = cmp.send(component)
@@ -518,7 +525,7 @@ module Irc # Replace a ChannelTopic with another one
def replace(topic)
- raise TypeError, "#{topic.inspect} is not an Irc::ChannelTopic" unless topic.class <= ChannelTopic
+ raise TypeError, "#{topic.inspect} is not an Irc::ChannelTopic" unless topic.kind_of?(ChannelTopic)
@text = topic.text.dup
@set_by = topic.set_by.dup
@set_on = topic.set_on.dup
@@ -659,7 +666,7 @@ module Irc # FIXME doesn't check if users have the same casemap as the channel yet
#
def initialize(server, name, topic=nil, users=[])
- raise TypeError, "First parameter must be an Irc::Server" unless server.class <= Server
+ raise TypeError, "First parameter must be an Irc::Server" unless server.kind_of?(Server)
raise ArgumentError, "Channel name cannot be empty" if name.to_s.empty?
raise ArgumentError, "Unknown channel prefix #{name[0].chr}" if name !~ /^[&#+!]/
raise ArgumentError, "Invalid character in #{name.inspect}" if name =~ /[ \x07,]/
@@ -692,7 +699,7 @@ module Irc #
def delete_user(user)
@mode.each { |sym, mode|
- mode.reset(user) if mode.class <= ChannelUserMode
+ mode.reset(user) if mode.kind_of?(ChannelUserMode)
}
@users.delete(user)
end
@@ -1161,6 +1168,7 @@ module Irc def user(str)
u = new_user(str, false)
debug "Server user #{u.inspect} from #{str.inspect}"
+ u
end
# Remove User _someuser_ from the list of <code>User</code>s.
@@ -1180,7 +1188,7 @@ module Irc # Create a new Netmask object with the appropriate casemap
#
def new_netmask(str)
- if str.class <= Netmask
+ if str.kind_of?(Netmask )
raise "Wrong casemap for Netmask #{str.inspect}" if str.casemap != self.casemap
return str
end
diff --git a/lib/rbot/plugins.rb b/lib/rbot/plugins.rb index 43793e99..42ff2aaa 100644 --- a/lib/rbot/plugins.rb +++ b/lib/rbot/plugins.rb @@ -266,7 +266,7 @@ module Plugins # Registers botmodule _botmodule_ with command _cmd_ and command path _auth_path_ def register(botmodule, cmd, auth_path) - raise TypeError, "First argument #{botmodule.inspect} is not of class BotModule" unless botmodule.class <= BotModule + raise TypeError, "First argument #{botmodule.inspect} is not of class BotModule" unless botmodule.kind_of?(BotModule) kl = botmodule.botmodule_class @commandmappers[kl.to_sym][cmd.to_sym] = {:botmodule => botmodule, :auth => auth_path} h = @commandmappers[kl.to_sym][cmd.to_sym] @@ -274,7 +274,7 @@ module Plugins end def add_botmodule(botmodule) - raise TypeError, "Argument #{botmodule.inspect} is not of class BotModule" unless botmodule.class <= BotModule + raise TypeError, "Argument #{botmodule.inspect} is not of class BotModule" unless botmodule.kind_of?(BotModule) kl = botmodule.botmodule_class raise "#{kl.to_s} #{botmodule.name} already registered!" if @botmodules[kl.to_sym].include?(botmodule) @botmodules[kl.to_sym] << botmodule @@ -542,9 +542,9 @@ module Plugins # debug "#{p.botmodule_class} #{p.name} responds" p.send method, *args rescue Exception => err - raise if err.class <= SystemExit + raise if err.kind_of?(SystemExit) error report_error("#{p.botmodule_class} #{p.name} #{method}() failed:", err) - raise if err.class <= BDB::Fatal + raise if err.kind_of?(BDB::Fatal) end end } @@ -579,9 +579,9 @@ module Plugins # debug "#{p.botmodule_class} #{p.name} responds" p.privmsg(m) rescue Exception => err - raise if err.class <= SystemExit + raise if err.kind_of?(SystemExit) error report_error("#{p.botmodule_class} #{p.name} privmsg() failed:", err) - raise if err.class <= BDB::Fatal + raise if err.kind_of?(BDB::Fatal) end # debug "Successfully delegated #{m.message}" return true diff --git a/lib/rbot/rfc2812.rb b/lib/rbot/rfc2812.rb index 7832f998..8a83ec88 100644 --- a/lib/rbot/rfc2812.rb +++ b/lib/rbot/rfc2812.rb @@ -1099,7 +1099,7 @@ module Irc handle(:privmsg, data) # Now we split it - if(data[:target].class <= Channel) + if data[:target].kind_of?(Channel) handle(:public, data) else handle(:msg, data) |