]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - lib/rbot/rbotconfig.rb
All lib/rbot files are now upgraded to the new logging feature
[user/henk/code/ruby/rbot.git] / lib / rbot / rbotconfig.rb
1 module Irc
2   module Config
3     @@datadir = nil
4
5     # first try for the default path to the data dir    
6     defaultdir = File.expand_path(File.dirname($0) + '/../data')
7
8     if File.directory? "#{defaultdir}/rbot"
9       @@datadir = "#{defaultdir}/rbot"
10     end
11     
12     # setup pkg-based configuration - i.e. where were we installed to, where
13     # are our data files, etc.
14     if @@datadir.nil?
15       begin
16         debug "trying to load rubygems"
17         require 'rubygems'
18         debug "loaded rubygems, looking for rbot-#$version"
19         if $version =~ /(.*)-svn\Z/
20           version = $1
21         else
22           version = $version
23         end
24         gemname, gem = Gem.source_index.find{|name, spec| spec.name == 'rbot' && spec.version.version == version}
25         debug "got gem #{gem}"
26         if gem && path = gem.full_gem_path
27           debug "installed via rubygems to #{path}"
28           @@datadir = "#{path}/data/rbot"
29         else
30           debug "not installed via rubygems"
31         end
32       rescue LoadError,NameError,NoMethodError
33         debug "no rubygems installed"
34       end
35     end
36
37     if @@datadir.nil?
38       begin
39         require 'rbot/pkgconfig'
40         @@datadir = PKGConfig::DATADIR
41       rescue LoadError
42         error "fatal - no way to determine data dir"
43         exit 2
44       end
45     end
46     
47     def Config.datadir
48       @@datadir
49     end
50   end
51 end