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