]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/config.rb
use m.thread.nil? rather than longer m.thread == nil
[user/henk/code/ruby/rbot.git] / lib / rbot / config.rb
index 360cba01867c548339e2daca78dbfe9ac324926c..906103797f55c2e0f7a78b21ae00dfc85dcea903 100644 (file)
@@ -63,18 +63,20 @@ module Config
     end
     def get
       return @manager.config[@key] if @manager.config.has_key?(@key)
-      return @default
+      return default
     end
     alias :value :get
     def set(value, on_change = true)
       @manager.config[@key] = value
       @manager.changed = true
       @on_change.call(@manager.bot, value) if on_change && @on_change
+      return self
     end
     def unset
       @manager.config.delete(@key)
       @manager.changed = true
       @on_change.call(@manager.bot, value) if @on_change
+      return self
     end
 
     # set string will raise ArgumentErrors on failed parse/validate
@@ -287,9 +289,13 @@ module Config
       return false
     end
 
-    # TODO should I implement this via Value or leave it direct?
-    #    def []=(key, value)
-    #    end
+    def []=(key, value)
+      return @items[key.to_sym].set(value) if @items.has_key?(key.to_sym)
+      if @config.has_key?(key.to_sym)
+        warning _("Unregistered lookup #{key.to_sym.inspect}")
+        return @config[key.to_sym] = value
+      end
+    end
 
     # pass everything else through to the hash
     def method_missing(method, *args, &block)
@@ -342,6 +348,7 @@ module Config
     end
 
     def run()
+      $stdout.sync = true
       puts _("First time rbot configuration wizard")
       puts "===================================="
       puts _("This is the first time you have run rbot with a config directory of: #{@bot.botclass}")