class ConnectionPool::TimedStack

def reap(idle_seconds, &block)

Reaps connections that were checked in more than +idle_seconds+ ago.
#
def reap(idle_seconds, &block)
  raise ArgumentError, "reap must receive a block" unless block
  raise ArgumentError, "idle_seconds must be a number" unless idle_seconds.is_a?(Numeric)
  raise ConnectionPool::PoolShuttingDownError if @shutdown_block
  idle.times do
    conn =
      @mutex.synchronize do
        raise ConnectionPool::PoolShuttingDownError if @shutdown_block
        reserve_idle_connection(idle_seconds)
      end
    break unless conn
    block.call(conn)
  end
end