]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Display plugin status after rescan
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 27 Jul 2006 23:09:48 +0000 (23:09 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 27 Jul 2006 23:09:48 +0000 (23:09 +0000)
lib/rbot/ircbot.rb
lib/rbot/plugins.rb

index b673c673c0c8f920e54ef4fdcf20df482da3ce17..fac6c290891421af306e1358e13cab540f55ced9 100644 (file)
@@ -1003,11 +1003,11 @@ class IrcBot
           say m.replyto, "pong"
         when (/^rescan$/i)
           if(@auth.allow?("config", m.source, m.replyto))
-            m.reply "Saving ..."
+            m.reply "saving ..."
             save
-            m.reply "Rescanning ..."
+            m.reply "rescanning ..."
             rescan
-            m.okay
+            m.reply "done. #{@plugins.status(true)}"
           end
         when (/^quiet$/i)
           if(auth.allow?("talk", m.source, m.replyto))
index 9fa7ad88ecbe5c5297a5e339c07eefdc7af804ce..b735c4c5f8a49e10d7fddf74084fc31d347b1ad5 100644 (file)
@@ -299,22 +299,37 @@ module Plugins
       cleanup
       @@plugins = Hash.new
       scan
+
     end
 
-    # return list of help topics (plugin names)
-    def helptopics
+    def status(short=false)
       # Active plugins first
       if(@@plugins.length > 0)
-        list = " [#{length} plugin#{'s' if length > 1}: " + @@plugins.values.uniq.collect{|p| p.name}.sort.join(", ")
+        list = "#{length} plugin#{'s' if length > 1}"
+        if short
+          list << " loaded"
+        else
+          list << ": " + @@plugins.values.uniq.collect{|p| p.name}.sort.join(", ")
+        end
       else
-        list = " [no plugins active"
+        list = "no plugins active"
       end
       # Ignored plugins next
-      list << "; #{Underline}#{@ignored.length} plugin#{'s' if @ignored.length > 1} ignored#{Underline}: use #{Bold}help ignored plugins#{Bold} to see why" unless @ignored.empty?
+      unless @ignored.empty?
+        list << "; #{Underline}#{@ignored.length} plugin#{'s' if @ignored.length > 1} ignored#{Underline}"
+        list << ": use #{Bold}help ignored plugins#{Bold} to see why" unless short
+      end
       # Failed plugins next
-      list << "; #{Reverse}#{@failed.length} plugin#{'s' if @failed.length > 1} failed to load#{Reverse}: use #{Bold}help failed plugins#{Bold} to see why" unless @failed.empty?
-      list << "]"
-      return list
+      unless @failed.empty?
+        list << "; #{Reverse}#{@failed.length} plugin#{'s' if @failed.length > 1} failed to load#{Reverse}"
+        list << ": use #{Bold}help failed plugins#{Bold} to see why" unless short
+      end
+      list
+    end
+
+    # return list of help topics (plugin names)
+    def helptopics
+      return " [#{status}]"
     end
 
     def length