ceplivre 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|