ceplivre 0.0.3 → 0.1.0
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/.rspec +2 -0
- data/.rvmrc +1 -0
- data/Gemfile +1 -1
- data/README.md +39 -8
- data/ceplivre.gemspec +5 -5
- data/lib/ceplivre.rb +11 -1
- data/lib/ceplivre/version.rb +2 -2
- data/spec/ceplivre/configuration_spec.rb +3 -3
- data/spec/ceplivre_spec.rb +15 -3
- metadata +13 -9
data/.rspec
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use 1.9.2@ceplivre --create
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,15 +1,46 @@
|
|
1
|
-
#
|
1
|
+
# Cep Livre GEM
|
2
2
|
|
3
|
-
|
3
|
+
Lib para facilitar a busca de CEP e Logradouro em qualquer aplicação Ruby e Rails que queira utilizar a API do serviço ceplivre.com.br
|
4
4
|
|
5
|
-
|
5
|
+
## Compatibilidade
|
6
6
|
|
7
|
-
|
7
|
+
* Testada com Ruby 1.9.2 e aplicações Rails 3.1
|
8
8
|
|
9
|
-
|
9
|
+
## Instalação
|
10
10
|
|
11
|
-
|
11
|
+
### Como gem
|
12
12
|
|
13
|
-
|
13
|
+
Adicione ao arquivo Gemfile da sua aplicação:
|
14
|
+
|
15
|
+
gem "ceplivre"
|
16
|
+
|
17
|
+
e execute o comando:
|
14
18
|
|
15
|
-
|
19
|
+
bundle install
|
20
|
+
|
21
|
+
### Crie um arquivo de configuração
|
22
|
+
|
23
|
+
Crie um arquivo de configuração na sua aplicação (config/initializers/ceplivre.rb) com sua chave da API:
|
24
|
+
|
25
|
+
CepLivre::Configuration.key = "Chave da API"
|
26
|
+
|
27
|
+
## Como utilizar
|
28
|
+
|
29
|
+
Para pesquisar por CEP:
|
30
|
+
|
31
|
+
CepLivre::Cep.find("22030-030", :json)
|
32
|
+
|
33
|
+
Para pesquisar por Logradouro:
|
34
|
+
|
35
|
+
CepLivre::Logradouro.find("Nossa Senhora de Copacabana", :json)
|
36
|
+
|
37
|
+
|
38
|
+
## Contribuição
|
39
|
+
|
40
|
+
Para contribuir, basta enviar um Pull Request com seus devidos testes.
|
41
|
+
|
42
|
+
|
43
|
+
## Créditos
|
44
|
+
|
45
|
+
* Eduardo Fiorezi - [hooppe.com](http://hooppe.com)
|
46
|
+
* Felipe Bazzarella - [bazzarella.com](http://bazzarella.com)
|
data/ceplivre.gemspec
CHANGED
@@ -5,11 +5,11 @@ require "ceplivre/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "ceplivre"
|
7
7
|
s.version = Ceplivre::VERSION
|
8
|
-
s.authors = ["Eduardo Fiorezi"]
|
9
|
-
s.email = ["eduardofiorezi@gmail.com"]
|
8
|
+
s.authors = ["Eduardo Fiorezi", "Felipe Bazzarella"]
|
9
|
+
s.email = ["eduardofiorezi@gmail.com", "fbazzarella@gmail.com"]
|
10
10
|
s.homepage = "http://hooppe.com"
|
11
|
-
s.summary = %q{Gem para utilizar a
|
12
|
-
s.description = %q{Utilize a API ceplivre na sua aplicação}
|
11
|
+
s.summary = %q{Gem para utilizar a API ceplivre}
|
12
|
+
s.description = %q{Utilize a API ceplivre na sua aplicação Ruby e Rails}
|
13
13
|
|
14
14
|
s.rubyforge_project = "ceplivre"
|
15
15
|
|
@@ -21,4 +21,4 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_dependency 'httparty', "0.8.1"
|
22
22
|
|
23
23
|
s.add_development_dependency "rspec"
|
24
|
-
end
|
24
|
+
end
|
data/lib/ceplivre.rb
CHANGED
@@ -2,6 +2,7 @@ require "ceplivre/version"
|
|
2
2
|
require "ceplivre/configuration"
|
3
3
|
|
4
4
|
require "httparty"
|
5
|
+
require "uri"
|
5
6
|
|
6
7
|
module CepLivre
|
7
8
|
class Cep
|
@@ -11,4 +12,13 @@ module CepLivre
|
|
11
12
|
self.get("http://ceplivre.com.br/consultar/cep/#{CepLivre::Configuration.key}/#{cep}/#{format}")["cep"]
|
12
13
|
end
|
13
14
|
end
|
14
|
-
|
15
|
+
|
16
|
+
class Logradouro
|
17
|
+
include HTTParty
|
18
|
+
|
19
|
+
def self.find(logradouro, format)
|
20
|
+
logradouro_escaped = URI.escape(logradouro, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
21
|
+
self.get("http://ceplivre.com.br/consultar/logradouro/#{CepLivre::Configuration.key}/#{logradouro_escaped}/#{format}")["cep"]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/ceplivre/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Ceplivre
|
2
|
-
VERSION = "0.0
|
3
|
-
end
|
2
|
+
VERSION = "0.1.0"
|
3
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe "CepLivre::Configuration" do
|
5
|
-
before do
|
5
|
+
before :all do
|
6
6
|
CepLivre::Configuration.key = nil
|
7
7
|
end
|
8
8
|
|
@@ -13,7 +13,7 @@ describe "CepLivre::Configuration" do
|
|
13
13
|
it "should set a key for ceplivre api" do
|
14
14
|
key_to_test = "122345677009212"
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
CepLivre::Configuration.key = key_to_test
|
17
|
+
CepLivre::Configuration.key.should == key_to_test
|
18
18
|
end
|
19
19
|
end
|
data/spec/ceplivre_spec.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe "CepLivre" do
|
5
|
-
before do
|
6
|
-
CepLivre::Configuration.key = "" #
|
5
|
+
before :all do
|
6
|
+
CepLivre::Configuration.key = "" # Add a test key
|
7
7
|
end
|
8
8
|
|
9
9
|
describe "find_cep" do
|
@@ -17,4 +17,16 @@ describe "CepLivre" do
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
|
+
describe "find_logradouro" do
|
22
|
+
context "json format" do
|
23
|
+
it "should get data from cep livre api" do
|
24
|
+
CepLivre::Logradouro.find("Nossa Senhora de Copacabana", :json).should == [{"tp_logradouro"=>"Rua", "tp_logradouro_id"=>"11", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Piedade", "cidade"=>"Jaboatão dos Guararapes", "uf_sigla"=>"PE", "ufnome"=>"Pernambuco", "id_estado_ibge"=>"26", "cep"=>"54410-250", "muncoddv"=>"2607901", "ddd"=>"81", "altitude"=>"76", "latitude"=>"-8.113", "longitude"=>"-35.015", "area"=>"256.073", "capital"=>"N"}, {"tp_logradouro"=>"Rua", "tp_logradouro_id"=>"11", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Leblon (Venda Nova)", "cidade"=>"Belo Horizonte", "uf_sigla"=>"MG", "ufnome"=>"Minas Gerais", "id_estado_ibge"=>"31", "cep"=>"31575-100", "muncoddv"=>"3106200", "ddd"=>"31", "altitude"=>"858", "latitude"=>"-19.817", "longitude"=>"-43.956", "area"=>"330.954", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Vila São João", "cidade"=>"Queimados", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"26379-010", "muncoddv"=>"3304144", "ddd"=>"21", "altitude"=>"30", "latitude"=>"-22.716", "longitude"=>"-43.555", "area"=>"76.921", "capital"=>"N"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Leme", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22010-121", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22020-001", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22020-002", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22070-012", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22060-002", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22050-002", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22050-001", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22031-000", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22060-001", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Leme", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22010-122", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Copacabana", "cidade"=>"Rio de Janeiro", "uf_sigla"=>"RJ", "ufnome"=>"Rio de Janeiro", "id_estado_ibge"=>"33", "cep"=>"22070-011", "muncoddv"=>"3304557", "ddd"=>"21", "altitude"=>"2", "latitude"=>"-22.903", "longitude"=>"-43.208", "area"=>"1182.296", "capital"=>"S"}, {"tp_logradouro"=>"Avenida", "tp_logradouro_id"=>"2", "logradouro"=>"Nossa Senhora de Copacabana", "bairro"=>"Jardim Guanabara", "cidade"=>"Cuiabá", "uf_sigla"=>"MT", "ufnome"=>"Mato Grosso", "id_estado_ibge"=>"51", "cep"=>"78010-645", "muncoddv"=>"5103403", "ddd"=>"65", "altitude"=>"176", "latitude"=>"-15.596", "longitude"=>"-56.097", "area"=>"3538.167", "capital"=>"S"}]
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should return a empty array when not find a logradouro" do
|
28
|
+
CepLivre::Logradouro.find("Rua Que Não Existe", :json).should == []
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ceplivre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Eduardo Fiorezi
|
9
|
+
- Felipe Bazzarella
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
+
date: 2012-02-07 00:00:00.000000000Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: httparty
|
16
|
-
requirement: &
|
17
|
+
requirement: &70165778538560 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - =
|
@@ -21,10 +22,10 @@ dependencies:
|
|
21
22
|
version: 0.8.1
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
+
version_requirements: *70165778538560
|
25
26
|
- !ruby/object:Gem::Dependency
|
26
27
|
name: rspec
|
27
|
-
requirement: &
|
28
|
+
requirement: &70165778538140 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
30
|
requirements:
|
30
31
|
- - ! '>='
|
@@ -32,15 +33,18 @@ dependencies:
|
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
description: Utilize a API ceplivre na sua aplicação
|
36
|
+
version_requirements: *70165778538140
|
37
|
+
description: Utilize a API ceplivre na sua aplicação Ruby e Rails
|
37
38
|
email:
|
38
39
|
- eduardofiorezi@gmail.com
|
40
|
+
- fbazzarella@gmail.com
|
39
41
|
executables: []
|
40
42
|
extensions: []
|
41
43
|
extra_rdoc_files: []
|
42
44
|
files:
|
43
45
|
- .gitignore
|
46
|
+
- .rspec
|
47
|
+
- .rvmrc
|
44
48
|
- Gemfile
|
45
49
|
- README.md
|
46
50
|
- Rakefile
|
@@ -71,10 +75,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
75
|
version: '0'
|
72
76
|
requirements: []
|
73
77
|
rubyforge_project: ceplivre
|
74
|
-
rubygems_version: 1.8.
|
78
|
+
rubygems_version: 1.8.15
|
75
79
|
signing_key:
|
76
80
|
specification_version: 3
|
77
|
-
summary: Gem para utilizar a
|
81
|
+
summary: Gem para utilizar a API ceplivre
|
78
82
|
test_files:
|
79
83
|
- spec/ceplivre/configuration_spec.rb
|
80
84
|
- spec/ceplivre_spec.rb
|