Sha256: bbcbcf5cc0fc74e4b8a06711c3637131a1c830789e95ab3b21204d3859eef185

Contents?: true

Size: 1.46 KB

Versions: 24

Compression:

Stored size: 1.46 KB

Contents

module BrDanfe
  module DanfeLib
    module NfeLib
      class Helper
        def self.invert(y)
          29.7.cm - y
        end

        def self.format_date(xml_datetime)
          formated = ''

          unless xml_datetime.empty?
            date = DateTime.strptime(xml_datetime, '%Y-%m-%d')
            formated = date.strftime('%d/%m/%Y')
          end

          formated
        end

        def self.format_time(xml_datetime)
          formated = ''

          if xml_datetime.length == 8
            formated = xml_datetime
          elsif xml_datetime.length > 8
            date = DateTime.strptime(xml_datetime, '%Y-%m-%dT%H:%M:%S %Z').to_time
            formated = date.strftime('%H:%M:%S')
          end

          formated
        end

        def self.mensure_text(pdf, text)
          pdf.width_of(text)
        end

        def self.address_is_too_big(pdf, address)
          Helper.mensure_text(pdf, address) > Dest::MAXIMUM_SIZE_FOR_STREET
        end

        def self.generate_address(xml)
          address_complement = " - #{xml_text(xml, 'enderDest/xCpl')}" if xml_text(xml, 'enderDest/xCpl').present?
          address_number = " #{xml_text(xml, 'enderDest/nro')}" if xml_text(xml, 'enderDest/nro').present?
          "#{xml_text(xml, 'enderDest/xLgr')}#{address_number}#{address_complement}"
        end

        def self.xml_text(xml, property)
          xml.css(property).text
        end

        private_class_method :xml_text
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
br_danfe-0.13.3 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-0.13.2 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-0.13.1 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-0.13.0 lib/br_danfe/danfe_lib/nfe_lib/helper.rb