Class: EPC::Command::ListServiceversionsCommand

Inherits:
BaseCommand show all
Defined in:
lib/epc/command/serviceversion/list_serviceversions_command.rb

Constant Summary

Constants inherited from BaseCommand

BaseCommand::GIVEUP_TICKS, BaseCommand::SLEEP_TIME, BaseCommand::TICKER_TICKS

Instance Attribute Summary

Attributes inherited from BaseCommand

#client, #klass_name, #object_id, #object_type, #options, #target_id, #target_type

Instance Method Summary collapse

Methods inherited from BaseCommand

#check_options, #context_params, #context_params=, #go, include_module, inherited, #initialize, required_options, #say_err

Methods included from PersistentAttributes

#auth_token, #caller_id, #target_url

Constructor Details

This class inherits a constructor from EPC::Command::BaseCommand

Instance Method Details

#execute(args = []) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/epc/command/serviceversion/list_serviceversions_command.rb', line 4

def execute(args = [])
  status, response, headers = client.get(EPC::Config::SERVICE_VERSIONS_PATH)

  if status.failure?
    say_err("Request failed: [#{response[:message]}]")
  elsif response.empty?
    say("No service-versions have been defined.")
    say("You can define one with epc create service-version.")
  else
    response.each do |service_version|
      service_version[:service_definition_id], service_version[:service_definition_name] = if service_version[:service_definition].present?
        [service_version[:service_definition][:id], service_version[:service_definition][:name]]
      else
        [nil, nil]
      end
    end
    service_versions_table = EPC::TabularOutputter.new(response, {:id => "ID", :label => "LABEL", :service_definition_id => "DEFINITION ID", :service_definition_name => "DEFINITION NAME"})
    say(service_versions_table.print)
  end
  return status

end