class Pwush::Response::Deffered

Public Class Methods

new(raw_result) click to toggle source
# File lib/pwush/response/deffered.rb, line 6
def initialize(raw_result)
  @_raw_result = raw_result
end

Public Instance Methods

resolve() click to toggle source
# File lib/pwush/response/deffered.rb, line 10
def resolve
  return http_request_failure if raw_result.status != 200
  return api_request_failure if value_from_api.status_code != 200
  api_request_succesful
end

Private Instance Methods

api_request_failure() click to toggle source
# File lib/pwush/response/deffered.rb, line 22
def api_request_failure
  Failure.new(value_from_api)
end
api_request_succesful() click to toggle source
# File lib/pwush/response/deffered.rb, line 26
def api_request_succesful
  Success.new(value_from_api)
end
http_request_failure() click to toggle source
# File lib/pwush/response/deffered.rb, line 18
def http_request_failure
  Failure.new(value_from_http)
end
parsed_result() click to toggle source
# File lib/pwush/response/deffered.rb, line 34
def parsed_result
  @_parsed_result ||= raw_result.parse
end
raw_result() click to toggle source
# File lib/pwush/response/deffered.rb, line 30
def raw_result
  @_raw_result
end
value_from_api() click to toggle source
# File lib/pwush/response/deffered.rb, line 46
def value_from_api
  @_value_from_api ||= Value.new(
    status_code:    parsed_result['status_code'],
    status_message: parsed_result['status_message'],
    body:           parsed_result['response']
  )
end
value_from_http() click to toggle source
# File lib/pwush/response/deffered.rb, line 38
def value_from_http
  @_value_from_http ||= Value.new(
    status_code: raw_result.status,
    status_message: raw_result.reason,
    body: nil
  )
end