Sha256: cdb17d4a3c0eade04acbeab2c94a906bd412699728fed15bab2884438e8ea2ec

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

# -*- encoding : utf-8 -*-
module GetnetApi
  class Order

    # Conjunto de dados para identificação da compra
    # order_id
    # string <= 36 characters Required
    attr_accessor :order_id

    # Código de identificação da compra utilizado pelo e-commerce
    # Valor de impostos
    attr_accessor :sales_tax

    # string
    # "cash_carry" "digital_content" "digital_goods" "digital_physical" "gift_card" "phisical_goods" "renew_subs" "shareware" "service"
    # Identificador do tipo de produto vendido dentre as opções
    attr_accessor :product_type

    # Validações do Rails 3
    include ActiveModel::Validations

    # validates :valor_total, length: { maximum:  }
    # validates :expiration_date, length: { maximum:  }
    validates :order_id, length: { maximum: 36 }
    # validates :sales_tax , length: {  }
    # validates :product_type, length: {  }

    # Nova instancia da classe Boleto
    # @param [Hash] campos
    def initialize(campos = {})
      campos.each do |campo, valor|
        if GetnetApi::Order.public_instance_methods.include? "#{campo}=".to_sym
          send "#{campo}=", valor
        end
      end
    end

    # Montar o Hash de dados do pagamento no padrão utilizado pela Getnet
    def to_request
        order = {
          order_id:      self.order_id.to_s,
          sales_tax:     self.sales_tax.to_i,
          product_type:  self.product_type.to_s
        }

      return order
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
getnet_api-1.0.3 lib/getnet_api/order.rb
getnet_api-1.0.2 lib/getnet_api/order.rb
getnet_api-1.0.1 lib/getnet_api/order.rb
getnet_api-1.0.0 lib/getnet_api/order.rb
getnet_api-0.1.2 lib/getnet_api/order.rb
getnet_api-0.1.1 lib/getnet_api/order.rb