module Jsender::Rack

Public Instance Methods

error(code: 500, flow_id: nil, message: "An error has occurred", body_as_array: false) click to toggle source
# File lib/jsender/rack.rb, line 5
def error(code: 500, flow_id: nil, message: "An error has occurred", body_as_array: false)
  [
    code,
    headers(flow_id: flow_id),
    body(data: Jsender::Json.error(message: message), body_as_array: body_as_array)
  ]
end
failure(code: 400, flow_id: nil, message: "A failure has occurred", data: nil, body_as_array: false) click to toggle source
# File lib/jsender/rack.rb, line 13
def failure(code: 400, flow_id: nil, message: "A failure has occurred", data: nil, body_as_array: false)
  [
    code,
    headers(flow_id: flow_id),
    body(data: Jsender::Json.failure(message: message, data: data), body_as_array: body_as_array)
  ]
end
success(code: 200, flow_id: nil, data: nil, body_as_array: false) click to toggle source
# File lib/jsender/rack.rb, line 21
def success(code: 200, flow_id: nil, data: nil, body_as_array: false)
  [
    code,
    headers(flow_id: flow_id),
    body(data: Jsender::Json.success(data: data), body_as_array: body_as_array)
  ]
end

Private Instance Methods

body(data:, body_as_array: false) click to toggle source
# File lib/jsender/rack.rb, line 31
def body(data:, body_as_array: false)
  return [data] if body_as_array
  data
end
headers(flow_id:) click to toggle source
# File lib/jsender/rack.rb, line 36
def headers(flow_id:)
  headers = {
    'Content-Type' => 'application/json'
  }

  headers.merge!('X-Flow-Identifier' => flow_id) if flow_id

  headers
end