- begin
- require 'rubygems'
- gemname, gem = Gem.source_index.find{|name, 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"
- else
- debug "not installed via rubygems"
+ if @@datadir.nil? or @@coredir.nil?
+ begin
+ debug "trying to load rubygems"
+ require 'rubygems'
+ if $version =~ /^(.*)-(?:git|rc\d)(?: .*)?$/
+ version = $1
+ else
+ version = $version
+ end
+ 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}"
+ if File.directory? "#{path}/data/rbot"
+ @@datadir = "#{path}/data/rbot"
+ end
+ if File.directory? "#{path}/lib/rbot/core"
+ @@coredir = "#{path}/lib/rbot/core"
+ end
+ else
+ debug "not installed via rubygems"
+ end
+ rescue LoadError,NameError,NoMethodError
+ debug "no rubygems installed"