Sha256: ef5147b208a737cdb8023780790de4e279b2c9ac8a4f6a7e3deffc230e4178da

Contents?: true

Size: 746 Bytes

Versions: 5

Compression:

Stored size: 746 Bytes

Contents

module Skylight
  module Normalizers
    class ProcessAction < Normalizer
      register "process_action.action_controller"

      CAT = "app.controller.request".freeze
      PAYLOAD_KEYS = %w[ controller action params format method path ].map(&:to_sym).freeze

      def normalize(trace, name, payload)
        trace.endpoint = controller_action(payload)
        [ CAT, trace.endpoint, nil, normalize_payload(payload) ]
      end

    private

      def controller_action(payload)
        "#{payload[:controller]}##{payload[:action]}"
      end

      def normalize_payload(payload)
        normalized = {}

        PAYLOAD_KEYS.each do |key|
          normalized[key] = payload[key]
        end

        normalized
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
skylight-0.2.5 lib/skylight/normalizers/process_action.rb
skylight-0.2.4 lib/skylight/normalizers/process_action.rb
skylight-0.3.0.rc.5 lib/skylight/normalizers/process_action.rb
skylight-0.3.0.rc.4 lib/skylight/normalizers/process_action.rb
skylight-0.3.0.rc.3 lib/skylight/normalizers/process_action.rb