class Idcf::Cli::Controller::Compute

compute

Public Class Methods

description() click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 17
def description
  'Computeing Service'
end

Protected Instance Methods

api_result(val) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 64
def api_result(val)
  val[val.keys.first]
end
async_id(resource) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 68
def async_id(resource)
  return resource['jobid'] if !resource.nil? && resource.class == Hash
  nil
end
do_async(api, api_result, _o, _executed_link) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 73
def do_async(api, api_result, _o, _executed_link)
  result = recurring_calling(:query_async, [api, async_id(api_result)], 24) do |res|
    api_result(res)['jobstatus'] != 0
  end
  result = api_result(result)
  result = result['jobresult'] if result.class == Hash
  return result if result.nil? || result['errorcode'].present?
  api_result(result)
end
faraday_options(faraday) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 35
def faraday_options(faraday)
  faraday.options.params_encoder = Faraday::FlatParamsEncoder
  faraday
end
faraday_request() click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 31
def faraday_request
  :url_encoded
end
make_field_data(data) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 50
def make_field_data(data)
  make_table_data(data)
end
make_table_data(data) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 40
def make_table_data(data)
  return data unless data.class == Hash
  keys = data.keys
  return data unless keys.count == 2 && keys.include?('count')
  data.each do |k, v|
    return v unless k == 'count'
  end
  data
end
query_async(api, job_id) click to toggle source
# File lib/idcf/cli/controller/compute.rb, line 83
def query_async(api, job_id)
  params = {
    'jobid' => job_id
  }
  api.do(:queryAsyncJobResult, params)
end
raise_api_error_msg(res) click to toggle source

raise api error msg

@param res [Faraday::Responce] @return [String]

# File lib/idcf/cli/controller/compute.rb, line 58
def raise_api_error_msg(res)
  body = api_result(res.body)
  "HTTP status code: #{res.status}, " \
  "Error message: #{body['errortext']}"
end
signature() click to toggle source

signeture

@return String

# File lib/idcf/cli/controller/compute.rb, line 27
def signature
  Idcf::FaradayMiddleware::ComputingSignature
end