Sha256: b936b1c09900a4acb13a6c5b60b8a012a81e7e9a9742dc2e48c2ca14a19cfed1

Contents?: true

Size: 1.04 KB

Versions: 11

Compression:

Stored size: 1.04 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.

module NewRelic
  module Agent
    class NewRelicService
      class Marshaller
        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

        def default_encoder
          Encoders::Identity
        end

        def self.human_readable?
          false
        end

        protected

        def return_value(data)
          if data.respond_to?(:has_key?) && data.has_key?('return_value')
            data['return_value']
          else
            ::NewRelic::Agent.logger.debug("Unexpected response from collector: #{data}")
            nil
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
newrelic_rpm-8.2.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.1.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.0.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-7.2.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-7.1.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-7.0.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-6.15.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-6.14.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-6.13.1 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-6.13.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-6.12.0.367 lib/new_relic/agent/new_relic_service/marshaller.rb