summaryrefslogtreecommitdiff
path: root/lib/rbot/rbotconfig.rb
diff options
context:
space:
mode:
authorTom Gilbert <tom@linuxbrit.co.uk>2005-08-03 20:07:14 +0000
committerTom Gilbert <tom@linuxbrit.co.uk>2005-08-03 20:07:14 +0000
commitdd0b318cfd3df017b1ec4e44afc2f4e412fd2033 (patch)
treee364fc26af86c1105124385d8da2768262e97d23 /lib/rbot/rbotconfig.rb
parentfba4b7bba7a5d15f2b98f4d9f1ece390881c5ae9 (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.rb33
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