class InfluxDB::Rails::Middleware::Subscriber

Subscriber acts as base class for different *Subscriber classes, which are intended as ActiveSupport::Notifications.subscribe consumers.

Attributes

configuration[R]

Public Class Methods

new(configuration) click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 14
def initialize(configuration)
  @configuration = configuration
end

Public Instance Methods

call(*) click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 18
def call(*)
  raise NotImplementedError, "must be implemented in subclass"
end

Private Instance Methods

enabled?() click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 33
def enabled?
  configuration.instrumentation_enabled? &&
    !configuration.ignore_current_environment?
end
location() click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 38
def location
  current = InfluxDB::Rails.current
  [
    current.controller,
    current.action,
  ].reject(&:blank?).join("#")
end
tags(tags) click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 24
def tags(tags)
  result = tags.merge(InfluxDB::Rails.current.tags)
  result = configuration.tags_middleware.call(result)
  result.reject! do |_, value|
    value.nil? || value == ""
  end
  result
end