brazilian_validators 1.0.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 910af28f149555b06bc8ba0cee19a77e3ac95d99
4
- data.tar.gz: 834bb72cd5bc9ee095236816226c6df9185004ab
3
+ metadata.gz: 7b9f6dc4a7eeca00e07b7a7e4efde063fa0e7abf
4
+ data.tar.gz: 9e6513e7531a0bde01783304f1ebd6027d1b61ef
5
5
  SHA512:
6
- metadata.gz: db0e341c0a0d930e6648ff4ce5bd53f08d0b6375823e7498b47998398ab2000d29e7d3ccb2e4c1ca2535f1ea7784f84ad9ffcd0c7c5b8f4696f8081724c2f19f
7
- data.tar.gz: b8cd20b0285c82be6ed776d4cf74898e337558d5134a8917ffc1159a62222d3cee68ab251f5a5e8fce3d5abe752f063030cb863bccba792e912c09475cee38b4
6
+ metadata.gz: e5b3d8d5b40c8dc22ca49b2fe9189a28961fb51e965185fd67b78b35c2dd7fd98f11ee1f9efc958d91d8a0c339160acc901aed4f2fabdfe07564b4d74453b5d2
7
+ data.tar.gz: 23215d3e0994a86a3e215f0fe8b11309764c00b8c158ced9d8ecdfcd76b5457654cc67ce958e9e3f4855660b24ef9b1dd48a35e9698211e7ecb3c3eca05a1913
@@ -0,0 +1,33 @@
1
+ class BrazilianValidators
2
+ class Cpf
3
+ def initialize(document)
4
+ raise(StandardError, "Not a valid cpf format") unless document.match(/[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}|\d{11}/)
5
+ document.gsub!(/\D/, "")
6
+ @digits = document[0..8]
7
+ @first_digit_checker = document[9]
8
+ @second_digit_checker = document[10]
9
+ end
10
+
11
+ def valid?
12
+ first_digit = check_digit(@digits, 10)
13
+ second_digit = check_digit(@digits + first_digit.to_s, 11)
14
+ first_digit == @first_digit_checker.to_i && second_digit == @second_digit_checker.to_i
15
+ end
16
+
17
+ def self.valid?(document)
18
+ BrazilianValidators::Cpf.new(document).valid?
19
+ end
20
+
21
+ private
22
+
23
+ def check_digit(digits, multiplicator)
24
+ sum = 0
25
+ digits.split("").each do |v|
26
+ sum += v.to_i * multiplicator
27
+ multiplicator -= 1
28
+ end
29
+ remainder = sum % 11
30
+ remainder < 2 ? 0 : (11 - remainder)
31
+ end
32
+ end
33
+ end
@@ -30,7 +30,7 @@ class BrazilianValidators
30
30
 
31
31
  def self.is_mobile?(number)
32
32
  phone = new(number)
33
- phone.valid?
33
+ phone.is_mobile?
34
34
  end
35
35
 
36
36
  def self.valid?(number)
@@ -2,3 +2,4 @@ class BrazilianValidators
2
2
  end
3
3
 
4
4
  require "brazilian_validators/phone"
5
+ require "brazilian_validators/cpf"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brazilian_validators
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matheus Mina
@@ -14,30 +14,42 @@ dependencies:
14
14
  name: pry
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.10.3
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: 0.10.3
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.10.3
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: 0.10.3
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rspec
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 3.4.0
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: '0'
42
+ version: 3.4.0
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 3.4.0
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
- version: '0'
52
+ version: 3.4.0
41
53
  description: It gives you a lot of useful validators for Brazillian documents or phones.
42
54
  email: mfbmina@gmail.com
43
55
  executables: []
@@ -45,6 +57,7 @@ extensions: []
45
57
  extra_rdoc_files: []
46
58
  files:
47
59
  - lib/brazilian_validators.rb
60
+ - lib/brazilian_validators/cpf.rb
48
61
  - lib/brazilian_validators/phone.rb
49
62
  homepage: https://github.com/mfbmina/brazilian_validators
50
63
  licenses:
@@ -58,7 +71,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
58
71
  requirements:
59
72
  - - ">="
60
73
  - !ruby/object:Gem::Version
61
- version: '0'
74
+ version: 2.1.2
62
75
  required_rubygems_version: !ruby/object:Gem::Requirement
63
76
  requirements:
64
77
  - - ">="
@@ -69,5 +82,5 @@ rubyforge_project:
69
82
  rubygems_version: 2.4.8
70
83
  signing_key:
71
84
  specification_version: 4
72
- summary: Hola!
85
+ summary: Brazillian Validators, gives you some validations!
73
86
  test_files: []