require 'active_support/core_ext/hash'
require 'rack'
require 'tilt'

require 'freddie/version'
require 'freddie/context'
require 'freddie/handlers'
require 'freddie/application'

module Freddie
  class FreddieError < StandardError ; end
  class NotFoundError < FreddieError ; end
  class MissingHandlerError < FreddieError ; end
end

def Freddie(&block)
  app = Class.new(Freddie::Application)
  app.block = block
  app
end