class Sinatra::Base

def condition(&block)

block returns false.
Add a route condition. The route is considered non-matching when the
def condition(&block)
  @conditions << block
end