]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Start work on preferring size to length: it's the same for arrays, and will be more...
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Sun, 11 Feb 2007 09:23:12 +0000 (09:23 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Sun, 11 Feb 2007 09:23:12 +0000 (09:23 +0000)
lib/rbot/ircbot.rb
lib/rbot/ircsocket.rb

index a54fd7cdca6373344afc15ab0834ff79454b3fcd..ed435fb407c700ea61a817e37362cb0349a71c19 100644 (file)
@@ -373,7 +373,7 @@ class IrcBot
       end
       def STDOUT.write(str=nil)
         log str, 2
-        return str.to_s.length
+        return str.to_s.size
       end
       def STDERR.write(str=nil)
         if str.to_s.match(/:\d+: warning:/)
@@ -381,7 +381,7 @@ class IrcBot
         else
           error str, 2
         end
-        return str.to_s.length
+        return str.to_s.size
       end
     end
 
@@ -794,7 +794,7 @@ class IrcBot
       lines = Array.new
       message.each_line { |line|
         line.chomp!
-        next unless(line.length > 0)
+        next unless(line.size > 0)
         lines << line
       }
     else
@@ -809,7 +809,7 @@ class IrcBot
     # The maximum raw message length we can send is therefore 512 - 2 - 2
     # minus the length of our hostmask.
 
-    max_len = 508 - myself.fullform.length
+    max_len = 508 - myself.fullform.size
 
     # On servers that support IDENTIFY-MSG, we have to subtract 1, because messages
     # will have a + or - prepended
@@ -822,7 +822,7 @@ class IrcBot
     fixed = "#{type} #{where} :"
 
     # And this is what's left
-    left = max_len - fixed.length
+    left = max_len - fixed.size
 
     case opts[:overlong]
     when :split
@@ -830,8 +830,8 @@ class IrcBot
       split_at = opts[:split_at]
     when :truncate
       truncate = opts[:truncate_text]
-      truncate = @default_send_options[:truncate_text] if truncate.length > left
-      truncate = "" if truncate.length > left
+      truncate = @default_send_options[:truncate_text] if truncate.size > left
+      truncate = "" if truncate.size > left
     else
       raise "Unknown :overlong option #{opts[:overlong]} while sending #{original_message.inspect}"
     end
@@ -845,21 +845,21 @@ class IrcBot
       begin
         if max_lines > 0 and cmd_lines == max_lines - 1
           truncate = opts[:truncate_text]
-          truncate = @default_send_options[:truncate_text] if truncate.length > left
-          truncate = "" if truncate.length > left
+          truncate = @default_send_options[:truncate_text] if truncate.size > left
+          truncate = "" if truncate.size > left
           maxed = true
         end
-        if(left >= msg.length) and not maxed
+        if(left >= msg.size) and not maxed
           sendq "#{fixed}#{msg}", chan, ring
           log_sent(type, where, msg)
           cmd_lines += 1
           break
         end
         if truncate
-          line.replace msg.slice(0, left-truncate.length)
+          line.replace msg.slice(0, left-truncate.size)
           # line.sub!(/\s+\S*$/, truncate)
           line << truncate
-          raise "PROGRAMMER ERROR! #{line.inspect} of length #{line.length} > #{left}" if line.length > left
+          raise "PROGRAMMER ERROR! #{line.inspect} of size #{line.size} > #{left}" if line.size > left
           sendq "#{fixed}#{line}", chan, ring
           log_sent(type, where, line)
           return
@@ -867,13 +867,13 @@ class IrcBot
         line.replace msg.slice!(0, left)
         lastspace = line.rindex(opts[:split_at])
         if(lastspace)
-          msg.replace line.slice!(lastspace, line.length) + msg
+          msg.replace line.slice!(lastspace, line.size) + msg
           msg.gsub!(/^#{opts[:split_at]}/, "") if opts[:purge_split]
         end
         sendq "#{fixed}#{line}", chan, ring
         log_sent(type, where, line)
         cmd_lines += 1
-      end while(msg.length > 0)
+      end while(msg.size > 0)
     }
   end
 
index e70528ea6cf0412aba54f459ba3e290f66004081..973ae9b85f4e3c5d085b826fd5b7fb7b30c0bdf8 100644 (file)
@@ -3,9 +3,9 @@ class ::String
   # by the IRCd
   def irc_send_penalty
     # According to eggrdop, the initial penalty is
-    penalty = 1 + self.length/100
+    penalty = 1 + self.size/100
     # on everything but UnderNET where it's
-    # penalty = 2 + self.length/120
+    # penalty = 2 + self.size/120
 
     cmd, pars = self.split($;,2)
     debug "cmd: #{cmd}, pars: #{pars.inspect}"
@@ -14,29 +14,29 @@ class ::String
       chan, nick, msg = pars.split
       chan = chan.split(',')
       nick = nick.split(',')
-      penalty += nick.length
-      penalty *= chan.length
+      penalty += nick.size
+      penalty *= chan.size
     when :MODE
       chan, modes, argument = pars.split
       extra = 0
       if modes
         extra = 1
         if argument
-          extra += modes.split(/\+|-/).length
+          extra += modes.split(/\+|-/).size
         else
-          extra += 3 * modes.split(/\+|-/).length
+          extra += 3 * modes.split(/\+|-/).size
         end
       end
       if argument
-        extra += 2 * argument.split.length
+        extra += 2 * argument.split.size
       end
-      penalty += extra * chan.split.length
+      penalty += extra * chan.split.size
     when :TOPIC
       penalty += 1
-      penalty += 2 unless pars.split.length < 2
+      penalty += 2 unless pars.split.size < 2
     when :PRIVMSG, :NOTICE
       dests = pars.split($;,2).first
-      penalty += dests.split(',').length
+      penalty += dests.split(',').size
     when :WHO
       # I'm too lazy to implement this one correctly
       penalty += 5
@@ -85,12 +85,13 @@ module Irc
     end
 
     def length
-      length = 0
+      len = 0
       @storage.each {|c|
-        length += c[1].length 
+        len += c[1].size
       }
-      return length
+      return len
     end
+    alias :size :length
 
     def empty?
       @storage.empty?
@@ -113,7 +114,7 @@ module Irc
         return nil
       end
       save_idx = @last_idx
-      @last_idx = (@last_idx + 1) % @storage.length
+      @last_idx = (@last_idx + 1) % @storage.size
       mess = @storage[@last_idx][1].first
       @last_idx = save_idx
       return mess
@@ -124,7 +125,7 @@ module Irc
         warning "trying to access empty ring"
         return nil
       end
-      @last_idx = (@last_idx + 1) % @storage.length
+      @last_idx = (@last_idx + 1) % @storage.size
       mess = @storage[@last_idx][1].shift
       @storage.delete(@storage[@last_idx]) if @storage[@last_idx][1] == []
       return mess
@@ -180,10 +181,11 @@ module Irc
     def length
       len = 0
       @rings.each { |r|
-        len += r.length
+        len += r.size
       }
       len
     end
+    alias :size :length
 
     def next
       if empty?
@@ -195,8 +197,8 @@ module Irc
         mess = @rings[0].first
       else
         save_ring = @last_ring
-        (@rings.length - 1).times {
-          @last_ring = (@last_ring % (@rings.length - 1)) + 1
+        (@rings.size - 1).times {
+          @last_ring = (@last_ring % (@rings.size - 1)) + 1
           if !@rings[@last_ring].empty?
             mess = @rings[@last_ring].next
             break
@@ -217,8 +219,8 @@ module Irc
       if !@rings[0].empty?
         return @rings[0].shift
       end
-      (@rings.length - 1).times {
-        @last_ring = (@last_ring % (@rings.length - 1)) + 1
+      (@rings.size - 1).times {
+        @last_ring = (@last_ring % (@rings.size - 1)) + 1
         if !@rings[@last_ring].empty?
           return @rings[@last_ring].shift
         end
@@ -420,7 +422,7 @@ module Irc
             return
           end
           @flood_send = now if @flood_send < now
-          debug "can send #{@sendq_burst - @burst} lines, there are #{@sendq.length} to send"
+          debug "can send #{@sendq_burst - @burst} lines, there are #{@sendq.size} to send"
           while !@sendq.empty? and @burst < @sendq_burst and @flood_send - now < MAX_IRC_SEND_PENALTY
             debug "sending message (#{@flood_send - now} < #{MAX_IRC_SEND_PENALTY})"
             puts_critical(@sendq.shift, true)