cep_brasil 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +22 -20
- data/README.md +9 -7
- data/lib/cep_brasil.rb +2 -25
- data/lib/cep_brasil/address/gerar_endereco.rb +13 -8
- data/lib/cep_brasil/random/random.rb +22 -3
- data/lib/cep_brasil/request/request.rb +19 -0
- data/lib/cep_brasil/version.rb +1 -1
- data/test.rb +1 -0
- metadata +8 -21
- data/cep_brasil.gemspec +0 -35
- data/lib/cep_brasil/api/json.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f36c71e09a1e2c3b0fc52c7641a6c30a4bbd888963eab081752deac89b40fdc4
|
4
|
+
data.tar.gz: 77f748f877b35b73bc378cfc648676323b42799c867b43c5b6b421d6a10c2981
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecc614e93e40eab14aabad9817b7fa6d0e47d01be6313b9dce79a5a3f55da48471f3096cb872b70fa2652f25021bf5f7732d802a61c76590c9e640f11fa28a36
|
7
|
+
data.tar.gz: 7d7dce675606583a230100b4292abd7b0b4fce9d1aa42edbeadbfb654c7edf33ca8505c73cbac31ee4f130b8f458ce3685b43bc986e1ca3dd9b542d42e9ea0e0
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,41 +1,43 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cep_brasil (0.1.
|
4
|
+
cep_brasil (0.1.4)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
diff-lcs (1.
|
9
|
+
diff-lcs (1.4.4)
|
10
10
|
domain_name (0.5.20190701)
|
11
11
|
unf (>= 0.0.5, < 1.0.0)
|
12
|
+
http-accept (1.7.0)
|
12
13
|
http-cookie (1.0.3)
|
13
14
|
domain_name (~> 0.5)
|
14
|
-
mime-types (3.
|
15
|
+
mime-types (3.3.1)
|
15
16
|
mime-types-data (~> 3.2015)
|
16
|
-
mime-types-data (3.
|
17
|
+
mime-types-data (3.2020.0512)
|
17
18
|
netrc (0.11.0)
|
18
|
-
rake (
|
19
|
-
rest-client (2.0
|
19
|
+
rake (13.0.1)
|
20
|
+
rest-client (2.1.0)
|
21
|
+
http-accept (>= 1.7.0, < 2.0)
|
20
22
|
http-cookie (>= 1.0.2, < 2.0)
|
21
23
|
mime-types (>= 1.16, < 4.0)
|
22
24
|
netrc (~> 0.8)
|
23
|
-
rspec (3.
|
24
|
-
rspec-core (~> 3.
|
25
|
-
rspec-expectations (~> 3.
|
26
|
-
rspec-mocks (~> 3.
|
27
|
-
rspec-core (3.
|
28
|
-
rspec-support (~> 3.
|
29
|
-
rspec-expectations (3.
|
25
|
+
rspec (3.9.0)
|
26
|
+
rspec-core (~> 3.9.0)
|
27
|
+
rspec-expectations (~> 3.9.0)
|
28
|
+
rspec-mocks (~> 3.9.0)
|
29
|
+
rspec-core (3.9.2)
|
30
|
+
rspec-support (~> 3.9.3)
|
31
|
+
rspec-expectations (3.9.2)
|
30
32
|
diff-lcs (>= 1.2.0, < 2.0)
|
31
|
-
rspec-support (~> 3.
|
32
|
-
rspec-mocks (3.
|
33
|
+
rspec-support (~> 3.9.0)
|
34
|
+
rspec-mocks (3.9.1)
|
33
35
|
diff-lcs (>= 1.2.0, < 2.0)
|
34
|
-
rspec-support (~> 3.
|
35
|
-
rspec-support (3.
|
36
|
+
rspec-support (~> 3.9.0)
|
37
|
+
rspec-support (3.9.3)
|
36
38
|
unf (0.1.4)
|
37
39
|
unf_ext
|
38
|
-
unf_ext (0.0.7.
|
40
|
+
unf_ext (0.0.7.7)
|
39
41
|
|
40
42
|
PLATFORMS
|
41
43
|
ruby
|
@@ -43,9 +45,9 @@ PLATFORMS
|
|
43
45
|
DEPENDENCIES
|
44
46
|
bundler (~> 2.0)
|
45
47
|
cep_brasil!
|
46
|
-
rake (~>
|
48
|
+
rake (~> 13.0)
|
47
49
|
rest-client
|
48
50
|
rspec (~> 3.0)
|
49
51
|
|
50
52
|
BUNDLED WITH
|
51
|
-
2.
|
53
|
+
2.1.4
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# CepBrasil
|
2
2
|
|
3
|
-
This gem was created to make my applications tests more easy. I will
|
3
|
+
This gem was created to make my applications tests more easy. I will update soon and I'll be happy if you want to help me
|
4
4
|
|
5
5
|
|
6
6
|
## Installation
|
@@ -31,14 +31,20 @@ require 'cep_brasil'
|
|
31
31
|
|
32
32
|
#Generates a Random CEP
|
33
33
|
|
34
|
-
CepBrasil::Random.
|
34
|
+
CepBrasil::Random.generate_formatted #=> "010050-101"
|
35
|
+
|
36
|
+
or
|
37
|
+
|
38
|
+
CepBrasil::Random.generate_formatted('12345678') #=> "12345-678"
|
35
39
|
|
36
40
|
#Create a address object by pass a CEP and content type, ex: json, xml
|
37
41
|
|
38
|
-
endereco = CepBrasil::Address::Generate.new('01001001', 'json') #=> "Object"
|
42
|
+
endereco = CepBrasil::Address::Generate.new('01001001', 'json') #=> "<Address Object>"
|
39
43
|
endereco.cep #=> "010050-101"
|
40
44
|
endereco.logradouro #=> "Praça da Sé"
|
41
45
|
|
46
|
+
## The random generates not necessarily generates a valid cep, it´s recomend to using in tests
|
47
|
+
## The Address object with valid cep build a valid address
|
42
48
|
|
43
49
|
```
|
44
50
|
|
@@ -53,7 +59,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERN
|
|
53
59
|
## License
|
54
60
|
|
55
61
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
56
|
-
|
57
|
-
## Code of Conduct
|
58
|
-
|
59
|
-
Everyone interacting in the CepBrasil project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/cep_brasil/blob/master/CODE_OF_CONDUCT.md).
|
data/lib/cep_brasil.rb
CHANGED
@@ -1,27 +1,4 @@
|
|
1
1
|
require "cep_brasil/version"
|
2
|
+
require 'cep_brasil/request/request'
|
2
3
|
require 'cep_brasil/random/random'
|
3
|
-
require 'cep_brasil/
|
4
|
-
require 'cep_brasil/address/gerar_endereco'
|
5
|
-
|
6
|
-
module CepBrasil
|
7
|
-
class RandomCep
|
8
|
-
|
9
|
-
def initialize(cep=nil)
|
10
|
-
@cep = cep
|
11
|
-
end
|
12
|
-
|
13
|
-
def parse_cep
|
14
|
-
unless @cep.nil?
|
15
|
-
if @cep.size == 8
|
16
|
-
cep = @cep.to_s
|
17
|
-
valid = @cep =~ /[^0-9]/
|
18
|
-
return valid_cep = @cep[0..4] + '-' + @cep[5..7] if valid.nil?
|
19
|
-
return 'Caracteres inválido, favor utilizar so numeros'
|
20
|
-
else
|
21
|
-
return 'Necessário informar 8 numeros'
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
4
|
+
require 'cep_brasil/address/gerar_endereco'
|
@@ -1,17 +1,18 @@
|
|
1
|
+
require 'json'
|
1
2
|
|
2
|
-
require 'rest-client'
|
3
3
|
module CepBrasil
|
4
4
|
module Address
|
5
5
|
|
6
|
-
BASE_URL = "viacep.com.br/ws"
|
6
|
+
BASE_URL = "https://viacep.com.br/ws"
|
7
|
+
|
7
8
|
|
8
9
|
class Generate
|
10
|
+
include Request
|
9
11
|
attr_reader :cep, :logradouro, :complemento, :bairro
|
10
12
|
attr_reader :localidade, :uf, :unidade, :ibge, :gia, :endereco
|
11
13
|
|
12
14
|
def initialize(cep_entry, response_type)
|
13
|
-
|
14
|
-
@cep_entry = cep_entry
|
15
|
+
cep_entry = normalize cep_entry
|
15
16
|
params = connect cep_entry, response_type
|
16
17
|
@cep = params['cep']
|
17
18
|
@logradouro ||= params['logradouro']
|
@@ -26,7 +27,7 @@ module CepBrasil
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def full_address
|
29
|
-
|
30
|
+
endereco = {
|
30
31
|
cep: @cep,
|
31
32
|
logradouro: @logradouro,
|
32
33
|
complemento: @complemento,
|
@@ -39,13 +40,17 @@ module CepBrasil
|
|
39
40
|
}
|
40
41
|
end
|
41
42
|
|
42
|
-
private
|
43
43
|
|
44
|
+
private
|
45
|
+
|
44
46
|
def connect(cep_entry, response_type)
|
45
|
-
|
46
|
-
params =
|
47
|
+
request = "#{BASE_URL}/#{cep_entry}/#{response_type}"
|
48
|
+
params = get(request)
|
47
49
|
end
|
48
50
|
|
51
|
+
def normalize(cep)
|
52
|
+
normalcep = cep.gsub('-', '')
|
53
|
+
end
|
49
54
|
|
50
55
|
end
|
51
56
|
end
|
@@ -1,9 +1,28 @@
|
|
1
1
|
module CepBrasil::Random
|
2
2
|
class << self
|
3
|
+
attr_reader :cep
|
3
4
|
|
4
|
-
def
|
5
|
-
@cep =
|
6
|
-
|
5
|
+
def generate_formatted(cep=nil)
|
6
|
+
@cep = cep
|
7
|
+
parse_cep(@cep)
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def parse_cep(cep=nil)
|
13
|
+
@cep ||= cep
|
14
|
+
return generate if @cep.nil?
|
15
|
+
@cep = @cep.to_s
|
16
|
+
raise 'Necessário informar 8 números!' if @cep.size != 8
|
17
|
+
valid = @cep =~ /[^0-9]/
|
18
|
+
raise 'Necessário informar sómente números' unless valid.nil?
|
19
|
+
@cep = "#{@cep[0..4]}-#{@cep[5..7]}" if valid.nil?
|
20
|
+
return @cep
|
21
|
+
end
|
22
|
+
|
23
|
+
def generate
|
24
|
+
@cep = "#{rand(10000000..19999100)}"
|
25
|
+
@cep = "#{@cep[0..4]}-#{@cep[5..7]}"
|
7
26
|
end
|
8
27
|
|
9
28
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
module CepBrasil
|
3
|
+
module Request
|
4
|
+
|
5
|
+
require 'json'
|
6
|
+
require 'net/http'
|
7
|
+
require 'uri'
|
8
|
+
|
9
|
+
def get(route)
|
10
|
+
request(route)
|
11
|
+
end
|
12
|
+
|
13
|
+
def request(url)
|
14
|
+
result = Net::HTTP.get(URI.parse(url))
|
15
|
+
JSON.parse(result)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
data/lib/cep_brasil/version.rb
CHANGED
data/test.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'cep_brasil'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cep_brasil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LucilioCampos
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rest-client
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
description: Generates a random CEP from brazilian´s zip code
|
70
56
|
email:
|
71
57
|
- lucilio_oliveira@hotmail.com
|
@@ -84,12 +70,12 @@ files:
|
|
84
70
|
- Rakefile
|
85
71
|
- bin/console
|
86
72
|
- bin/setup
|
87
|
-
- cep_brasil.gemspec
|
88
73
|
- lib/cep_brasil.rb
|
89
74
|
- lib/cep_brasil/address/gerar_endereco.rb
|
90
|
-
- lib/cep_brasil/api/json.rb
|
91
75
|
- lib/cep_brasil/random/random.rb
|
76
|
+
- lib/cep_brasil/request/request.rb
|
92
77
|
- lib/cep_brasil/version.rb
|
78
|
+
- test.rb
|
93
79
|
homepage: https://github.com/LucilioCampos/cep_brasil
|
94
80
|
licenses:
|
95
81
|
- MIT
|
@@ -113,7 +99,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
99
|
- !ruby/object:Gem::Version
|
114
100
|
version: '0'
|
115
101
|
requirements: []
|
116
|
-
|
102
|
+
rubyforge_project:
|
103
|
+
rubygems_version: 2.7.6
|
117
104
|
signing_key:
|
118
105
|
specification_version: 4
|
119
106
|
summary: Random CEP generator
|
data/cep_brasil.gemspec
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
lib = File.expand_path("lib", __dir__)
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require "cep_brasil/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "cep_brasil"
|
7
|
-
spec.version = CepBrasil::VERSION
|
8
|
-
spec.authors = ["LucilioCampos"]
|
9
|
-
spec.email = ["lucilio_oliveira@hotmail.com"]
|
10
|
-
|
11
|
-
spec.summary = 'Random CEP generator'
|
12
|
-
spec.description = 'Generates a random CEP from brazilian´s zip code'
|
13
|
-
spec.homepage = "https://github.com/LucilioCampos/cep_brasil"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.metadata["allowed_push_host"] = 'https://rubygems.org'
|
17
|
-
|
18
|
-
spec.metadata["homepage_uri"] = spec.homepage
|
19
|
-
spec.metadata["source_code_uri"] = "https://github.com/LucilioCampos/cep_brasil"
|
20
|
-
spec.metadata["changelog_uri"] = "https://github.com/LucilioCampos/cep_brasil/edit/master/README.md"
|
21
|
-
|
22
|
-
# Specify which files should be added to the gem when it is released.
|
23
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
24
|
-
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
25
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
26
|
-
end
|
27
|
-
spec.bindir = "exe"
|
28
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
|
-
spec.require_paths = ["lib"]
|
30
|
-
|
31
|
-
spec.add_development_dependency "bundler", "~> 2.0"
|
32
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
33
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
34
|
-
spec.add_development_dependency "rest-client"
|
35
|
-
end
|
data/lib/cep_brasil/api/json.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'rest-client'
|
2
|
-
require 'json'
|
3
|
-
|
4
|
-
module CepBrasil::Api
|
5
|
-
BASE_URL = "viacep.com.br/ws"
|
6
|
-
class Json
|
7
|
-
attr_reader :request, :response, :endereco
|
8
|
-
|
9
|
-
def initialize(response_type, cep)
|
10
|
-
@response_type = response_type
|
11
|
-
@cep = cep
|
12
|
-
@request = "#{BASE_URL}/#{cep}/#{response_type}"
|
13
|
-
end
|
14
|
-
|
15
|
-
def get_cep
|
16
|
-
@response = RestClient.get(@request)
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|