class SunatInvoice::Invoice
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/sunat_invoice/invoice.rb, line 10 def initialize(*args) super(*args) opts = args[0] || {} init_defaults(opts) end
Public Instance Methods
init_defaults(opts)
click to toggle source
# File lib/sunat_invoice/invoice.rb, line 16 def init_defaults(opts) parties_default(opts) @document_type = opts[:document_type] || '01' @document_number = opts[:document_number] || 'F001-1' @currency = opts[:currency] || 'PEN' @lines ||= [] end
parties_default(opts)
click to toggle source
# File lib/sunat_invoice/invoice.rb, line 24 def parties_default(opts) @provider = opts[:provider] || SunatInvoice::Provider.new @customer = opts[:customer] || SunatInvoice::Customer.new end
xml()
click to toggle source
# File lib/sunat_invoice/invoice.rb, line 29 def xml build = build_xml do |xml| build_document_data(xml) build_common_content(xml) end invoice_xml = build.to_xml @signature.sign(invoice_xml) end
Private Instance Methods
namespaces()
click to toggle source
# File lib/sunat_invoice/invoice.rb, line 45 def namespaces INVOICE_NAMESPACES.merge(TRADE_NAMESPACES) end
root_name()
click to toggle source
# File lib/sunat_invoice/invoice.rb, line 41 def root_name 'Invoice' end