Sha256: eaa499670e820c0c617ce2f976e9fcd9f18aba9cbe3b04e13f20fe31901a243d

Contents?: true

Size: 1.74 KB

Versions: 11

Compression:

Stored size: 1.74 KB

Contents

require 'active_model'

class Kaui::Invoice < Kaui::Base
  define_attr :amount
  define_attr :balance
  define_attr :invoice_id
  define_attr :account_id
  define_attr :invoice_number
  define_attr :payment_amount
  define_attr :refund_adjustment
  define_attr :credit_balance_adjustment
  define_attr :credit_adjustment
  define_attr :invoice_date
  define_attr :payment_dt
  define_attr :target_date
  define_attr :bundle_keys

  has_many :items, Kaui::InvoiceItem
  has_many :audit_logs, Kaui::AuditLog

  def initialize(data = {})
    super(:account_id => data['accountId'],
          :amount => data['amount'],
          :balance => data['balance'],
          :credit_balance_adjustment => data['cba'],
          :credit_adjustment => data['creditAdj'],
          :invoice_date => data['invoiceDate'],
          :invoice_id => data['invoiceId'],
          :invoice_number => data['invoiceNumber'],
          :refund_adjustment => data['refundAdj'],
          :target_date => data['targetDate'],
          :items => data['items'] || [],
          :bundle_keys => data['bundleKeys'],
          :audit_logs => data['auditLogs'])
  end

  # TODO - fix invoice json to return the currency

  def amount_to_money(currency)
    Kaui::Base.to_money(amount, currency)
  end

  def balance_to_money(currency)
    Kaui::Base.to_money(balance, currency)
  end

  def payment_amount_to_money(currency)
    Kaui::Base.to_money(payment_amount, currency)
  end

  def refund_adjustment_to_money(currency)
    Kaui::Base.to_money(refund_adjustment, currency)
  end

  def credit_balance_adjustment_to_money(currency)
    Kaui::Base.to_money(credit_balance_adjustment, currency)
  end

  def credit_adjustment_to_money(currency)
    Kaui::Base.to_money(credit_adjustment, currency)
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
kaui-0.1.18 app/models/kaui/invoice.rb
kaui-0.1.17 app/models/kaui/invoice.rb
kaui-0.1.16 app/models/kaui/invoice.rb
kaui-0.1.15 app/models/kaui/invoice.rb
kaui-0.1.14 app/models/kaui/invoice.rb
kaui-0.1.12 app/models/kaui/invoice.rb
kaui-0.1.11 app/models/kaui/invoice.rb
kaui-0.1.10 app/models/kaui/invoice.rb
kaui-0.1.9 app/models/kaui/invoice.rb
kaui-0.1.8 app/models/kaui/invoice.rb
kaui-0.1.7 app/models/kaui/invoice.rb