class RubyDanfe::Descricao

Constants

LINEBREAK

Public Class Methods

generate(det) click to toggle source
# File lib/ruby_danfe/descricao.rb, line 7
def self.generate(det)
  descricao = "#{det.css('prod/xProd').text}"

  if need_infAdProd(det)
    descricao += LINEBREAK
    descricao += det.css('infAdProd').text
  end

  if need_fci(det)
    descricao += LINEBREAK
    descricao += "FCI: #{det.css('prod/nFCI').text}"
  end

  if need_st(det)
    descricao += LINEBREAK
    descricao += "ST: MVA: #{det.css('ICMS/*/pMVAST').text}% "
    descricao += "* Alíq: #{det.css('ICMS/*/pICMSST').text}% "
    descricao += "* BC: #{det.css('ICMS/*/vBCST').text} "
    descricao += "* Vlr: #{det.css('ICMS/*/vICMSST').text}"
  end

  descricao
end

Private Class Methods

need_fci(det) click to toggle source
# File lib/ruby_danfe/descricao.rb, line 36
def self.need_fci(det)
  !det.css('prod/nFCI').text.empty?
end
need_infAdProd(det) click to toggle source
# File lib/ruby_danfe/descricao.rb, line 32
def self.need_infAdProd(det)
  !det.css('infAdProd').text.empty?
end
need_st(det) click to toggle source
# File lib/ruby_danfe/descricao.rb, line 40
def self.need_st(det)
  det.css('ICMS/*/vBCST').text.to_i > 0
end