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