Class: ActivePayment::Wirecard::Response

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

Instance Method Summary collapse

Constructor Details

#initialize(xml) ⇒ Response

Returns a new instance of Response.



5
6
7
8
9
10
# File 'lib/activepayment/wirecard/response.rb', line 5

def initialize(xml)
  @doc = Nokogiri::XML(xml)
  if @doc.at_css('WIRECARD_BXML').nil?
    raise ActivePayment::Exception, "No valid response"
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/activepayment/wirecard/response.rb', line 34

def method_missing(method, *args)
  node_name = method.to_node_name
  unless node_name.blank?
    node = @doc.at_css(node_name)
    unless node.nil?
      parse(@doc.at_css(node_name).content)
    else
      super
    end
  else
    super
  end
end

Instance Method Details

#[](node_name) ⇒ Object



20
21
22
# File 'lib/activepayment/wirecard/response.rb', line 20

def [](node_name)
  parse(@doc.at_css(node_name).content)
end

#failed?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/activepayment/wirecard/response.rb', line 28

def failed?
  self.function_result.eql?('NOK')
end

#ok?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/activepayment/wirecard/response.rb', line 16

def ok?
  return_code.to_i.eql?(0)
end

#successful?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/activepayment/wirecard/response.rb', line 24

def successful?
  self.function_result.eql?('ACK') || self.function_result.eql?('PENDING')
end

#to_sObject



12
13
14
# File 'lib/activepayment/wirecard/response.rb', line 12

def to_s
  @doc.to_s
end