Class: ActiveMerchant::Billing::MultiResponse
- Inherits:
-
Response
- Object
- Response
- ActiveMerchant::Billing::MultiResponse
show all
- Defined in:
- lib/active_merchant/billing/response.rb
Instance Attribute Summary collapse
Attributes inherited from Response
#authorization, #avs_result, #cvv_result, #emv_authorization, #error_code, #message, #params, #test
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Response
#fraud_review?, #test?
Constructor Details
#initialize(use_first_response = false) ⇒ MultiResponse
50
51
52
53
54
|
# File 'lib/active_merchant/billing/response.rb', line 50
def initialize(use_first_response = false)
@responses = []
@use_first_response = use_first_response
@primary_response = nil
end
|
Instance Attribute Details
#primary_response ⇒ Object
Returns the value of attribute primary_response
48
49
50
|
# File 'lib/active_merchant/billing/response.rb', line 48
def primary_response
@primary_response
end
|
#responses ⇒ Object
Returns the value of attribute responses
48
49
50
|
# File 'lib/active_merchant/billing/response.rb', line 48
def responses
@responses
end
|
Class Method Details
.run(use_first_response = false, &block) ⇒ Object
44
45
46
|
# File 'lib/active_merchant/billing/response.rb', line 44
def self.run(use_first_response = false, &block)
new(use_first_response).tap(&block)
end
|
Instance Method Details
#<<(response) ⇒ Object
71
72
73
74
75
76
77
|
# File 'lib/active_merchant/billing/response.rb', line 71
def <<(response)
if response.is_a?(MultiResponse)
response.responses.each{|r| @responses << r}
else
@responses << response
end
end
|
#process(ignore_result = false) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/active_merchant/billing/response.rb', line 56
def process(ignore_result=false)
return unless success?
response = yield
self << response
unless ignore_result
if(@use_first_response && response.success?)
@primary_response ||= response
else
@primary_response = response
end
end
end
|
#success? ⇒ Boolean
79
80
81
|
# File 'lib/active_merchant/billing/response.rb', line 79
def success?
(primary_response ? primary_response.success? : true)
end
|