Class: Julewire::Rails::Subscribers::Event

Inherits:
Object
  • Object
show all
Extended by:
Core::Integration::SubscriberInstall
Includes:
Core::Integration::EventSubscriber
Defined in:
lib/julewire/rails/subscribers/event.rb

Constant Summary collapse

STRUCTURED_EVENT_FILES =
%w[
  action_controller/structured_event_subscriber
  action_dispatch/structured_event_subscriber
  action_view/structured_event_subscriber
  active_record/structured_event_subscriber
].freeze
REQUEST_STARTED =
"action_controller.request_started"
REQUEST_COMPLETED =
"action_controller.request_completed"
REQUEST_CONTEXT_KEYS =
%i[controller action format].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.install!(configuration) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/julewire/rails/subscribers/event.rb', line 25

def install!(configuration)
  return reset! unless configuration.structured_events?

  require_structured_event_subscribers
  reporter = Julewire::RailsSupport::EventReporter.default
  return unless Julewire::RailsSupport::EventReporter.subscribable?(reporter)

  install_subscriber(configuration, enabled: true) do |subscriber|
    Julewire::RailsSupport::EventReporter.subscribe(reporter, subscriber) do |event|
      subscriber.accept?(event)
    end
  end
end

Instance Method Details

#accept?(event) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
49
50
51
52
53
54
# File 'lib/julewire/rails/subscribers/event.rb', line 46

def accept?(event)
  return false unless @configuration.structured_events?
  return false if Suppression.active?

  name = event[:name].to_s
  return false if excluded_event?(name)

  included_event?(name)
end