diff options
-rwxr-xr-x | bin/rbot | 12 | ||||
-rw-r--r-- | lib/rbot/rbotconfig.rb | 36 |
2 files changed, 33 insertions, 15 deletions
@@ -27,7 +27,7 @@ require 'etc' require 'getoptlong' require 'fileutils' -$version="0.9.9" +$version="0.9.10" $opts = Hash.new orig_opts = ARGV.dup @@ -53,10 +53,18 @@ if ($opts["trace"]) } end +defaultlib = File.expand_path(File.dirname($0) + '/../lib') + +if File.directory? "#{defaultlib}/rbot" + unless $:.include? defaultlib + $:.push defaultlib + end +end + begin require 'rbot/ircbot' rescue LoadError => e - puts "Error: couldn't find the rbot/ircbot module (or one of its dependencies)\n - did you install rbot using setup.rb?" + puts "Error: couldn't find the rbot/ircbot module (or one of its dependencies)\n" puts e exit 2 end diff --git a/lib/rbot/rbotconfig.rb b/lib/rbot/rbotconfig.rb index 226f687e..01f66307 100644 --- a/lib/rbot/rbotconfig.rb +++ b/lib/rbot/rbotconfig.rb @@ -1,22 +1,32 @@ module Irc module Config @@datadir = nil + + # first try for the default path to the data dir + defaultdir = File.expand_path(File.dirname($0) + '/../data') + + if File.directory? "#{defaultdir}/rbot" + @@datadir = "#{defaultdir}/rbot" + end + # setup pkg-based configuration - i.e. where were we installed to, where # are our data files, etc. - begin - debug "trying to load rubygems" - require 'rubygems' - debug "loaded rubygems, looking for rbot-#$version" - gemname, gem = Gem.source_index.find{|name, spec| spec.name == 'rbot' && spec.version.version == $version} - debug "got gem #{gem}" - if gem && path = gem.full_gem_path - debug "installed via rubygems to #{path}" - @@datadir = "#{path}/data/rbot" - else - debug "not installed via rubygems" + if @@datadir.nil? + begin + debug "trying to load rubygems" + require 'rubygems' + debug "loaded rubygems, looking for rbot-#$version" + gemname, gem = Gem.source_index.find{|name, spec| spec.name == 'rbot' && spec.version.version == $version} + debug "got gem #{gem}" + if gem && path = gem.full_gem_path + debug "installed via rubygems to #{path}" + @@datadir = "#{path}/data/rbot" + else + debug "not installed via rubygems" + end + rescue LoadError,NameError,NoMethodError + debug "no rubygems installed" end - rescue LoadError,NameError,NoMethodError - debug "no rubygems installed" end if @@datadir.nil? |