class GmoPayment::ApiResponse
Constants
- RESPONSE_SUCCESS_CODE
- SPLIT_CHARACTER
Public Class Methods
new(api_url, body, response_http_code)
click to toggle source
# File lib/gmo_payment/api_response.rb, line 6 def initialize(api_url, body, response_http_code) @api_url = api_url @response_body = body @response_http_code = response_http_code @response_body_parsed = parse_response_content end
Public Instance Methods
error_codes()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 21 def error_codes r_detail = response_body r_detail.fetch(:ErrCode, '').split(SPLIT_CHARACTER) end
error_infos()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 26 def error_infos r_detail = response_body r_detail.fetch(:ErrInfo, '').split(SPLIT_CHARACTER) end
error_messages()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 31 def error_messages error_infos.map do |e_code| GmoPayment::ApiErrors.all.fetch(e_code, "UNKNOWN ERROR with code #{e_code}") end end
full_errors2log()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 76 def full_errors2log full_messages end
full_messages()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 37 def full_messages error_messages.join(' ') end
has_error?(error_info_code)
click to toggle source
# File lib/gmo_payment/api_response.rb, line 41 def has_error?(error_info_code) error_infos.include?(error_info_code) end
response2log(raw = false)
click to toggle source
# File lib/gmo_payment/api_response.rb, line 72 def response2log(raw = false) response_body(raw) end
response_body(raw = false)
click to toggle source
# File lib/gmo_payment/api_response.rb, line 17 def response_body(raw = false) raw ? @response_body : @response_body_parsed end
response_code()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 13 def response_code @response_http_code end
success?() { |api_url, response_http_code, response_body, response_body_parsed| ... }
click to toggle source
# File lib/gmo_payment/api_response.rb, line 45 def success? if block_given? yield(@api_url, @response_http_code, @response_body, @response_body_parsed) else r_detail = response_body pre_condition = RESPONSE_SUCCESS_CODE.include?(response_code) && !r_detail.key?(:ErrCode) case @api_url when GmoPayment::ApiUrls.all.fetch('MEMBER_REGISTER'), GmoPayment::ApiUrls.all.fetch('MEMBER_DELETE'), GmoPayment::ApiUrls.all.fetch('MEMBER_SEARCH') pre_condition && r_detail.key?(:MemberID) when GmoPayment::ApiUrls.all.fetch('CARD_SAVE_OR_UPDATE') pre_condition && r_detail.key?(:CardSeq) && r_detail.key?(:CardNo) when GmoPayment::ApiUrls.all.fetch('CARD_DELETE') pre_condition && r_detail.key?(:CardSeq) when GmoPayment::ApiUrls.all.fetch('TRANSACTION_REGISTER') pre_condition && r_detail.key?(:AccessID) && r_detail.key?(:AccessPass) when GmoPayment::ApiUrls.all.fetch('TRANSACTION_SUBMIT') pre_condition && r_detail.key?(:TranID) && r_detail.key?(:CheckString) when GmoPayment::ApiUrls.all.fetch('TRANSACTION_UPDATE') pre_condition && r_detail.key?(:AccessID) && r_detail.key?(:AccessPass) else pre_condition end end end
Private Instance Methods
parse_response_content()
click to toggle source
# File lib/gmo_payment/api_response.rb, line 82 def parse_response_content result = {} return result unless @response_body && !@response_body.empty? begin @response_body.split('&').each do |key_value| key, value = key_value.split('=') result[key.to_sym] = value end result rescue result end end