Class: OpenPayU::Documents::Response

Inherits:
OpenPayU::Document show all
Defined in:
lib/openpayu/documents/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from OpenPayU::Document

#deep_transform_keys, #generate_signature, #generate_signature_structure, #underscore_keys, #verify_response

Constructor Details

#initialize(data) ⇒ Response

Returns a new instance of Response.



7
8
9
10
11
12
13
# File 'lib/openpayu/documents/response.rb', line 7

def initialize(data)
  @response = data[:response]
  @request = data[:request]
  @body = @response.body.is_a?(StringIO) ? @response.body.string :
    @response.body
  parse_data if verify_response
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name) ⇒ Object



15
16
17
# File 'lib/openpayu/documents/response.rb', line 15

def method_missing(method_name)
  @parsed_data[method_name.to_s]
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



5
6
7
# File 'lib/openpayu/documents/response.rb', line 5

def body
  @body
end

#parsed_dataObject

Returns the value of attribute parsed_data.



5
6
7
# File 'lib/openpayu/documents/response.rb', line 5

def parsed_data
  @parsed_data
end

#requestObject

Returns the value of attribute request.



5
6
7
# File 'lib/openpayu/documents/response.rb', line 5

def request
  @request
end

#responseObject

Returns the value of attribute response.



5
6
7
# File 'lib/openpayu/documents/response.rb', line 5

def response
  @response
end

Instance Method Details

#order_statusObject



27
28
29
# File 'lib/openpayu/documents/response.rb', line 27

def order_status
  @parsed_data['orders']['orders'][1]['status']
end

#parse_dataObject



19
20
21
# File 'lib/openpayu/documents/response.rb', line 19

def parse_data
  @parsed_data = underscore_keys JSON.parse(@body)
end

#statusObject



23
24
25
# File 'lib/openpayu/documents/response.rb', line 23

def status
  @parsed_data['status']
end