module ClassMethods
Defines response handlers on controller classes.
Definitions
def responds
Return this controller's responder.
Signature
-
returns
Responder The responder.
Implementation
def responds
@responder ||= Responder.new
end
def respond_to(context, request)
Bind this controller's responder to a context and request.
Signature
-
parameter
contextController::Base The controller context.
-
parameter
requestRack::Request The request.
-
returns
Responder::Responds | Nil The bound responder, if one has been configured.
Implementation
def respond_to(context, request)
@responder&.respond_to(context, request)
end
def response_for(context, request, response)
Build a response for the negotiated content type.
Signature
-
parameter
contextObject The context.
-
parameter
requestRack::Request The request.
-
parameter
responseArray The response.
-
returns
Array The response.
Implementation
def response_for(context, request, response)
@responder&.respond_to(context, request).with(*response[2])
end