summaryrefslogtreecommitdiff
path: root/lib/ohai/system.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ohai/system.rb')
-rw-r--r--lib/ohai/system.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/ohai/system.rb b/lib/ohai/system.rb
index 6c920408..6d3c3328 100644
--- a/lib/ohai/system.rb
+++ b/lib/ohai/system.rb
@@ -130,6 +130,25 @@ module Ohai
freeze_strings!
end
+ def list_plugins(attribute_filter = nil)
+ reset_system
+ load_plugins
+ plugins = {}
+ begin
+ @provides_map.all_plugins(attribute_filter).each do |plugin|
+ #require 'pry';binding.pry
+ plugins[plugin.name] = {}
+ plugins[plugin.name][:optional] = plugin.optional?
+ plugins[plugin.name][:dependencies] = plugin.dependencies
+ plugins[plugin.name][:description] = plugin.description
+ end
+ rescue Ohai::Exceptions::AttributeNotFound, Ohai::Exceptions::DependencyCycle => e
+ logger.error("Encountered error while running plugins: #{e.inspect}")
+ raise
+ end
+ plugins
+ end
+
def run_additional_plugins(plugin_path)
@loader.load_additional(plugin_path).each do |plugin|
logger.trace "Running plugin #{plugin}"