Sha256: 310cb673b28cbd1048310911a1fed0513e7c6b085e79dae929202ee042cbcca1

Contents?: true

Size: 819 Bytes

Versions: 4

Compression:

Stored size: 819 Bytes

Contents

# frozen_string_literal: true

module RailsMiniProfiler
  module Tracing
    class Subscriptions
      DEFAULT_SUBSCRIPTIONS = %w[
        sql.active_record
        instantiation.active_record
        render_template.action_view
        render_partial.action_view
        process_action.action_controller
        rails_mini_profiler.total_time
      ].freeze

      class << self
        def setup!(&callback)
          DEFAULT_SUBSCRIPTIONS.each do |event|
            subscribe(event, &callback)
          end
        end

        private

        def subscribe(*subscriptions, &callback)
          subscriptions.each do |subscription|
            ActiveSupport::Notifications.subscribe(subscription) do |event|
              callback.call(event)
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails_mini_profiler-0.7.0 lib/rails_mini_profiler/tracing/subscriptions.rb
rails_mini_profiler-0.6.0 lib/rails_mini_profiler/tracing/subscriptions.rb
rails_mini_profiler-0.5.0 lib/rails_mini_profiler/tracing/subscriptions.rb
rails_mini_profiler-0 lib/rails_mini_profiler/tracing/subscriptions.rb