diff options
Diffstat (limited to 'lib/rbot/rbotconfig.rb')
-rw-r--r-- | lib/rbot/rbotconfig.rb | 36 |
1 files changed, 23 insertions, 13 deletions
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? |