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)


368
369
370
# File 'lib/new_relic/agent/new_relic_service.rb', line 368

def self.human_readable?
  false
end

Instance Method Details

#default_encoderObject



364
365
366
# File 'lib/new_relic/agent/new_relic_service.rb', line 364

def default_encoder
  Encoders::Identity
end

#parsed_error(error) ⇒ Object



345
346
347
348
349
350
351
# File 'lib/new_relic/agent/new_relic_service.rb', line 345

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



353
354
355
356
357
358
359
360
361
362
# File 'lib/new_relic/agent/new_relic_service.rb', line 353

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