class HammerCLI::Apipie::Command

Public Class Methods

apipie_options(*args) click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 29
def self.apipie_options(*args)
  self.build_options(*args)
end
create_option_builder() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 21
def self.create_option_builder
  builder = super
  builder.builders += [
    OptionBuilder.new(resource, resource.action(action), :require_options => false)
  ] if resource_defined?
  builder
end
desc(desc=nil) click to toggle source
Calls superclass method HammerCLI::AbstractCommand.desc
# File lib/hammer_cli/apipie/command.rb, line 15
def self.desc(desc=nil)
  super(desc) || resource.action(action).apidoc[:apis][0][:short_description] || " "
rescue
  " "
end

Protected Class Methods

option(switches, type, description, opts = {}, &block) click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 77
def self.option(switches, type, description, opts = {}, &block)
  HammerCLI::Apipie::OptionDefinition.new(switches, type, description, opts).tap do |option|
    declared_options << option
    block ||= option.default_conversion_block
    define_accessors_for(option, &block)
  end
end

Public Instance Methods

execute() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 33
def execute
  d = send_request
  print_data(d)
  return HammerCLI::EX_OK
end

Protected Instance Methods

print_data(data) click to toggle source
print_success_message(response) click to toggle source
request_headers() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 49
def request_headers
  {}
end
request_options() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 53
def request_options
  {}
end
request_params() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 57
def request_params
  method_options(options)
end
send_request() click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 41
def send_request
  if resource && resource.has_action?(action)
    resource.call(action, request_params, request_headers, request_options)
  else
    raise HammerCLI::OperationNotSupportedError, "The server does not support such operation."
  end
end
success_message_params(response) click to toggle source
# File lib/hammer_cli/apipie/command.rb, line 66
def success_message_params(response)
  response
end