module InovadoraXml::Modules::GeradorXml
Public Instance Methods
construir(elemento_raiz) { || ... }
click to toggle source
# File lib/inovadora_xml/modules/gerador_xml.rb, line 31 def construir(elemento_raiz) builder = Nokogiri::XML::Builder.new() do |xml| self.xml_nfse = xml elemento(elemento_raiz, get_namespace) { yield } end xml_builder = builder.to_xml(indent: 2, encoding: "UTF-8") doc = Nokogiri::XML(xml_builder, &:noblanks) return doc end
elemento(elemento, valor = nil) { || ... }
click to toggle source
# File lib/inovadora_xml/modules/gerador_xml.rb, line 6 def elemento(elemento, valor = nil) if valor.class == String valor.strip! valor = I18n.transliterate(valor) regex = /[^a-zA-Z0-9,.\-_\/:\[\]\=\$\@\{\}\/\n ]/ #regex = /[^a-zA-Z0-9,.\-_\/:\[\]\=\$\@\{\}\/ ]/ valor = valor.gsub(regex, "") end self.xml_nfse.send(elemento, valor) { yield if block_given? } unless valor.nil? end
grupo(elemento, id = nil) { || ... }
click to toggle source
# File lib/inovadora_xml/modules/gerador_xml.rb, line 19 def grupo(elemento, id = nil) if id.present? self.xml_nfse.send(elemento, id) { yield if block_given? } else self.xml_nfse.send(elemento) { yield if block_given? } end end