Class: SuperpayApi::Endereco

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/superpay_api/endereco.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(campos = {}) ⇒ Endereco

Nova instancia da classe Endereco



44
45
46
47
48
49
50
# File 'lib/superpay_api/endereco.rb', line 44

def initialize(campos = {})
  campos.each do |campo, valor|
    if SuperpayApi::Endereco.public_instance_methods.include? "#{campo}=".to_sym
      send "#{campo}=", valor
    end
  end
end

Instance Attribute Details

#bairroObject

Bairro do logradouro Alfa Numérico - Até 50 caracteres



15
16
17
# File 'lib/superpay_api/endereco.rb', line 15

def bairro
  @bairro
end

#cepObject

CEP. Enviar sem traços ou espaços Alfa Numérico - Até 10 caracteres



31
32
33
# File 'lib/superpay_api/endereco.rb', line 31

def cep
  @cep
end

#cidadeObject

Cidade do logradouro Alfa Numérico - Até 50 caracteres



23
24
25
# File 'lib/superpay_api/endereco.rb', line 23

def cidade
  @cidade
end

#complementoObject

Complemento do endereço comprador Alfa Numérico - Até 50 caracteres



19
20
21
# File 'lib/superpay_api/endereco.rb', line 19

def complemento
  @complemento
end

#estadoObject

Estado do logradouro Alfa Numérico - Até 2 caracteres



27
28
29
# File 'lib/superpay_api/endereco.rb', line 27

def estado
  @estado
end

#logradouroObject

Endereço (Logradouro) Alfa Numérico - Até 100 caracteres



7
8
9
# File 'lib/superpay_api/endereco.rb', line 7

def logradouro
  @logradouro
end

#numeroObject

Número do logradouro Alfa Numérico - Até 10 caracteres



11
12
13
# File 'lib/superpay_api/endereco.rb', line 11

def numero
  @numero
end

Instance Method Details

#to_request(tipo) ⇒ Object

Montar o Hash de Endereco conforme o tipo dele no padrão utilizado pelo SuperPay tipo: [:endereco_comprador, :endereco_entrega]



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/superpay_api/endereco.rb', line 54

def to_request tipo
  endereco = {}
  case tipo.to_sym
    when :endereco_comprador then
      endereco = {
        endereco_comprador:               self.logradouro,
        numero_endereco_comprador:        self.numero,
        bairro_endereco_comprador:        self.bairro,
        complemento_endereco_comprador:   self.complemento,
        cidade_endereco_comprador:        self.cidade,
        estado_endereco_comprador:        self.estado,
        cep_endereco_comprador:           self.cep,
      }
    when :endereco_entrega then
      endereco = {
        endereco_entrega:               self.logradouro,
        numero_endereco_entrega:        self.numero,
        bairro_endereco_entrega:        self.bairro,
        complemento_endereco_entrega:   self.complemento,
        cidade_endereco_entrega:        self.cidade,
        estado_endereco_entrega:        self.estado,
        cep_endereco_entrega:           self.cep,
      }
    else
      raise 'Endereço inválido.'
  end
  return endereco
end