class Kraftwerk::ResponseFormatter
Public Instance Methods
call(response:, params:)
click to toggle source
# File lib/kraftwerk/response_formatter.rb, line 5 def call(response:, params:) case response when Kraftwerk::Response body = response.body_raw ? response.body : to_json(response.body) code = code_or_default(response.code, params) headers = response.headers [code, headers, [body]] else body = JSON.dump(response) [code_or_default(nil, params), {}, [body]] end end
Private Instance Methods
code_or_default(code, params)
click to toggle source
# File lib/kraftwerk/response_formatter.rb, line 24 def code_or_default(code, params) return code unless code.nil? method = params.env['REQUEST_METHOD'] case method when 'GET' then 200 when 'POST' then 201 when 'PUT', 'PATCH' then 204 when 'DELETE' then 204 else 200 end end
to_json(response)
click to toggle source
# File lib/kraftwerk/response_formatter.rb, line 20 def to_json(response) JSON.dump(response) end