brazilian_validators 1.0.1 → 1.1.1

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 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: []