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