]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
[registry] use tc by-default if available
authorMatthias Hecker <apoc@sixserv.org>
Wed, 5 Mar 2014 12:04:47 +0000 (13:04 +0100)
committerMatthias Hecker <apoc@sixserv.org>
Wed, 5 Mar 2014 12:04:47 +0000 (13:04 +0100)
lib/rbot/ircbot.rb

index 02414a0747dd5501ad0613feb094cbbe269796be..34c829261a2be3c66e21274d00575008ef8629ea 100644 (file)
@@ -435,8 +435,8 @@ class Bot
       },
       :desc => "Percentage of IRC penalty to consider when sending messages to prevent being disconnected for excess flood. Set to 0 to disable penalty control.")
     Config.register Config::StringValue.new('core.db',
-      :default => "dbm",
-      :wizard => true, :default => "dbm",
+      :default => default_db,
+      :wizard => true,
       :validate => Proc.new { |v| Registry::formats.include? v },
       :requires_restart => true,
       :desc => "DB adaptor to use for storing the plugin data/registries. Options: " + Registry::formats.join(', '))
@@ -822,6 +822,16 @@ class Bot
     end
   end
 
+  # Determine if tokyocabinet is installed, if it is use it as a default.
+  def default_db
+    begin
+      require 'tokyocabinet'
+      return 'tc'
+    rescue LoadError
+      return 'dbm'
+    end
+  end
+
   def repopulate_botclass_directory
     template_dir = File.join Config::datadir, 'templates'
     if FileTest.directory? @botclass