class SuperpayApi::DadosUsuario

Constants

SEXO

Opções de Sexo

TIPOS_DE_CLIENTE

Opções de Tipo de Cliente

Attributes

codigo_cliente[RW]

Código que identifica o cliente no estabelecimento. Alfa Numérico - Até 20 caracteres

data_nascimento[RW]

Data de nascimento do comprador. Formato dd/mm/yyyy Alfa Numérico - Até 10 caracteres

documento[RW]

Documento principal do comprador Alfa Numérico - Até 30 caracteres

documento_2[RW]

Documento complementar do comprador Alfa Numérico - Até 30 caracteres

email[RW]

E-mail do comprador Alfa Numérico - Até 100 caracteres

endereco_comprador[RW]
endereco_entrega[RW]
nome[RW]

Nome do comprador Alfa Numérico - Até 100 caracteres

sexo[RW]

M – Masculino / F – Feminino Simbolo - Valores pré-definidos [:masculino, :feminino]

telefone_adicional_comprador[RW]
telefone_adicional_entrega[RW]
telefone_comprador[RW]
telefone_entrega[RW]
tipo_cliente[RW]

Identifica se o cliente é pessoa física ou jurídica. Ver tabela “Tipo Cliente” Simbolo - Valores pré-definidos [:pessoa_fisica, :pessoa_juridica]

Public Class Methods

new(campos = {}) click to toggle source

Nova instancia da classe DadosUsuario @param [Hash] campos

# File lib/superpay_api/dados_usuario.rb, line 99
def initialize(campos = {})
  campos.each do |campo, valor|
    if SuperpayApi::DadosUsuario.public_instance_methods.include? "#{campo}=".to_sym
      send "#{campo}=", valor
    end
  end
end
sexos_validos() click to toggle source

Retornar array com os possíveis sexos

# File lib/superpay_api/dados_usuario.rb, line 60
def self.sexos_validos
  SEXO.map{ |key, value| key }
end
tipos_de_cliente_validos() click to toggle source

Retornar array com os possíveis tipos de cliente

# File lib/superpay_api/dados_usuario.rb, line 65
def self.tipos_de_cliente_validos
  TIPOS_DE_CLIENTE.map{ |key, value| key }
end

Public Instance Methods

sexo_to_request() click to toggle source

Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay

# File lib/superpay_api/dados_usuario.rb, line 108
def sexo_to_request
  SEXO[self.sexo]
end
tipos_de_cliente_to_request() click to toggle source

Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay

# File lib/superpay_api/dados_usuario.rb, line 113
def tipos_de_cliente_to_request
  TIPOS_DE_CLIENTE[self.tipo_cliente]
end
to_request() click to toggle source

Montar o Hash de dados do usuario no padrão utilizado pelo SuperPay

# File lib/superpay_api/dados_usuario.rb, line 118
def to_request
  dados_usuario = {
    codigo_cliente:             self.codigo_cliente,
    tipo_cliente:               self.tipos_de_cliente_to_request,
    nome_comprador:             self.nome,
    documento_comprador:        self.documento,
    documento_2_comprador:      self.documento_2,
    sexo_comprador:             self.sexo_to_request,
    data_nascimento_comprador:  self.data_nascimento,
    email_comprador:            self.email,
  }
  # Adiciona os dados de endereços
  dados_usuario.merge! self.endereco_comprador.to_request("endereco_comprador") unless endereco_comprador.blank?
  dados_usuario.merge! self.endereco_entrega.to_request("endereco_entrega") unless endereco_entrega.blank?

  # Adiciona os dados de telefones
  dados_usuario.merge! self.telefone_comprador.to_request("comprador") unless telefone_comprador.blank?
  dados_usuario.merge! self.telefone_adicional_comprador.to_request("adicional_comprador") unless telefone_adicional_comprador.blank?
  dados_usuario.merge! self.telefone_entrega.to_request("entrega") unless telefone_entrega.blank?
  dados_usuario.merge! self.telefone_adicional_entrega.to_request("adicional_entrega") unless telefone_adicional_entrega.blank?

  return dados_usuario
end