module Xenon::Routing::RouteDirectives
Public Instance Methods
complete(status, body)
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 21 def complete(status, body) map_response complete: true, status: Rack::Utils.status_code(status), body: body do throw :complete end end
extract(lambda) { |call| ... }
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 41 def extract(lambda) yield lambda.call(context) end
extract_request(lambda = nil) { |lambda ? call: request| ... }
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 45 def extract_request(lambda = nil) yield lambda ? lambda.call(context.request) : context.request end
fail(status, developer_message = nil)
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 33 def fail(status, developer_message = nil) body = { status: status, developer_message: developer_message || Rack::Utils::HTTP_STATUS_CODES[status] } complete status, body end
map_request(map) { || ... }
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 7 def map_request(map) context.branch do context.request = map.respond_to?(:call) ? map.call(context.request) : context.request.copy(map) yield end end
map_response(map) { || ... }
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 14 def map_response(map) context.branch do context.response = map.respond_to?(:call) ? map.call(context.response) : context.response.copy(map) yield end end
reject(rejection, info = {})
click to toggle source
# File lib/xenon/routing/route_directives.rb, line 27 def reject(rejection, info = {}) return if rejection.nil? rejection = Rejection.new(rejection, info) unless rejection.is_a?(Rejection) context.rejections << rejection end