Module: Tidas::Utilities::ResponsePackager

Defined in:
lib/tidas/utilities/response_packager.rb

Class Method Summary collapse

Class Method Details

.handle_result(body, data = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/tidas/utilities/response_packager.rb', line 18

def self.handle_result(body, data = nil)
  result_type = body.keys[0]
  content = body[result_type]
  case result_type
    when :error_result
      return ErrorResult.new(tidas_id:content[:tidas_id], errors:content[:errors])
    when :successful_result
      if content[:returned_data] != nil
        return SuccessfulResult.new(tidas_id:content[:tidas_id], data:content[:returned_data], message:content[:message])
      else
        return SuccessfulResult.new(tidas_id:content[:tidas_id], data:data, message:content[:message])
      end
    else
      return InvalidResponse
  end
end

.package_response(response, data = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/tidas/utilities/response_packager.rb', line 5

def self.package_response(response, data = nil)
  if [500, 404].include? response.status
    return InvalidResponse
  end
  begin
    body = JSON.parse(response.body, symbolize_names: true)
    return handle_result(body, data)
  rescue JSON::ParserError
    return InvalidResponse
  end
  return InvalidResponse
end