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 ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.2@ceplivre --create
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
- gem 'httparty'
4
+ gem 'httparty'
data/README.md CHANGED
@@ -1,15 +1,46 @@
1
- # ceplivre gem
1
+ # Cep Livre GEM
2
2
 
3
- ## Como configurar
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
- Crie um arquivo de configuração na sua aplicação rails.
5
+ ## Compatibilidade
6
6
 
7
- /config/initializers/ceplivre.rb
7
+ * Testada com Ruby 1.9.2 e aplicações Rails 3.1
8
8
 
9
- CepLivre::Configuration.key = "Key recebida do cep livre"
9
+ ## Instalação
10
10
 
11
- ## Como utiliza
11
+ ### Como gem
12
12
 
13
- Basta chamar utilizar o seguinte comando:
13
+ Adicione ao arquivo Gemfile da sua aplicação:
14
+
15
+ gem "ceplivre"
16
+
17
+ e execute o comando:
14
18
 
15
- CepLivre::Cep.find("22030-030", :json)
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)
@@ -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 api ceplivre}
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
@@ -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
- end
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
@@ -1,3 +1,3 @@
1
1
  module Ceplivre
2
- VERSION = "0.0.3"
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
- CepLivre::Configuration.key = key_to_test
17
- CepLivre::Configuration.key.should == key_to_test
16
+ CepLivre::Configuration.key = key_to_test
17
+ CepLivre::Configuration.key.should == key_to_test
18
18
  end
19
19
  end
@@ -2,8 +2,8 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe "CepLivre" do
5
- before do
6
- CepLivre::Configuration.key = "" #add a test 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
- end
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.3
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-01-09 00:00:00.000000000Z
13
+ date: 2012-02-07 00:00:00.000000000Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: httparty
16
- requirement: &70235357325820 !ruby/object:Gem::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: *70235357325820
25
+ version_requirements: *70165778538560
25
26
  - !ruby/object:Gem::Dependency
26
27
  name: rspec
27
- requirement: &70235357323480 !ruby/object:Gem::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: *70235357323480
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.10
78
+ rubygems_version: 1.8.15
75
79
  signing_key:
76
80
  specification_version: 3
77
- summary: Gem para utilizar a api ceplivre
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