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 29
def enabled?
  configuration.instrumentation_enabled? &&
    !configuration.ignore_current_environment?
end
location() click to toggle source
# File lib/influxdb/rails/middleware/subscriber.rb, line 34
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)
  merged_tags = tags.merge(InfluxDB::Rails.current.tags).reject { |_, value| value.nil? }
  configuration.tags_middleware.call(merged_tags)
end