class AppInsights::Middlewares

Public Class Methods

configure(settings = {}) click to toggle source
# File lib/appinsights/middlewares.rb, line 6
def configure(settings = {})
  @settings = settings || {}
  @enabled_middlewares = constantize_middlewares
end
enabled() click to toggle source
# File lib/appinsights/middlewares.rb, line 11
def enabled
  @enabled_middlewares || []
end
settings() click to toggle source
# File lib/appinsights/middlewares.rb, line 15
def settings
  @settings || {}
end

Private Class Methods

constantize_middlewares() click to toggle source
# File lib/appinsights/middlewares.rb, line 21
def constantize_middlewares
  constants = @settings.map do |middleware|
    begin
      if middleware['enabled']
        c = const_get middleware['name']
        args = middleware['initialize'] || {}

        [c, args]
      end
    rescue NameError => e
      # FIXME: Log, ignore or fail?
      raise AppInsights::UnknownMiddleware, e.message
    end
  end

  constants.compact.uniq
end