Sha256: b98f67187d23dff9d283d681a1052935fbdc8a4d80aa51c6720dfe9f15ee9da0

Contents?: true

Size: 1.9 KB

Versions: 17

Compression:

Stored size: 1.9 KB

Contents

module Nucleon
module Action
module Plugin
class List < Nucleon.plugin_class(:nucleon, :cloud_action)
   
  #-----------------------------------------------------------------------------
  # Info
  
  def self.describe
    super(:plugin, :list, 15)
  end
  
  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do
      
    end
  end
  
  #---
  
  def arguments
    []
  end
  
  #-----------------------------------------------------------------------------
  # Operations
   
  def execute
    super do |node|
      ensure_network do
        last_namespace   = nil
        last_plugin_type = nil
        
        Nucleon.loaded_plugins.each do |namespace, plugins|
          info('------------------------------------------------------', { :i18n => false, :prefix => false })
          prefixed_message(:info, ' ', 'namespace', { :namespace => purple(namespace), :prefix => false })
          info("\n", { :i18n => false, :prefix => false })
          
          provider_info = {}
          max_width     = 10
                    
          plugins.each do |type, providers|
            prefixed_message(:info, '    ', 'plugin_type', { :type => blue(type), :prefix => false })
            prefixed_message(:info, '      ', 'providers', { :prefix => false })
            
            providers.keys.each do |name|
              width     = name.to_s.size
              max_width = width if width > max_width
            end
            
            providers.each do |provider, plugin_info|
              info("        #{sprintf("%-#{max_width + 10}s", green(provider))}  -  #{yellow(plugin_info[:file])}", { :i18n => false, :prefix => false }) 
            end
            info("\n", { :i18n => false, :prefix => false })
            last_plugin_type = type
          end
          last_namespace = namespace
        end     
      end
    end
  end
end
end
end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
corl-0.5.18 lib/nucleon/action/plugin/list.rb
corl-0.5.17 lib/nucleon/action/plugin/list.rb
corl-0.5.16 lib/nucleon/action/plugin/list.rb
corl-0.5.15 lib/nucleon/action/plugin/list.rb
corl-0.5.14 lib/nucleon/action/plugin/list.rb
corl-0.5.13 lib/nucleon/action/plugin/list.rb
corl-0.5.12 lib/nucleon/action/plugin/list.rb
corl-0.5.11 lib/nucleon/action/plugin/list.rb
corl-0.5.10 lib/nucleon/action/plugin/list.rb
corl-0.5.9 lib/nucleon/action/plugin/list.rb
corl-0.5.8 lib/nucleon/action/plugin/list.rb
corl-0.5.7 lib/nucleon/action/plugin/list.rb
corl-0.5.6 lib/nucleon/action/plugin/list.rb
corl-0.5.5 lib/nucleon/action/plugin/list.rb
corl-0.5.4 lib/nucleon/action/plugin/list.rb
corl-0.5.3 lib/nucleon/action/plugin/list.rb
corl-0.5.2 lib/nucleon/action/plugin/list.rb