consulta_cep 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_dependency 'mechanize'
21
+ s.add_dependency 'nokogiri'
22
22
 
23
23
  # specify any dependencies here; for example:
24
24
  # s.add_development_dependency "rspec"
@@ -1,7 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
-
3
- require 'logger'
4
- require 'mechanize'
2
+ require 'net/http'
3
+ require 'nokogiri'
5
4
  require "consulta_cep/version"
6
5
 
7
6
  module ConsultaCep
@@ -14,26 +13,19 @@ module ConsultaCep
14
13
  'Recanto', 'Residencial', 'Rodovia', 'Rua', 'Setor', 'Sítio', 'Travessa', 'Trecho', 'Trevo', 'Vale', 'Vereda', 'Via', 'Viaduto', 'Viela', 'Vila'
15
14
  ]
16
15
 
17
- def initialize
18
- @agent = Mechanize.new#{ |a| a.log = Logger.new(STDERR) }
19
- @agent.user_agent_alias = 'Windows IE 7'
20
- @last_page = @agent.get 'http://correios.com.br'
21
- sleep 0.1
22
- end
23
-
24
16
  def cep(cep)
25
- @last_page = @agent.post 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
17
+ page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
26
18
  :EndRow => 10,
27
19
  :Metodo => 'listaLogradouro',
28
20
  :StartRow => 1,
29
21
  :TipoConsulta => 'cep',
30
22
  :CEP => cep
31
23
 
32
- parse_lista @last_page
24
+ parse_lista page
33
25
  end
34
26
 
35
27
  def endereco(endereco)
36
- @last_page = @agent.post 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
28
+ page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
37
29
  :EndRow => 10,
38
30
  :Metodo => 'listaLogradouro',
39
31
  :StartRow => 1,
@@ -43,11 +35,11 @@ module ConsultaCep
43
35
  :relaxation => endereco,
44
36
  :semelhante => 'S'
45
37
 
46
- parse_lista @last_page
38
+ parse_lista page
47
39
  end
48
40
 
49
41
  def endereco_refinado(endereco, params)
50
- @last_page = @agent.post 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
42
+ page = request_page 'http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do',
51
43
  :EndRow => 10,
52
44
  :Localidade => params[:cidade],
53
45
  :Logradouro => endereco,
@@ -59,7 +51,7 @@ module ConsultaCep
59
51
  :UF => params[:estado],
60
52
  :cfm => 1
61
53
 
62
- parse_lista @last_page
54
+ parse_lista page
63
55
  end
64
56
 
65
57
  def self.cep(cep_number)
@@ -75,6 +67,10 @@ module ConsultaCep
75
67
  end
76
68
 
77
69
  protected
70
+ def request_page(url, params)
71
+ Nokogiri.parse Net::HTTP.post_form(URI.parse(url), params).body
72
+ end
73
+
78
74
  def parse_lista(page)
79
75
  elements = []
80
76
  page.search('tr[@onclick]').each do |row|
@@ -1,3 +1,3 @@
1
1
  module ConsultaCep
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consulta_cep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,8 +12,8 @@ cert_chain: []
12
12
  date: 2011-10-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: mechanize
16
- requirement: &70122226543060 !ruby/object:Gem::Requirement
15
+ name: nokogiri
16
+ requirement: &70122801050600 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70122226543060
24
+ version_requirements: *70122801050600
25
25
  description: ! 'A very simple gem to fetch brazilian postalcodes from www.correios.com.br '
26
26
  email:
27
27
  - dalthon@dlt.local