Module: Jumbotron::Workflows::PublicRead

Included in:
ReadConsensusWorkflow, ReadCurrentLinesWorkflow, ReadGameWorkflow, ReadScheduleGroupsWorkflow, ReadScheduleWorkflow
Defined in:
app/workflows/jumbotron/workflows/public_read.rb

Instance Method Summary collapse

Instance Method Details

#map_deserializer_failure(deserialized) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/workflows/jumbotron/workflows/public_read.rb', line 6

def map_deserializer_failure(deserialized)
  error = Array(deserialized.errors).first
  message =
    if error.is_a?(Hash)
      error[:message].presence || error[:code].to_s
    else
      error.to_s
    end
  failure(
    errors: [{ code: "invalid_request", message: message.presence || "invalid_request" }],
    http_status: :unprocessable_entity
  )
end

#map_service_failure(result) ⇒ Object



20
21
22
23
24
25
26
# File 'app/workflows/jumbotron/workflows/public_read.rb', line 20

def map_service_failure(result)
  error = Array(result.errors).first
  code = error.respond_to?(:code) ? error.code.to_s : "invalid_request"
  message = error.respond_to?(:message) ? error.message : error.to_s
  status = Public::TranslateOutcome::NOT_FOUND_CODES.include?(code) ? :not_found : :unprocessable_entity
  failure(errors: [{ code: code, message: message }], http_status: status)
end