Updated mcollective.init according to OSCI-658
[packages/precise/mcollective.git] / plugins / mcollective / application / help.rb
diff --git a/plugins/mcollective/application/help.rb b/plugins/mcollective/application/help.rb
new file mode 100644 (file)
index 0000000..09395eb
--- /dev/null
@@ -0,0 +1,28 @@
+module MCollective
+  class Application::Help<Application
+    description "Application list and help"
+    usage "rpc help [application name]"
+
+    def post_option_parser(configuration)
+      configuration[:application] = ARGV.shift if ARGV.size > 0
+    end
+
+    def main
+      if configuration.include?(:application)
+        puts Applications[configuration[:application]].help
+      else
+        puts "The Marionette Collective version #{MCollective.version}"
+        puts
+
+        Applications.list.sort.each do |app|
+          begin
+            puts "  %-15s %s" % [app, Applications[app].application_description]
+          rescue
+          end
+        end
+
+        puts
+      end
+    end
+  end
+end