diff options
author | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-08-03 20:07:14 +0000 |
---|---|---|
committer | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-08-03 20:07:14 +0000 |
commit | dd0b318cfd3df017b1ec4e44afc2f4e412fd2033 (patch) | |
tree | e364fc26af86c1105124385d8da2768262e97d23 /lib/rbot/rbotconfig.rb | |
parent | fba4b7bba7a5d15f2b98f4d9f1ece390881c5ae9 (diff) |
Wed Aug 03 15:25:07 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
* Added french language file (TODO most of the plugins just talk english)
* The way the Enum configs were set up, it wasn't possible to add language
files to rbot at runtime (the directory was only scanned at startup). Now
you can set a values Proc, which is called to return a list of allowed
values whenever it's queried.
* Added Config module for determining where we were installed.
Unfortunately rubygems is a total whore in this regard, and I hope the
current hackery I have to do to support it becomes redundant in the
future.
Diffstat (limited to 'lib/rbot/rbotconfig.rb')
-rw-r--r-- | lib/rbot/rbotconfig.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/rbot/rbotconfig.rb b/lib/rbot/rbotconfig.rb new file mode 100644 index 00000000..fad7b032 --- /dev/null +++ b/lib/rbot/rbotconfig.rb @@ -0,0 +1,33 @@ +module Irc + module Config + @@datadir = nil + # setup pkg-based configuration - i.e. where were we installed to, where + # are our data files, etc. + 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" + end + rescue LoadError + debug "no rubygems installed" + end + + if @@datadir.nil? + begin + require 'rbot/pkgconfig' + @@datadir = PKGConfig::DATADIR + rescue LoadError + puts "fatal - no way to determine data dir" + exit 2 + end + end + + def Config.datadir + @@datadir + end + end +end |