Sha256: c6cb12073b74d3711c5b3ef1c88313a952f066232ded74293bf8f7f096ffb7c9
Contents?: true
Size: 1.47 KB
Versions: 5
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true module PlainApm module Hooks class ActionView < ActiveSupportSubscriber NOTIFICATION_PATTERN = /\A[^!]\w+\.action_view\Z/.freeze private def notification_pattern NOTIFICATION_PATTERN end def payload(event) name, base = attributes_from_notification(event) payload = event.payload case name when "render_collection" base.tap do |o| o[:identifier] = identifier(payload[:identifier]) o[:layout] = payload[:layout] o[:count] = payload[:count] o[:cache_hits] = payload[:cache_hits] end when "render_layout" base.tap do |o| o[:identifier] = identifier(payload[:identifier]) end when "render_template" base.tap do |o| o[:identifier] = identifier(payload[:identifier]) o[:layout] = payload[:layout] end when "render_partial" base.tap do |o| o[:identifier] = identifier(payload[:identifier]) o[:layout] = payload[:layout] o[:cache_hit] = payload[:cache_hit] end else nil end end # strip rails root def identifier(id) return id if self.class.rails_root.nil? || id.nil? id.start_with?(self.class.rails_root) ? id[self.class.rails_root.length + 1..-1] : id # standard:disable Style/SlicingWithRange end end end end
Version data entries
5 entries across 5 versions & 1 rubygems