Sha256: 49174084f5bfd680eedd997af455d7f1679220a4038da6fb32da45dbba5c41ca

Contents?: true

Size: 638 Bytes

Versions: 1

Compression:

Stored size: 638 Bytes

Contents

require "active_support"
require "active_support/notifications"

module Sapience
  module Extensions
    class Notifications
      attr_reader :tags, :metric_name

      def self.use(options = {})
        new(options)
      end

      def self.subscribe(pattern, &block)
        ::ActiveSupport::Notifications.subscribe(pattern) do |*args|
          block.call ::ActiveSupport::Notifications::Event.new(*args)
        end
      end

      def initialize(options = {})
        @tags = options[:tags] || []
      end

      def record?
        !metrics.nil?
      end

      def metrics
        Sapience.metrics
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sapience-1.0.4 lib/sapience/extensions/notifications.rb