class Nucleon::Action::Plugin::List

Public Class Methods

describe() click to toggle source
Calls superclass method
   # File lib/nucleon/action/plugin/list.rb
10 def self.describe
11   super(:plugin, :list, 15)
12 end

Public Instance Methods

arguments() click to toggle source
   # File lib/nucleon/action/plugin/list.rb
25 def arguments
26   []
27 end
configure() click to toggle source
Calls superclass method
   # File lib/nucleon/action/plugin/list.rb
17 def configure
18   super do
19     
20   end
21 end
execute() click to toggle source
Calls superclass method
   # File lib/nucleon/action/plugin/list.rb
32 def execute
33   super do |node|
34     ensure_network do
35       last_namespace   = nil
36       last_plugin_type = nil
37       
38       Nucleon.loaded_plugins.each do |namespace, plugins|
39         info('------------------------------------------------------', { :i18n => false, :prefix => false })
40         prefixed_message(:info, ' ', 'namespace', { :namespace => purple(namespace), :prefix => false })
41         info("\n", { :i18n => false, :prefix => false })
42         
43         provider_info = {}
44         max_width     = 10
45                   
46         plugins.each do |type, providers|
47           prefixed_message(:info, '    ', 'plugin_type', { :type => blue(type), :prefix => false })
48           prefixed_message(:info, '      ', 'providers', { :prefix => false })
49           
50           providers.keys.each do |name|
51             width     = name.to_s.size
52             max_width = width if width > max_width
53           end
54           
55           providers.each do |provider, plugin_info|
56             info("        #{sprintf("%-#{max_width + 10}s", green(provider))}  -  #{yellow(plugin_info[:file])}", { :i18n => false, :prefix => false }) 
57           end
58           info("\n", { :i18n => false, :prefix => false })
59           last_plugin_type = type
60         end
61         last_namespace = namespace
62       end     
63     end
64   end
65 end