class OneApm::Support::Marshaller
Public Class Methods
human_readable?()
click to toggle source
# File lib/one_apm/support/marshaller.rb, line 43 def self.human_readable? false end
Public Instance Methods
default_encoder()
click to toggle source
# File lib/one_apm/support/marshaller.rb, line 39 def default_encoder Encoders::Identity end
parsed_error(error)
click to toggle source
# File lib/one_apm/support/marshaller.rb, line 10 def parsed_error(error) error_type = error['error_type'] error_message = error['message'] exception = case error_type when 'OneApm::LicenseException' OneApm::LicenseException.new(error_message) when 'OneApm::ForceRestartException' OneApm::ForceRestartException.new(error_message) when 'OneApm::ForceDisconnectException' OneApm::ForceDisconnectException.new(error_message) else OneApm::Support::Marshaller::CollectorError.new("#{error['error_type']}: #{error['message']}") end exception end
prepare(data, options={})
click to toggle source
# File lib/one_apm/support/marshaller.rb, line 28 def prepare(data, options={}) encoder = options[:encoder] || default_encoder if data.respond_to?(:to_collector_array) data.to_collector_array(encoder) elsif data.kind_of?(Array) data.map { |element| prepare(element, options) } else data end end
Protected Instance Methods
return_value(data)
click to toggle source
# File lib/one_apm/support/marshaller.rb, line 49 def return_value(data) if data.respond_to?(:has_key?) if data.has_key?('exception') raise parsed_error(data['exception']) elsif data.has_key?('return_value') return data['return_value'] end end OneApm::Manager.logger.debug("Unexpected response from collector: #{data}") nil end