class ChartMogul::CustomerInvoices

Public Class Methods

all(customer_uuid, options = {}) click to toggle source
Calls superclass method
# File lib/chartmogul/customer_invoices.rb, line 25
def self.all(customer_uuid, options = {})
  super(options.merge(customer_uuid: customer_uuid))
end
destroy_all!(data_source_uuid, customer_uuid) click to toggle source
# File lib/chartmogul/customer_invoices.rb, line 29
def self.destroy_all!(data_source_uuid, customer_uuid)
  path = ChartMogul::ResourcePath.new('v1/data_sources/:data_source_uuid/customers/:customer_uuid/invoices')
  handling_errors do
    connection.delete(path.apply(data_source_uuid: data_source_uuid, customer_uuid: customer_uuid))
  end
  true
end

Public Instance Methods

serialize_invoices() click to toggle source
# File lib/chartmogul/customer_invoices.rb, line 21
def serialize_invoices
  map(&:serialize_for_write)
end

Private Instance Methods

set_invoices(invoices_attributes) click to toggle source

TODO: replace with Entries concern?

# File lib/chartmogul/customer_invoices.rb, line 43
def set_invoices(invoices_attributes)
  @invoices = invoices_attributes.map.with_index do |invoice_attributes, index|
    existing_invoice = invoices[index]

    if existing_invoice
      existing_invoice.assign_all_attributes(invoice_attributes)
    else
      Invoice.new_from_json(invoice_attributes)
    end
  end
end