Method: Amex::Transaction#initialize

Defined in:
lib/amex/transaction.rb

#initialize(transaction) ⇒ Amex::Transaction

Generates an Amex::LoyaltyProgramme object from a Nokogiri object representing <Transaction> element

Parameters:

  • transaction (Nokogiri::XML::Element)

    A <Transaction> node taken the API XML request, parsed by Nokogiri



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/amex/transaction.rb', line 15

def initialize(transaction)
  # Pass this a <Transaction> element, and it'll parse it
  @date = Date.strptime(transaction.css('TransChargeDate').text, '%m/%d/%y')
  @narrative = transaction.css('TransDesc').text
  @amount = transaction.css('TransAmount').text.to_f

  @extra_details = {}
  transaction.css('TransExtDetail ExtDetailElement').each do |element|
    @extra_details[element.attr('name')] = element.attr('formattedValue')
  end
end