Sha256: 8b2c91f6bd4aea46fbcdc5f2a2d95873210646f9969e446e3bc96d9a34f4e6f4

Contents?: true

Size: 981 Bytes

Versions: 3

Compression:

Stored size: 981 Bytes

Contents

# frozen_string_literal: true

module Kaui
  class Invoice < KillBillClient::Model::Invoice
    def self.build_from_raw_invoice(raw_invoice)
      result = Kaui::Invoice.new
      KillBillClient::Model::InvoiceAttributes.instance_variable_get('@json_attributes').each do |attr|
        result.send("#{attr}=", raw_invoice.send(attr))
      end
      result
    end

    def self.list_or_search(search_key = nil, offset = 0, limit = 10, options = {})
      if search_key.present?
        find_in_batches_by_search_key(search_key, offset, limit, options)
      else
        find_in_batches(offset, limit, options)
      end
    end

    %i[amount balance credits].each do |type|
      define_method "#{type}_to_money" do
        Kaui::Base.to_money(send(type), currency)
      end
    end

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kaui-3.0.2 app/models/kaui/invoice.rb
kaui-2.2.1 app/models/kaui/invoice.rb
kaui-3.0.1 app/models/kaui/invoice.rb