module Sqreen::Dependency::Rack

Public Instance Methods

find_handler(&block) click to toggle source
# File lib/sqreen/dependency/rack.rb, line 11
def find_handler(&block)
  Sqreen::Graft::Hook.add('Rack::Server#server') do
    after do |call|
      callback = call.callback
      server = call.returned

      block.call(server)
      callback.disable # do this once, :server is a lazy init accessor
    end
  end
  Sqreen::Graft::Hook['Rack::Server#server'].install
end
on_run(handler, &block) click to toggle source
# File lib/sqreen/dependency/rack.rb, line 24
def on_run(handler, &block)
  Sqreen.log.debug "[#{Process.pid}] #{handler.inspect}"
  hookpoint_name = "#{handler.name}.run"

  Sqreen::Graft::Hook.add(hookpoint_name) do
    before { block.call(handler) }
  end
  Sqreen::Graft::Hook[hookpoint_name].install
end
rackup?() click to toggle source
# File lib/sqreen/dependency/rack.rb, line 34
def rackup?
  return false if Sqreen::Dependency::Rails.server?

  Sqreen::Dependency.const_exist?('Rack::Server') && ObjectSpace.each_object(::Rack::Server).count > 0
end