Class: Sapience::Extensions::Notifications

Inherits:
Object
  • Object
show all
Defined in:
lib/sapience/extensions/notifications.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Notifications

Returns a new instance of Notifications.



28
29
30
# File 'lib/sapience/extensions/notifications.rb', line 28

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

Instance Attribute Details

#metric_nameObject (readonly)

Returns the value of attribute metric_name.



12
13
14
# File 'lib/sapience/extensions/notifications.rb', line 12

def metric_name
  @metric_name
end

#tagsObject (readonly)

Returns the value of attribute tags.



12
13
14
# File 'lib/sapience/extensions/notifications.rb', line 12

def tags
  @tags
end

Class Method Details

.subscribe(pattern, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/sapience/extensions/notifications.rb', line 18

def self.subscribe(pattern, &block)
  if defined?(ActiveSupport::Notifications)
    ::ActiveSupport::Notifications.subscribe(pattern) do |*args|
      block.call ::ActiveSupport::Notifications::Event.new(*args)
    end
  else
    warn "ActiveSupport not available"
  end
end

.use(options = {}) ⇒ Object



14
15
16
# File 'lib/sapience/extensions/notifications.rb', line 14

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

Instance Method Details

#metricsObject



36
37
38
# File 'lib/sapience/extensions/notifications.rb', line 36

def metrics
  Sapience.metrics
end

#record?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/sapience/extensions/notifications.rb', line 32

def record?
  !metrics.nil?
end