class NubeFact::Document
Constants
- FIELDS
Public Class Methods
anular(serie, numero, motivo)
click to toggle source
# File lib/nube_fact/document.rb, line 181 def anular(serie, numero, motivo) NubeFact.request({ operacion: "generar_anulacion", tipo_de_comprobante: self::TIPO_DE_COMPROBANTE, serie: serie, numero: numero, motivo: motivo }) end
consultar(serie, numero)
click to toggle source
# File lib/nube_fact/document.rb, line 172 def consultar(serie, numero) NubeFact.request({ operacion: "consultar_comprobante", tipo_de_comprobante: self::TIPO_DE_COMPROBANTE, serie: serie, numero: numero }) end
new(data_hash)
click to toggle source
# File lib/nube_fact/document.rb, line 123 def initialize(data_hash) if self.class == NubeFact::Document raise "Don't initialize NubeFact::Document directly " end @items = [] @guias = [] load_data_from_param data_hash end
Public Instance Methods
add_guia(guia)
click to toggle source
# File lib/nube_fact/document.rb, line 141 def add_guia(guia) end
add_item(item)
click to toggle source
# File lib/nube_fact/document.rb, line 134 def add_item(item) if item.is_a? Hash item = Item.new self, item end @items << item end
calculate_amounts()
click to toggle source
# File lib/nube_fact/document.rb, line 154 def calculate_amounts end
deliver()
click to toggle source
# File lib/nube_fact/document.rb, line 145 def deliver if items.empty? raise NubeFact::ValidationError.new "At least one item have to be present" end validate! NubeFact.request to_h end
fecha_de_emision()
click to toggle source
# File lib/nube_fact/document.rb, line 164 def fecha_de_emision if [Date, Time, DateTime].include? @fecha_de_emision.class return @fecha_de_emision.strftime(NubeFact::DATE_FORMAT) end @fecha_de_emision end
set_tipo_de_cambio()
click to toggle source
# File lib/nube_fact/document.rb, line 158 def set_tipo_de_cambio return "" unless moneda == 2 NubeFact::Sunat.dollar_rate Date.parse(fecha_de_emision) end