Class: ZipMoney::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/zipMoney/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Object

Initializes a new api response object

Parameters:

  • response (response)

Raises:

  • (ArgumentError)


11
12
13
14
15
16
# File 'lib/zipMoney/response.rb', line 11

def initialize(response)
  raise ArgumentError, "Response doesnot exist" if ((response.nil? || response.empty?) && response.code.nil? && response.code.empty?)
  @_response       = response
  @_statusCode     = response.code
  @_responseBody   = response.body
end

Instance Attribute Details

#_responseObject

Returns the value of attribute _response.



4
5
6
# File 'lib/zipMoney/response.rb', line 4

def _response
  @_response
end

#_responseBodyObject

Returns the value of attribute _responseBody.



4
5
6
# File 'lib/zipMoney/response.rb', line 4

def _responseBody
  @_responseBody
end

#_responseHeaderObject

Returns the value of attribute _responseHeader.



4
5
6
# File 'lib/zipMoney/response.rb', line 4

def _responseHeader
  @_responseHeader
end

#_statusCodeObject

Returns the value of attribute _statusCode.



4
5
6
# File 'lib/zipMoney/response.rb', line 4

def _statusCode
  @_statusCode
end

Instance Method Details

#getErrorObject

Returns error string

Returns:

  • String

Raises:

  • (ArgumentError)


77
78
79
80
81
# File 'lib/zipMoney/response.rb', line 77

def getError
  raise ArgumentError, "Response body doesnot exist" if @_responseBody.nil? || @_responseBody.empty?
  resObj = toObject
  resObj.Message
end

#getRedirectUrlObject

Returns the redirect_url from the checkout and quote calls

Returns:

  • String

Raises:

  • (ArgumentError)


53
54
55
56
57
58
# File 'lib/zipMoney/response.rb', line 53

def getRedirectUrl
  raise ArgumentError, "Response body doesnot exist" if @_responseBody.nil? || @_responseBody.empty?
  resObj = toObject
  return false if resObj.redirect_url.nil?  || resObj.redirect_url.empty?
  resObj.redirect_url
end

#getStatusCodeObject

Returns the http status code

Returns:

  • Int



63
64
65
# File 'lib/zipMoney/response.rb', line 63

def getStatusCode
  @_statusCode
end

#isSuccessObject

Returns if the api call was a success or failure

Returns:

  • true|false



70
71
72
# File 'lib/zipMoney/response.rb', line 70

def isSuccess
  return @_statusCode == 200 || @_statusCode == 201? true : false
end

#toHashObject

Converts the response body to Hash

Returns:

  • Hash

Raises:



21
22
23
24
# File 'lib/zipMoney/response.rb', line 21

def toHash
  raise ResponseError, "Response body doesnot exist" if @_responseBody.nil? || @_responseBody.empty?
  JSON.parse(@_responseBody) 
end

#toObjectObject

Converts the response body to Object

Returns:

  • OpenStruct

Raises:



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/zipMoney/response.rb', line 29

def toObject
  raise ResponseError, "Response body doesnot exist" if @_responseBody.nil? || @_responseBody.empty?

  if valid_json?(@_responseBody) #Is Json
    responseObject = JSON.parse(@_responseBody, object_class: OpenStruct)
  #else  # Is XML
    #responseObject  = JSON.parse(responseObject.to_json, object_class: OpenStruct)   
    #puts responseObject
  end
  responseObject
end

#valid_json?(json) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
44
45
46
47
48
# File 'lib/zipMoney/response.rb', line 41

def valid_json?(json)
  begin
    JSON.parse(json)
    return true
  rescue Exception => e
    return false
  end
end