module BrInvoicesPdf::Cfe::Parser::Payments
Public Instance Methods
execute(xml)
click to toggle source
# File lib/br_invoices_pdf/cfe/parser/payments.rb, line 11 def execute(xml) node_payments = xml.locate('infCFe/pgto') return unless node_payments payments_by_nodes(node_payments) if node_payments.any? end
payment_by(element)
click to toggle source
# File lib/br_invoices_pdf/cfe/parser/payments.rb, line 26 def payment_by(element) { type: Util::Enum::PAYMENT_TYPES[locate_element(element, 'cMP')], amount: locate_element(element, 'vMP') } end
payments_by_nodes(node_payments)
click to toggle source
# File lib/br_invoices_pdf/cfe/parser/payments.rb, line 19 def payments_by_nodes(node_payments) node_payments.first.nodes .select { |element| element.value == 'MP' } .map { |element| payment_by(element) } end