Sha256: c798b076d96c3a8c3b98af4917150cb33145caf09648b3dd9f610567a9c365a7

Contents?: true

Size: 1.45 KB

Versions: 4

Compression:

Stored size: 1.45 KB

Contents

module BraspagPagador
  class Converter
    def self.decimal_to_string(value)
      #TODO: CHANGE ANOTHER FOR CONVERSION
      ("%.2f" % value.to_f).gsub('.', ',')
    end

    def self.string_to_decimal(value, mode = :br)
      case mode
      when :br
        BigDecimal.new(value.to_s.gsub(".","").gsub(",","."))
      when :eua
        BigDecimal.new(value.to_s.gsub(",",""))
      end
    end


    def self.hash_from_xml(document, map = {})
      document = Nokogiri::XML(document)

      map.each do |key, value|
        if value.is_a?(String) || value.nil?
          value = key if value.nil?

          new_value = document.search(value).first

          if new_value.nil?
            map[key] = nil
          else
            new_value = new_value.content.to_s
            map[key] = new_value unless new_value == ""
            map[key] = nil if new_value == ""
          end

        elsif value.is_a?(Proc)
          map[key] = value.call(document)
        end
      end

      map
    end

    def self.payment_method_name?(code)
      BraspagPagador::PAYMENT_METHOD.key(code.to_s.to_i)
    end

    def self.payment_method_type?(code)
      key = BraspagPagador::PAYMENT_METHOD.key(code.to_s.to_i)
      return nil if key.nil?
      if key.match(/billet_/)
        :billet
      elsif key.match(/eft_/)
        :eft
      else
        :credit_card
      end
    end

    def self.status_name?(code)
      BraspagPagador::STATUS_PAYMENT.key(code.to_s.to_i)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
braspag-pagador-1.0.1 lib/braspag-pagador/core/converter.rb
braspag-pagador-1.0.0 lib/braspag-pagador/core/converter.rb
braspag-pagador-0.9.6 lib/braspag-pagador/core/converter.rb
braspag-pagador-0.9.5 lib/braspag-pagador/core/converter.rb