Class: XeroGateway::Payment

Inherits:
Object
  • Object
show all
Includes:
Dates, Money
Defined in:
lib/xero_gateway/payment.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Dates

included

Methods included from Money

included

Constructor Details

#initialize(params = {}) ⇒ Payment

Returns a new instance of Payment.



12
13
14
15
16
17
18
# File 'lib/xero_gateway/payment.rb', line 12

def initialize(params = {})
  @errors ||= []
        
  params.each do |k,v|
    self.send("#{k}=", v)
  end
end

Instance Attribute Details

#amountObject

All accessible fields



10
11
12
# File 'lib/xero_gateway/payment.rb', line 10

def amount
  @amount
end

#dateObject

All accessible fields



10
11
12
# File 'lib/xero_gateway/payment.rb', line 10

def date
  @date
end

#errorsObject (readonly)

Any errors that occurred when the #valid? method called.



7
8
9
# File 'lib/xero_gateway/payment.rb', line 7

def errors
  @errors
end

Class Method Details

.from_xml(payment_element) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/xero_gateway/payment.rb', line 20

def self.from_xml(payment_element)
  payment = Payment.new
  payment_element.children.each do | element |
    case element.name
      when 'Date' then    payment.date = parse_date_time(element.text)
      when 'Amount' then  payment.amount = BigDecimal.new(element.text)
    end    
  end
  payment
end

Instance Method Details

#==(other) ⇒ Object



31
32
33
34
35
36
# File 'lib/xero_gateway/payment.rb', line 31

def ==(other)
  [:date, :amount].each do |field|
    return false if send(field) != other.send(field)
  end
  return true
end