diff options
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2009-02-15 01:30:51 +0100 |
---|---|---|
committer | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2009-02-15 02:06:27 +0100 |
commit | 91a9024e21ec8b429605a036b5c9193442a580e3 (patch) | |
tree | f1524dd5595a80e32d0702c0d8939b1001c695fb /data/rbot/plugins/debugger.rb | |
parent | 38be7f6511447d98780a069bccefecd933238e30 (diff) |
+ @bot.path and datafile methods
We provide two methods that make it more simple and elegant for
botmodules to define paths relative to the bot's own directory
(botclass) and to the BotModule's (assumed) non-registry directory.
The first method is Irc::Bot#path(), which joins its arguments with the
botclass. This method can be used to access datafiles in the bot
directory with a much cleaner syntax; and since it uses File.join, the
resulting paths are also properly formatted on each platform, which
doesn't hurt.
Each BotModule now also carries a dirname() method that should return the
directory under botclass that holds the BotModule's datafiles. dirname()
defaults to the BotModule's name(), but it can be overridden, e.g. for
backwards compatibility (see the patch for the quotes plugin), or
for BotModules that share their datafiles.
Datafiles can be accessed using the BotModule#datafile() method that
joins the botclass, the dirname() and whatever other argument is passed.
Diffstat (limited to 'data/rbot/plugins/debugger.rb')
-rw-r--r-- | data/rbot/plugins/debugger.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/data/rbot/plugins/debugger.rb b/data/rbot/plugins/debugger.rb index c83aea4a..2895cd0b 100644 --- a/data/rbot/plugins/debugger.rb +++ b/data/rbot/plugins/debugger.rb @@ -18,12 +18,16 @@ class DebugPlugin < Plugin :default => "", :desc => "Directory where profile/string dumps are to be stored") + def dirname + @bot.config['debug.logdir'] + end + def initialize super @prev = Hash.new(0) @curr = Hash.new(0) @delta = Hash.new(0) - @file = File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler.log",'w') + @file = File.open(datafile("memory_profiler.log"), 'w') @thread = @bot.timer.add(@bot.config['debug.interval']) { begin GC.start @@ -39,7 +43,7 @@ class DebugPlugin < Plugin end if @bot.config['debug.dump_strings'] - File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler_strings.log.#{Time.now.to_i}",'w') do |f| + File.open(datafile("memory_profiler_strings.log.#{Time.now.to_i}"), 'w') do |f| curr_strings.sort.each do |s| f.puts s end @@ -107,7 +111,7 @@ class DebugPlugin < Plugin end end - File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler_strings.log.#{Time.now.to_i}",'w') do |f| + File.open(datafile("memory_profiler_strings.log.#{Time.now.to_i}"), 'w') do |f| curr_strings.sort.each do |s| f.puts s end |