brazil-cep 0.5.0 → 0.6.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.
- checksums.yaml +4 -4
- data/lib/brazil_cep/validation.rb +55 -0
- data/lib/brazil_cep/version.rb +2 -1
- data/lib/brazil_cep.rb +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b6a482e30331189ae73fb675f920a696ae0ac1f149a901af0a904b994a22ab1
|
4
|
+
data.tar.gz: 7777a369accd8ddb00787a6de3e3309741b12a66e46a1715dbe9527d95987126
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3abd9da32f1f14f407c9f7a25c7f4b927ef44f296388e52bfbd5cf8282d58a35fc6735e85406d96fda0a4b48aa80ad2dcdf455befd88910ce0b2f8b82b51c64
|
7
|
+
data.tar.gz: c223abc23472b50299c5618a819a38bd4e9761522dbee81cadf615d88325523cca8c81ac2674718c64253840fee188a1f7c26279102a9d44db4decb65b4cfb1f
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
|
4
|
+
module Brazil
|
5
|
+
module Cep
|
6
|
+
# CEP ranges by state
|
7
|
+
RANGES = {
|
8
|
+
"AC" => (69900000..69999999),
|
9
|
+
"AL" => (57000000..57999999),
|
10
|
+
"AP" => (68900000..68999999),
|
11
|
+
"AM" => (69000000..69299999),
|
12
|
+
"BA" => (40000000..48999999),
|
13
|
+
"CE" => (60000000..63999999),
|
14
|
+
"DF" => (70000000..73699999),
|
15
|
+
"ES" => (29000000..29999999),
|
16
|
+
"GO" => (72800000..76799999),
|
17
|
+
"MA" => (65000000..65999999),
|
18
|
+
"MT" => (78000000..78899999),
|
19
|
+
"MS" => (79000000..79999999),
|
20
|
+
"MG" => (30000000..39999999),
|
21
|
+
"PA" => (66000000..68899999),
|
22
|
+
"PB" => (58000000..58999999),
|
23
|
+
"PR" => (80000000..87999999),
|
24
|
+
"PE" => (50000000..56999999),
|
25
|
+
"PI" => (64000000..64999999),
|
26
|
+
"RJ" => (20000000..28999999),
|
27
|
+
"RN" => (59000000..59999999),
|
28
|
+
"RS" => (90000000..99999999),
|
29
|
+
"RO" => (76800000..76999999),
|
30
|
+
"RR" => (69300000..69399999),
|
31
|
+
"SC" => (88000000..89999999),
|
32
|
+
"SP" => (01000000..19999999),
|
33
|
+
"SE" => (49000000..49999999),
|
34
|
+
"TO" => (77000000..77999999)
|
35
|
+
}.freeze
|
36
|
+
|
37
|
+
# Validation module
|
38
|
+
module Validation
|
39
|
+
def self.included(base)
|
40
|
+
base.extend(ClassMethods)
|
41
|
+
end
|
42
|
+
|
43
|
+
module ClassMethods
|
44
|
+
def valid?(cep)
|
45
|
+
cep = cep.to_s.gsub(/\D/, "")
|
46
|
+
return false if cep.size != 8
|
47
|
+
|
48
|
+
RANGES.values.any? do |group|
|
49
|
+
group.cover?(cep.to_i)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/brazil_cep/version.rb
CHANGED
data/lib/brazil_cep.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require_relative "brazil_cep/version"
|
4
4
|
require_relative "brazil_cep/address"
|
5
5
|
require_relative "brazil_cep/adapters"
|
6
|
+
require_relative "brazil_cep/validation"
|
6
7
|
|
7
8
|
module Brazil
|
8
9
|
# Brazil::Cep providers a simple way to fetch address information from a Brazilian CEP
|
@@ -27,6 +28,8 @@ module Brazil
|
|
27
28
|
# zipcode not found error class
|
28
29
|
class ZipcodeNotFound < RequestError; end
|
29
30
|
|
31
|
+
include Validation
|
32
|
+
|
30
33
|
# fetch address information from a Brazilian CEP
|
31
34
|
# @param [String] cep the CEP to fetch
|
32
35
|
# @return [Hash] the address information
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brazil-cep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Vinciguerra
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Brazil::CEP is a gem to provide interface to use common CEP services
|
14
14
|
email:
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- lib/brazil_cep/adapters/republica_virtual.rb
|
35
35
|
- lib/brazil_cep/adapters/viacep.rb
|
36
36
|
- lib/brazil_cep/address.rb
|
37
|
+
- lib/brazil_cep/validation.rb
|
37
38
|
- lib/brazil_cep/version.rb
|
38
39
|
- sig/brazil/cep.rbs
|
39
40
|
homepage: https://github.com/dvinciguerra/brazil-cep
|