brcep 3.0.4 → 3.0.5
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.
- 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"
|