Sha256: e1717b92eb269a6931d997cd50c0042c17c57fad52c030e6b62ad47b6544f89e

Contents?: true

Size: 1.01 KB

Versions: 3

Compression:

Stored size: 1.01 KB

Contents

module BrDanfe
  module DanfeLib
    class Vol
      Y = 18.01

      def initialize(pdf, xml)
        @pdf = pdf
        @xml = xml

        @l1 = Y
      end

      def render
        nVol = 0

        @xml.collect('xmlns', 'vol') do |det|
          nVol += 1
          render_vol(det) if nVol < 2
        end

        render_blank_boxes if nVol.zero?

        nVol
      end

      private

      def render_vol(det)
        @pdf.ibox 0.85, 2.42, 0.75, @l1, I18n.t('danfe.vol.qVol'), det.css('qVol').text
        @pdf.ibox 0.85, 3.05, 3.17, @l1, I18n.t('danfe.vol.esp'), det.css('esp').text
        @pdf.ibox 0.85, 3.05, 6.22, @l1, I18n.t('danfe.vol.marca'), det.css('marca').text
        @pdf.ibox 0.85, 4.83, 9.27, @l1, I18n.t('danfe.vol.nVol')
        @pdf.inumeric 0.85, 3.43, 14.10, @l1, 'vol.pesoB', det.css('pesoB').text, { decimals: 3 }
        @pdf.inumeric 0.85, 2.80, 17.53, @l1, 'vol.pesoL', det.css('pesoL').text, { decimals: 3 }
      end

      def render_blank_boxes
        render_vol(@xml)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
br_danfe-0.12.1 lib/br_danfe/danfe_lib/vol.rb
br_danfe-0.12.0 lib/br_danfe/danfe_lib/vol.rb
br_danfe-0.11.2 lib/br_danfe/danfe_lib/vol.rb