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

- old
+ new

@@ -1,23 +1,29 @@ module BrDanfe class Vol - def self.render(pdf, xml) + def initialize(pdf, xml) + @pdf = pdf + @xml = xml + end + + def render nVol = 0 - xml.collect("xmlns", "vol") do |det| + @xml.collect("xmlns", "vol") do |det| nVol += 1 - if nVol < 2 - pdf.ibox 0.85, 2.92, 0.25, 16.60, I18n.t("danfe.vol.qVol"), det.css("qVol").text - pdf.ibox 0.85, 3.05, 3.17, 16.60, I18n.t("danfe.vol.esp"), det.css("esp").text - pdf.ibox 0.85, 3.05, 6.22, 16.60, I18n.t("danfe.vol.marca"), det.css("marca").text - pdf.ibox 0.85, 4.83, 9.27, 16.60, I18n.t("danfe.vol.nVol") - pdf.inumeric 0.85, 3.43, 14.10, 16.60, "vol.pesoB", det.css("pesoB").text, {decimals: 3} - pdf.inumeric 0.85, 3.30, 17.53, 16.60, "vol.pesoL", det.css("pesoL").text, {decimals: 3} - else - break - end + render_vol(det) if nVol < 2 end nVol + end + + private + def render_vol(det) + @pdf.ibox 0.85, 2.92, 0.25, 16.60, I18n.t("danfe.vol.qVol"), det.css("qVol").text + @pdf.ibox 0.85, 3.05, 3.17, 16.60, I18n.t("danfe.vol.esp"), det.css("esp").text + @pdf.ibox 0.85, 3.05, 6.22, 16.60, I18n.t("danfe.vol.marca"), det.css("marca").text + @pdf.ibox 0.85, 4.83, 9.27, 16.60, I18n.t("danfe.vol.nVol") + @pdf.inumeric 0.85, 3.43, 14.10, 16.60, "vol.pesoB", det.css("pesoB").text, { decimals: 3 } + @pdf.inumeric 0.85, 3.30, 17.53, 16.60, "vol.pesoL", det.css("pesoL").text, { decimals: 3 } end end end