class Colppy::Invoice

Constants

VALID_INVOICE_TYPES
VALID_PAYMENT_CONDITIONS
VALID_STATUS_ID

Public Instance Methods

add_item(params) click to toggle source
# File lib/colppy/resources/invoice.rb, line 7
def add_item(params)
  if item = Item.new(params, @company)
    @items << item
  end
end
add_payment(params) click to toggle source
# File lib/colppy/resources/invoice.rb, line 18
def add_payment(params)
  if payment = Payment.new(params)
    @payments << payment
  end
end
remove_item(key, value) click to toggle source
# File lib/colppy/resources/invoice.rb, line 12
def remove_item(key, value)
  @items.delete_if do |item|
    item.send(key.to_sym).to_s == value.to_s
  end
end

Private Instance Methods

invoice_status() click to toggle source
# File lib/colppy/resources/invoice.rb, line 50
def invoice_status
  type = @data[:idEstadoFactura]
  if type && VALID_INVOICE_STATUS.include?(type)
    type
  else
    raise DataError.new("The value of idEstadoFactura=#{type} is invalid. The value should be any of this ones: #{VALID_INVOICE_STATUS.join(", ")}")
  end
end
invoice_type() click to toggle source
# File lib/colppy/resources/invoice.rb, line 59
def invoice_type
  type = @data[:idTipoFactura]
  if type && VALID_INVOICE_TYPES.include?(type)
    type
  else
    raise DataError.new("The idTipoFactura=#{type} is invalid. The value should be any of this ones: #{VALID_INVOICE_TYPES.join(", ")}")
  end
end
parse_items(new_items) click to toggle source
# File lib/colppy/resources/invoice.rb, line 26
def parse_items(new_items)
  return [] if new_items.nil? || new_items.empty?

  new_items.map do |item_data|
    Item.new(item_data, @company)
  end
end
parse_payments(new_payments) click to toggle source
# File lib/colppy/resources/invoice.rb, line 34
def parse_payments(new_payments)
  return [] if new_payments.nil? || new_payments.empty?

  new_payments.map do |payment_data|
    Payment.new(payment_data)
  end
end
parse_taxes_totals(new_taxes_totals) click to toggle source
# File lib/colppy/resources/invoice.rb, line 42
def parse_taxes_totals(new_taxes_totals)
  return [] if new_taxes_totals.nil? || new_taxes_totals.empty?

  new_taxes_totals.map do |tax_total_data|
    TaxTotal.new(tax_total_data)
  end
end