consulta_cep 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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