class Hurley::Test

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/hurley/test.rb, line 3
def initialize
  @handlers = []
  yield self if block_given?
end

Public Instance Methods

all_run?() click to toggle source
# File lib/hurley/test.rb, line 48
def all_run?
  @handlers.all?(&:run?)
end
call(request) click to toggle source
# File lib/hurley/test.rb, line 40
def call(request)
  handler = @handlers.detect { |h| h.matches?(request) } ||
    Handler.method(:not_found)
  # Create a new url with fresh state from the url string
  request.url = Url.parse(request.url.to_s)
  handler.call(request)
end
delete(url) click to toggle source
# File lib/hurley/test.rb, line 28
def delete(url)
  handle(:delete, url, &Proc.new)
end
get(url) click to toggle source
# File lib/hurley/test.rb, line 12
def get(url)
  handle(:get, url, &Proc.new)
end
handle(verb, url) click to toggle source
# File lib/hurley/test.rb, line 36
def handle(verb, url)
  @handlers << Handler.new(Request.new(verb, Url.parse(url)), Proc.new)
end
head(url) click to toggle source
# File lib/hurley/test.rb, line 8
def head(url)
  handle(:head, url, &Proc.new)
end
options(url) click to toggle source
# File lib/hurley/test.rb, line 32
def options(url)
  handle(:options, url, &Proc.new)
end
patch(url) click to toggle source
# File lib/hurley/test.rb, line 24
def patch(url)
  handle(:patch, url, &Proc.new)
end
post(url) click to toggle source
# File lib/hurley/test.rb, line 20
def post(url)
  handle(:post, url, &Proc.new)
end
put(url) click to toggle source
# File lib/hurley/test.rb, line 16
def put(url)
  handle(:put, url, &Proc.new)
end