class BusyAdministrator::MemoryMiddleware

Public Class Methods

new(app) click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 11
def initialize(app)
  @app = app
end

Public Instance Methods

assets_request?(env) click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 15
def assets_request?(env)
  env['PATH_INFO'].ends_with?('.js') || env['PATH_INFO'].ends_with?('.css')
end
call(env) click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 31
def call(env)
  response = nil

  if assets_request?(env) || disabled?
    response = @app.call(env)
  else
    results = BusyAdministrator::MemoryUtils.profile(gc_enabled: gc_enabled?) do |analyzer|
      env['busy-administrator-analyzer'] = analyzer

      response = @app.call(env)
    end

    BusyAdministrator::Display.debug(results)
  end

  response
end
disabled?() click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 23
def disabled?
  not enabled?
end
enabled?() click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 19
def enabled?
  ENV['BUSY_ADMINISTRATOR_PROFILE'] == "YES"
end
gc_enabled?() click to toggle source
# File lib/busy-administrator/memory_middleware.rb, line 27
def gc_enabled?
  ENV['BUSY_ADMINISTRATOR_GC_ENABLED'] == "YES"
end