brcep 3.0.4 → 3.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/brcep/busca_endereco.rb +9 -9
- data/lib/brcep/version.rb +1 -1
- data/test/busca_endereco_test.rb +5 -5
- data/test/test_helper.rb +2 -2
- metadata +20 -6
data/Rakefile
CHANGED
data/lib/brcep/busca_endereco.rb
CHANGED
@@ -7,7 +7,7 @@ require 'rexml/document'
|
|
7
7
|
# e o web service do Buscar CEP (http://www.buscarcep.com.br). O segundo só é utilizado quando
|
8
8
|
# o primeiro está indisponível ou quando ele não encontra o endereço associado ao CEP informado.
|
9
9
|
# Obviamente, para utilizar este serviço é necessário uma conexão com a Internet.
|
10
|
-
#
|
10
|
+
#
|
11
11
|
#Como fazer a busca de endereço por cep?
|
12
12
|
#
|
13
13
|
# BuscaEndereco.por_cep(22640100) ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
|
@@ -26,20 +26,20 @@ require 'rexml/document'
|
|
26
26
|
class BuscaEndereco
|
27
27
|
@@proxy_addr = nil
|
28
28
|
@@proxy_port = nil
|
29
|
-
|
29
|
+
|
30
30
|
class << self
|
31
31
|
def proxy_addr
|
32
32
|
@@proxy_addr
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
def proxy_addr=(addr)
|
36
36
|
@@proxy_addr = addr
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
def proxy_port
|
40
40
|
@@proxy_port
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def proxy_port=(port)
|
44
44
|
@@proxy_port = port
|
45
45
|
end
|
@@ -51,7 +51,7 @@ class BuscaEndereco
|
|
51
51
|
# Elementos do XML retornado pelos web services
|
52
52
|
ELEMENTOS_XML_BRONZE_BUSINESS = %w(logradouro nome bairro UF cidade) #:nodoc:
|
53
53
|
ELEMENTOS_XML_BUSCAR_CEP = %w(tipo_logradouro logradouro bairro uf cidade) #:nodoc:
|
54
|
-
|
54
|
+
|
55
55
|
# Retorna um array com os dados de endereçamento para o cep informado ou um erro quando o serviço está indisponível,
|
56
56
|
# quando o cep informado possui um formato inválido ou quando o endereço não foi encontrado.
|
57
57
|
#
|
@@ -68,12 +68,12 @@ class BuscaEndereco
|
|
68
68
|
rescue
|
69
69
|
usar_web_service_do_buscar_cep
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
@@retorno << @@cep
|
73
73
|
end
|
74
74
|
|
75
75
|
private
|
76
|
-
|
76
|
+
|
77
77
|
def self.usar_web_service_da_bronze_business
|
78
78
|
@@response = Net::HTTP.Proxy(self.proxy_addr, self.proxy_port).get_response(URI.parse("#{URL_WEB_SERVICE_BRONZE_BUSINESS}#{@@cep}"))
|
79
79
|
raise "A busca de endereço por CEP através do web service da Bronze Business está indisponível." unless @@response.kind_of?(Net::HTTPSuccess)
|
@@ -85,7 +85,7 @@ class BuscaEndereco
|
|
85
85
|
def self.usar_web_service_do_buscar_cep
|
86
86
|
@@response = Net::HTTP.Proxy(self.proxy_addr, self.proxy_port).get_response(URI.parse("#{URL_WEB_SERVICE_BUSCAR_CEP}#{@@cep}&formato=xml"))
|
87
87
|
raise "A busca de endereço por CEP está indisponível no momento." unless @@response.kind_of?(Net::HTTPSuccess)
|
88
|
-
|
88
|
+
|
89
89
|
@@doc = REXML::Document.new(@@response.body)
|
90
90
|
processar_xml ELEMENTOS_XML_BUSCAR_CEP
|
91
91
|
end
|
data/lib/brcep/version.rb
CHANGED
data/test/busca_endereco_test.rb
CHANGED
@@ -15,7 +15,7 @@ class MockSuccess < Net::HTTPSuccess
|
|
15
15
|
end
|
16
16
|
|
17
17
|
class MockServerError < Net::HTTPServerError
|
18
|
-
def initialize;
|
18
|
+
def initialize;
|
19
19
|
@message = 'HTTPServiceUnavailable'
|
20
20
|
@code = '504'
|
21
21
|
end
|
@@ -28,10 +28,10 @@ end
|
|
28
28
|
class BuscaEnderecoTest < Test::Unit::TestCase
|
29
29
|
def test_raise_without_service_on_both_web_services
|
30
30
|
http_error_response = MockServerError.new
|
31
|
-
|
31
|
+
|
32
32
|
Net::HTTP.expects(:get_response).returns(http_error_response)
|
33
33
|
Net::HTTP.expects(:get_response).returns(http_error_response)
|
34
|
-
|
34
|
+
|
35
35
|
assert_raise RuntimeError, "A busca de endereço por CEP está indisponível no momento." do
|
36
36
|
BuscaEndereco.por_cep(VALID_ZIPS.first)
|
37
37
|
end
|
@@ -43,8 +43,8 @@ class BuscaEnderecoTest < Test::Unit::TestCase
|
|
43
43
|
BuscaEndereco.por_cep(invalid_zip)
|
44
44
|
end
|
45
45
|
end
|
46
|
-
end
|
47
|
-
|
46
|
+
end
|
47
|
+
|
48
48
|
def test_valid_code_on_bronze_business
|
49
49
|
VALID_ZIPS.each do |valid_zip|
|
50
50
|
mock_get_response_from_bronze_business(limpa_cep(valid_zip))
|
data/test/test_helper.rb
CHANGED
@@ -5,8 +5,8 @@ require File.dirname(__FILE__) + '/../lib/brcep'
|
|
5
5
|
def tornar_metodos_publicos(clazz)
|
6
6
|
clazz.class_eval do
|
7
7
|
private_instance_methods.each { |instance_method| public instance_method }
|
8
|
-
private_methods.each { |method| public_class_method method }
|
9
|
-
end
|
8
|
+
private_methods.each { |method| public_class_method method }
|
9
|
+
end
|
10
10
|
end
|
11
11
|
|
12
12
|
def p80 text
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brcep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 3
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
version: 3.0.5
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- "Marcos Tapaj\xC3\xB3s"
|
@@ -16,30 +20,34 @@ autorequire:
|
|
16
20
|
bindir: bin
|
17
21
|
cert_chain: []
|
18
22
|
|
19
|
-
date:
|
23
|
+
date: 2012-01-02 00:00:00 -02:00
|
20
24
|
default_executable:
|
21
25
|
dependencies:
|
22
26
|
- !ruby/object:Gem::Dependency
|
23
27
|
name: rake
|
24
|
-
prerelease: false
|
25
28
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
29
|
none: false
|
27
30
|
requirements:
|
28
31
|
- - ">="
|
29
32
|
- !ruby/object:Gem::Version
|
33
|
+
segments:
|
34
|
+
- 0
|
30
35
|
version: "0"
|
31
36
|
type: :development
|
37
|
+
prerelease: false
|
32
38
|
version_requirements: *id001
|
33
39
|
- !ruby/object:Gem::Dependency
|
34
40
|
name: mocha
|
35
|
-
prerelease: false
|
36
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
37
42
|
none: false
|
38
43
|
requirements:
|
39
44
|
- - ">="
|
40
45
|
- !ruby/object:Gem::Version
|
46
|
+
segments:
|
47
|
+
- 0
|
41
48
|
version: "0"
|
42
49
|
type: :development
|
50
|
+
prerelease: false
|
43
51
|
version_requirements: *id002
|
44
52
|
description: "brcep \xC3\xA9 uma das gems que compoem o Brazilian Rails"
|
45
53
|
email:
|
@@ -88,17 +96,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
96
|
requirements:
|
89
97
|
- - ">="
|
90
98
|
- !ruby/object:Gem::Version
|
99
|
+
hash: 3671898675078643951
|
100
|
+
segments:
|
101
|
+
- 0
|
91
102
|
version: "0"
|
92
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
104
|
none: false
|
94
105
|
requirements:
|
95
106
|
- - ">="
|
96
107
|
- !ruby/object:Gem::Version
|
108
|
+
hash: 3671898675078643951
|
109
|
+
segments:
|
110
|
+
- 0
|
97
111
|
version: "0"
|
98
112
|
requirements:
|
99
113
|
- none
|
100
114
|
rubyforge_project: brcep
|
101
|
-
rubygems_version: 1.
|
115
|
+
rubygems_version: 1.3.7
|
102
116
|
signing_key:
|
103
117
|
specification_version: 3
|
104
118
|
summary: "brcep \xC3\xA9 uma das gems que compoem o Brazilian Rails"
|