X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=lib%2Frbot%2Frbotconfig.rb;h=d6f6bcdeca67dfa74a38d2fac8f82f152991aba6;hb=41276911b95c934dd5f33ccef53b03bc9dd40975;hp=409ab9f8d415fb0feda07cbc3cc9e39527cf25f7;hpb=07fa0d9565f373feca3774c60fc645c96ac81652;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/lib/rbot/rbotconfig.rb b/lib/rbot/rbotconfig.rb index 409ab9f8..d6f6bcde 100644 --- a/lib/rbot/rbotconfig.rb +++ b/lib/rbot/rbotconfig.rb @@ -1,18 +1,24 @@ module Irc +class Bot module Config - @@datadir = nil - @@coredir = nil + unless defined?(@@datadir) + @@datadir = nil - # first try for the default path to the data dir - defaultdatadir = File.expand_path(File.dirname($0) + '/../data/rbot') - defaultcoredir = File.expand_path(File.dirname($0) + '/../lib/rbot/core') + defaultdatadir = File.expand_path(File.dirname($0) + '/../data/rbot') - if File.directory? defaultdatadir - @@datadir = defaultdatadir + if File.directory? defaultdatadir + @@datadir = defaultdatadir + end end - if File.directory? defaultcoredir - @@coredir = defaultcoredir + unless defined?(@@coredir) + @@coredir = nil + + defaultcoredir = File.expand_path(File.dirname($0) + '/../lib/rbot/core') + + if File.directory? defaultcoredir + @@coredir = defaultcoredir + end end # setup pkg-based configuration - i.e. where were we installed to, where @@ -21,15 +27,15 @@ module Irc begin debug "trying to load rubygems" require 'rubygems' - debug "loaded rubygems, looking for rbot-#$version" - if $version =~ /(.*)-svn\Z/ + if $version =~ /^(.*)-(?:git|rc\d)(?: .*)?$/ version = $1 else version = $version end - 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 "loaded rubygems, looking for rbot version #{$version} (rbot-#{version})" + gem = Gem::Specification.find{|spec| spec.name == 'rbot' && spec.version.version == version} + if gem + path = gem.full_gem_path debug "installed via rubygems to #{path}" @@datadir = "#{path}/data/rbot" @@coredir = "#{path}/lib/rbot/core" @@ -61,3 +67,4 @@ module Irc end end end +end