Sha256: d7b693c3c0eaf6d8f9d42eb0459f13490a4546ffff7c0a0361275e8140902d49

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

module Nucleon
module Action
module Cloud
class Inspect < Nucleon.plugin_class(:nucleon, :cloud_action)
  
  #-----------------------------------------------------------------------------
  # Info
  
  def self.describe
    super(:cloud, :inspect, 955)
  end
 
  #-----------------------------------------------------------------------------
  # Settings
 
  def configure
    super do
      codes :configuration_parse_failed
      
      register_array :elements
      register_translator :format, :json
    end
  end
  
  #---
  
  def ignore
    node_ignore
  end
   
  def arguments
    [ :elements ]
  end
  
  #-----------------------------------------------------------------------------
  # Operations
   
  def execute
    super do |node|
      ensure_network do
        if settings[:elements].empty?
          data = network.config.export
        else
          data = network.config.get(settings[:elements])
        end
        if network.config.status == code.success
          render data, :format => settings[:format]
        else
          myself.status = code.configuration_parse_failed
        end
      end
    end
  end
end
end
end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
corl-0.5.11 lib/nucleon/action/cloud/inspect.rb
corl-0.5.10 lib/nucleon/action/cloud/inspect.rb
corl-0.5.9 lib/nucleon/action/cloud/inspect.rb
corl-0.5.8 lib/nucleon/action/cloud/inspect.rb
corl-0.5.7 lib/nucleon/action/cloud/inspect.rb
corl-0.5.6 lib/nucleon/action/cloud/inspect.rb
corl-0.5.5 lib/nucleon/action/cloud/inspect.rb
corl-0.5.4 lib/nucleon/action/cloud/inspect.rb
corl-0.5.3 lib/nucleon/action/cloud/inspect.rb
corl-0.5.2 lib/nucleon/action/cloud/inspect.rb