From: Giuseppe Bilotta Date: Wed, 2 Jun 2021 19:31:20 +0000 (+0200) Subject: fix: write override behavior X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=3c9454d8a1f649f62a4f45461337434a791b1109;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git fix: write override behavior IO.write() takes an arbitrary number of argumens, that are converted to string and joined on write. We should behave the same way. Moreover, the returned value is the number of bytes, and this is bytesize in modern Ruby. --- diff --git a/lib/rbot/ircbot.rb b/lib/rbot/ircbot.rb index f9f1758a..564403f5 100644 --- a/lib/rbot/ircbot.rb +++ b/lib/rbot/ircbot.rb @@ -444,17 +444,19 @@ class Bot end end - def $stdout.write(str=nil) + def $stdout.write(*args) + str = args.map { |s| s.to_s }.join("") log str, 2 - return str.to_s.size + return str.bytesize end - def $stderr.write(str=nil) + def $stderr.write(*args) + str = args.map { |s| s.to_s }.join("") if str.to_s.match(/:\d+: warning:/) warning str, 2 else error str, 2 end - return str.to_s.size + return str.bytesize end LoggerManager.instance.log_session_start