Class: Datadog::Contrib::ActiveSupport::Notifications::Subscription::Handler

Inherits:
Object
  • Object
show all
Defined in:
lib/ddtrace/contrib/active_support/notifications/subscription.rb

Overview

Wrapper for subscription handler

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Handler

Returns a new instance of Handler.



107
108
109
# File 'lib/ddtrace/contrib/active_support/notifications/subscription.rb', line 107

def initialize(&block)
  @block = block
end

Instance Attribute Details

#blockObject (readonly)

Returns the value of attribute block.



105
106
107
# File 'lib/ddtrace/contrib/active_support/notifications/subscription.rb', line 105

def block
  @block
end

Instance Method Details

#run(span, name, id, payload) ⇒ Object



111
112
113
114
115
# File 'lib/ddtrace/contrib/active_support/notifications/subscription.rb', line 111

def run(span, name, id, payload)
  run!(span, name, id, payload)
rescue StandardError => e
  Datadog::Tracer.log.debug("ActiveSupport::Notifications handler for '#{name}' failed: #{e.message}")
end

#run!(*args) ⇒ Object



117
118
119
# File 'lib/ddtrace/contrib/active_support/notifications/subscription.rb', line 117

def run!(*args)
  @block.call(*args)
end