Class: ConsultaCep::Consulta

Inherits:
Object
  • Object
show all
Defined in:
lib/consulta_cep.rb

Constant Summary collapse

ESTADOS =
['AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS', 'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO']
TIPOS =
[
  'Aeroporto', 'Alameda', 'Área', 'Avenida', 'Campo', 'Chácara', 'Colônia', 'Condomínio', 'Conjunto', 'Distrito', 'Esplanada', 'Estação', 'Estrada', 'Favela',
  'Fazenda', 'Feira', 'Jardim', 'Ladeira', 'Lago', 'Lagoa', 'Largo', 'Loteamento', 'Morro', 'Núcleo', 'Parque', 'Passarela', 'Pátio', 'Praça', 'Quadra',
  'Recanto', 'Residencial', 'Rodovia', 'Rua', 'Setor', 'Sítio', 'Travessa', 'Trecho', 'Trevo', 'Vale', 'Vereda', 'Via', 'Viaduto', 'Viela', 'Vila'
]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cep(cep_number) ⇒ Object



57
58
59
# File 'lib/consulta_cep.rb', line 57

def self.cep(cep_number)
  self.new.cep cep_number.gsub(/[^\d]/, '')
end

.endereco(endereco) ⇒ Object



61
62
63
# File 'lib/consulta_cep.rb', line 61

def self.endereco(endereco)
  self.new.endereco endereco
end

.endereco_refinado(endereco, params = {}) ⇒ Object



65
66
67
# File 'lib/consulta_cep.rb', line 65

def self.endereco_refinado(endereco, params={})
  self.new.endereco_refinado endereco, params
end

Instance Method Details

#cep(cep) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/consulta_cep.rb', line 16

def cep(cep)
  page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
    :EndRow       => 10,
    :Metodo       => 'listaLogradouro',
    :StartRow     => 1,
    :TipoConsulta => 'cep',
    :CEP          => cep

  parse_lista page
end

#endereco(endereco) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/consulta_cep.rb', line 27

def endereco(endereco)
  page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
    :EndRow       => 10,
    :Metodo       => 'listaLogradouro',
    :StartRow     => 1,
    :TipoCep      => 'LOG',
    :TipoConsulta => 'relaxation',
    :cfm          => 1,
    :relaxation   => endereco,
    :semelhante   => 'S'

  parse_lista page
end

#endereco_refinado(endereco, params) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/consulta_cep.rb', line 41

def endereco_refinado(endereco, params)
  page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
    :EndRow       => 10,
    :Localidade   => params[:cidade],
    :Logradouro   => endereco,
    :Metodo       => 'listaLogradouro',
    :Numeor       => params[:numero],
    :StartRow     => 1,
    :Tipo         => (params[:tipo] || ''),
    :TipoConsulta => 'logradouro',
    :UF           => params[:estado],
    :cfm          => 1

  parse_lista page
end