Sha256: ac72a234779fe025b93452fe6aff6b25f3bc9d615d97d7196314d8aa368af52f

Contents?: true

Size: 1.04 KB

Versions: 7

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

7 entries across 7 versions & 1 rubygems

Version Path
newrelic_rpm-8.9.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.8.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.7.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.6.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.5.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.4.0 lib/new_relic/agent/new_relic_service/marshaller.rb
newrelic_rpm-8.3.0 lib/new_relic/agent/new_relic_service/marshaller.rb