Sha256: ba70991b8866ba7efa030872588333662f962b1fc1d5c54bd6839ce17ddcf32c

Contents?: true

Size: 575 Bytes

Versions: 34

Compression:

Stored size: 575 Bytes

Contents

module Messaging
  module Instrumentation
    NAMESPACE = 'messaging'

    def instrument(event, extra = {})
      ActiveSupport::Notifications.instrument("#{NAMESPACE}.#{event}", extra) do |extra|
        yield(extra) if block_given?
      end
    end

    def self.subscribe(event)
      ActiveSupport::Notifications.subscribe("#{NAMESPACE}.#{event}") do |*args|
        yield ActiveSupport::Notifications::Event.new(*args) if block_given?
      end
    end

    def self.unsubscribe(subscriber)
      ActiveSupport::Notifications.unsubscribe(subscriber)
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
messaging-3.7.0 lib/messaging/instrumentation.rb
messaging-3.6.2 lib/messaging/instrumentation.rb
messaging-3.6.1 lib/messaging/instrumentation.rb
messaging-3.6.0 lib/messaging/instrumentation.rb
messaging-3.5.7 lib/messaging/instrumentation.rb
messaging-3.5.6 lib/messaging/instrumentation.rb
messaging-3.5.5 lib/messaging/instrumentation.rb
messaging-3.5.4 lib/messaging/instrumentation.rb
messaging-3.5.3 lib/messaging/instrumentation.rb
messaging-3.5.2 lib/messaging/instrumentation.rb
messaging-3.5.1 lib/messaging/instrumentation.rb
messaging-3.4.3 lib/messaging/instrumentation.rb
messaging-3.4.2 lib/messaging/instrumentation.rb
messaging-3.4.1 lib/messaging/instrumentation.rb