lib/br_danfe/xprod.rb in br_danfe-0.0.1 vs lib/br_danfe/xprod.rb in br_danfe-0.0.2

- old
+ new

@@ -1,41 +1,46 @@ module BrDanfe class Xprod - def self.generate(det) - xprod = "#{det.css('prod/xProd').text}" + def initialize(det) + @det = det + end - if has_infAdProd?(det) - xprod += "\n" - xprod += det.css("infAdProd").text - end + def render + xprod = "#{@det.css('prod/xProd').text}" - if has_fci?(det) - xprod += "\n" - xprod += I18n.t("danfe.det.prod.xProdFCI", nFCI: det.css('prod/nFCI').text) - end + xprod += infAdProd if has_infAdProd? + xprod += fci if has_fci? + xprod += st if has_st? - if has_st?(det) - xprod += "\n" - xprod += I18n.t("danfe.det.prod.xProdST", - pMVAST: det.css('ICMS/*/pMVAST').text, - pICMSST: det.css('ICMS/*/pICMSST').text, - vBCST: det.css('ICMS/*/vBCST').text, - vICMSST: det.css('ICMS/*/vICMSST').text) - end - xprod end private - def self.has_infAdProd?(det) - !det.css("infAdProd").text.empty? + def has_infAdProd? + !@det.css("infAdProd").text.empty? end - def self.has_fci?(det) - !det.css("prod/nFCI").text.empty? + def has_fci? + !@det.css("prod/nFCI").text.empty? end - def self.has_st?(det) - det.css("ICMS/*/vBCST").text.to_i > 0 + def has_st? + @det.css("ICMS/*/vBCST").text.to_i > 0 + end + + def infAdProd + "\n" + @det.css("infAdProd").text + end + + def fci + "\n" + I18n.t("danfe.det.prod.xProdFCI", nFCI: @det.css('prod/nFCI').text) + end + + def st + "\n" + I18n.t("danfe.det.prod.xProdST", + pMVAST: @det.css('ICMS/*/pMVAST').text, + pICMSST: @det.css('ICMS/*/pICMSST').text, + vBCST: @det.css('ICMS/*/vBCST').text, + vICMSST: @det.css('ICMS/*/vICMSST').text) end end end