Sha256: c0d7732a224e08a4c13267274bc08c10670a62b9a6ff3730fa428f74631af159

Contents?: true

Size: 1.45 KB

Versions: 5

Compression:

Stored size: 1.45 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, path)
          address_complement = " - #{xml_text(xml, "#{path}/xCpl")}" if xml_text(xml, "#{path}/xCpl").present?
          address_number = " #{xml_text(xml, "#{path}/nro")}" if xml_text(xml, "#{path}/nro").present?
          "#{xml_text(xml, "#{path}/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

5 entries across 5 versions & 1 rubygems

Version Path
br_danfe-1.2.2 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-1.2.1 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-1.2.0 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-1.1.0 lib/br_danfe/danfe_lib/nfe_lib/helper.rb
br_danfe-1.0.0 lib/br_danfe/danfe_lib/nfe_lib/helper.rb