class Qmetrics::Response
Attributes
description[R]
qmetrics_version[R]
result[R]
status[R]
time_elapsed[R]
Public Class Methods
new(qmetrics_result,api_methods)
click to toggle source
# File lib/qmetrics/response.rb, line 5 def initialize(qmetrics_result,api_methods) @api_methods = api_methods @status = qmetrics_result["result"][0][1] @description = qmetrics_result["result"][1][1] @time_elapsed = "#{qmetrics_result["result"][2][1]}ms" @qmetrics_version = qmetrics_result["result"][3][1] qmetrics_result.delete("result") @result = zip_results(qmetrics_result) end
Private Instance Methods
clean_output(output)
click to toggle source
# File lib/qmetrics/response.rb, line 41 def clean_output(output) output.map { |n| n.select { |k, v| !(junk_data?(k) && junk_data?(v)) } } end
hashify_pairs(results)
click to toggle source
# File lib/qmetrics/response.rb, line 45 def hashify_pairs(results) results.inject({}) do |a, v| a.merge(purge_entities(v.first) => purge_entities(v.last)) end end
junk_data?(value)
click to toggle source
# File lib/qmetrics/response.rb, line 60 def junk_data?(value) ["...","","-"].include? value end
purge_entities(value)
click to toggle source
# File lib/qmetrics/response.rb, line 55 def purge_entities(value) [' ', '<'].each{|t| value.gsub!(t,"")} value.strip end
purge_entities_arr(values)
click to toggle source
# File lib/qmetrics/response.rb, line 51 def purge_entities_arr(values) values.map {|n| purge_entities(n) } end
translate_method_name(java_method_name)
click to toggle source
# File lib/qmetrics/response.rb, line 26 def translate_method_name(java_method_name) @api_methods.invert[java_method_name] end
zip_arrs(r)
click to toggle source
# File lib/qmetrics/response.rb, line 30 def zip_arrs(r) r.first.size > 2 ? clean_output(zip_keys_and_values(r)) : hashify_pairs(r) end
zip_keys_and_values(results)
click to toggle source
# File lib/qmetrics/response.rb, line 34 def zip_keys_and_values(results) h = purge_entities_arr(results.first) results[1..results.size].inject([]) do |a, v| a.push(Hash[h.zip(purge_entities_arr(v))]) end end
zip_results(qmetrics_result)
click to toggle source
# File lib/qmetrics/response.rb, line 18 def zip_results(qmetrics_result) @result = {} qmetrics_result.each do |k, v| @result[translate_method_name(k)] = zip_arrs(v) end @result end