Class: NewRelic::Agent::NewRelicService::Marshaller

Inherits:
Object
  • Object
show all
Defined in:
lib/new_relic/agent/new_relic_service.rb

Direct Known Subclasses

JsonMarshaller, PrubyMarshaller

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.human_readable?Boolean

Returns:

  • (Boolean)


434
435
436
# File 'lib/new_relic/agent/new_relic_service.rb', line 434

def self.human_readable?
  false
end

Instance Method Details

#default_encoderObject



430
431
432
# File 'lib/new_relic/agent/new_relic_service.rb', line 430

def default_encoder
  Encoders::Identity
end

#parsed_error(error) ⇒ Object



411
412
413
414
415
416
417
# File 'lib/new_relic/agent/new_relic_service.rb', line 411

def parsed_error(error)
  error_class = error['error_type'].split('::') \
    .inject(Module) {|mod,const| mod.const_get(const) }
  error_class.new(error['message'])
rescue NameError
  CollectorError.new("#{error['error_type']}: #{error['message']}")
end

#prepare(data, options = {}) ⇒ Object



419
420
421
422
423
424
425
426
427
428
# File 'lib/new_relic/agent/new_relic_service.rb', line 419

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