Class: Datadog::Tracing::Contrib::ActiveSupport::Notifications::Subscription::Handler
- Inherits:
-
Object
- Object
- Datadog::Tracing::Contrib::ActiveSupport::Notifications::Subscription::Handler
- Defined in:
- lib/datadog/tracing/contrib/active_support/notifications/subscription.rb
Overview
Wrapper for subscription handler
Instance Attribute Summary collapse
-
#block ⇒ Object
readonly
Returns the value of attribute block.
Instance Method Summary collapse
-
#initialize(&block) ⇒ Handler
constructor
A new instance of Handler.
- #run(span, name, id, payload) ⇒ Object
- #run!(*args) ⇒ Object
Constructor Details
#initialize(&block) ⇒ Handler
Returns a new instance of Handler.
110 111 112 |
# File 'lib/datadog/tracing/contrib/active_support/notifications/subscription.rb', line 110 def initialize(&block) @block = block end |
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
108 109 110 |
# File 'lib/datadog/tracing/contrib/active_support/notifications/subscription.rb', line 108 def block @block end |
Instance Method Details
#run(span, name, id, payload) ⇒ Object
114 115 116 117 118 119 120 |
# File 'lib/datadog/tracing/contrib/active_support/notifications/subscription.rb', line 114 def run(span, name, id, payload) run!(span, name, id, payload) rescue StandardError => e Datadog.logger.debug( "ActiveSupport::Notifications handler for '#{name}' failed: #{e.class.name} #{e.}" ) end |
#run!(*args) ⇒ Object
122 123 124 |
# File 'lib/datadog/tracing/contrib/active_support/notifications/subscription.rb', line 122 def run!(*args) @block.call(*args) end |