Class: SuperpayApi::DadosUsuario
- Inherits:
-
Object
- Object
- SuperpayApi::DadosUsuario
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/superpay_api/dados_usuario.rb
Constant Summary collapse
- SEXO =
Opções de Sexo
{ :masculino => "M", :feminino => "F", }
- TIPOS_DE_CLIENTE =
Opções de Tipo de Cliente
{ :pessoa_fisica => 1, :pessoa_juridica => 2, }
Instance Attribute Summary collapse
-
#codigo_cliente ⇒ Object
Código que identifica o cliente no estabelecimento.
-
#data_nascimento ⇒ Object
Data de nascimento do comprador.
-
#documento ⇒ Object
Documento principal do comprador Alfa Numérico - Até 30 caracteres.
-
#documento_2 ⇒ Object
Documento complementar do comprador Alfa Numérico - Até 30 caracteres.
-
#email ⇒ Object
E-mail do comprador Alfa Numérico - Até 100 caracteres.
-
#endereco_comprador ⇒ Object
Endereços SuperpayApi::Endereco.
-
#endereco_entrega ⇒ Object
Endereços SuperpayApi::Endereco.
-
#nome ⇒ Object
Nome do comprador Alfa Numérico - Até 100 caracteres.
-
#sexo ⇒ Object
M – Masculino / F – Feminino Simbolo - Valores pré-definidos [:masculino, :feminino].
-
#telefone_adicional_comprador ⇒ Object
Telefones SuperpayApi::Telefone.
-
#telefone_adicional_entrega ⇒ Object
Telefones SuperpayApi::Telefone.
-
#telefone_comprador ⇒ Object
Telefones SuperpayApi::Telefone.
-
#telefone_entrega ⇒ Object
Telefones SuperpayApi::Telefone.
-
#tipo_cliente ⇒ Object
Identifica se o cliente é pessoa física ou jurídica.
Class Method Summary collapse
-
.sexos_validos ⇒ Object
Retornar array com os possíveis sexos.
-
.tipos_de_cliente_validos ⇒ Object
Retornar array com os possíveis tipos de cliente.
Instance Method Summary collapse
-
#initialize(campos = {}) ⇒ DadosUsuario
constructor
Nova instancia da classe DadosUsuario.
-
#sexo_to_request ⇒ Object
Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay.
-
#tipos_de_cliente_to_request ⇒ Object
Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay.
-
#to_request ⇒ Object
Montar o Hash de dados do usuario no padrão utilizado pelo SuperPay.
Constructor Details
#initialize(campos = {}) ⇒ DadosUsuario
Nova instancia da classe DadosUsuario
100 101 102 103 104 105 106 |
# File 'lib/superpay_api/dados_usuario.rb', line 100 def initialize(campos = {}) campos.each do |campo, valor| if SuperpayApi::DadosUsuario.public_instance_methods.include? "#{campo}=".to_sym send "#{campo}=", valor end end end |
Instance Attribute Details
#codigo_cliente ⇒ Object
Código que identifica o cliente no estabelecimento. Alfa Numérico - Até 20 caracteres
19 20 21 |
# File 'lib/superpay_api/dados_usuario.rb', line 19 def codigo_cliente @codigo_cliente end |
#data_nascimento ⇒ Object
Data de nascimento do comprador. Formato dd/mm/yyyy Alfa Numérico - Até 10 caracteres
47 48 49 |
# File 'lib/superpay_api/dados_usuario.rb', line 47 def data_nascimento @data_nascimento end |
#documento ⇒ Object
Documento principal do comprador Alfa Numérico - Até 30 caracteres
35 36 37 |
# File 'lib/superpay_api/dados_usuario.rb', line 35 def documento @documento end |
#documento_2 ⇒ Object
Documento complementar do comprador Alfa Numérico - Até 30 caracteres
39 40 41 |
# File 'lib/superpay_api/dados_usuario.rb', line 39 def documento_2 @documento_2 end |
#email ⇒ Object
E-mail do comprador Alfa Numérico - Até 100 caracteres
31 32 33 |
# File 'lib/superpay_api/dados_usuario.rb', line 31 def email @email end |
#endereco_comprador ⇒ Object
Endereços SuperpayApi::Endereco
51 52 53 |
# File 'lib/superpay_api/dados_usuario.rb', line 51 def endereco_comprador @endereco_comprador end |
#endereco_entrega ⇒ Object
Endereços SuperpayApi::Endereco
51 52 53 |
# File 'lib/superpay_api/dados_usuario.rb', line 51 def endereco_entrega @endereco_entrega end |
#nome ⇒ Object
Nome do comprador Alfa Numérico - Até 100 caracteres
27 28 29 |
# File 'lib/superpay_api/dados_usuario.rb', line 27 def nome @nome end |
#sexo ⇒ Object
M – Masculino / F – Feminino Simbolo - Valores pré-definidos [:masculino, :feminino]
43 44 45 |
# File 'lib/superpay_api/dados_usuario.rb', line 43 def sexo @sexo end |
#telefone_adicional_comprador ⇒ Object
Telefones SuperpayApi::Telefone
55 56 57 |
# File 'lib/superpay_api/dados_usuario.rb', line 55 def telefone_adicional_comprador @telefone_adicional_comprador end |
#telefone_adicional_entrega ⇒ Object
Telefones SuperpayApi::Telefone
55 56 57 |
# File 'lib/superpay_api/dados_usuario.rb', line 55 def telefone_adicional_entrega @telefone_adicional_entrega end |
#telefone_comprador ⇒ Object
Telefones SuperpayApi::Telefone
55 56 57 |
# File 'lib/superpay_api/dados_usuario.rb', line 55 def telefone_comprador @telefone_comprador end |
#telefone_entrega ⇒ Object
Telefones SuperpayApi::Telefone
55 56 57 |
# File 'lib/superpay_api/dados_usuario.rb', line 55 def telefone_entrega @telefone_entrega end |
#tipo_cliente ⇒ Object
Identifica se o cliente é pessoa física ou jurídica. Ver tabela “Tipo Cliente”Simbolo - Valores pré-definidos [:pessoa_fisica, :pessoa_juridica]
23 24 25 |
# File 'lib/superpay_api/dados_usuario.rb', line 23 def tipo_cliente @tipo_cliente end |
Class Method Details
.sexos_validos ⇒ Object
Retornar array com os possíveis sexos
61 62 63 |
# File 'lib/superpay_api/dados_usuario.rb', line 61 def self.sexos_validos SEXO.map{ |key, value| key } end |
.tipos_de_cliente_validos ⇒ Object
Retornar array com os possíveis tipos de cliente
66 67 68 |
# File 'lib/superpay_api/dados_usuario.rb', line 66 def self.tipos_de_cliente_validos TIPOS_DE_CLIENTE.map{ |key, value| key } end |
Instance Method Details
#sexo_to_request ⇒ Object
Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay
109 110 111 |
# File 'lib/superpay_api/dados_usuario.rb', line 109 def sexo_to_request SEXO[self.sexo] end |
#tipos_de_cliente_to_request ⇒ Object
Retornar o número do tipo de telefone no padrão utilizado pelo SuperPay
114 115 116 |
# File 'lib/superpay_api/dados_usuario.rb', line 114 def tipos_de_cliente_to_request TIPOS_DE_CLIENTE[self.tipo_cliente] end |
#to_request ⇒ Object
Montar o Hash de dados do usuario no padrão utilizado pelo SuperPay
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/superpay_api/dados_usuario.rb', line 119 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 |