brazilian_validators 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cca092e87010a680ed07ad78e1524658bc5d0e43
4
- data.tar.gz: 4bbadf984570a0abe30510d247dcd3c5e542da8a
3
+ metadata.gz: cc59de0b729bd40cd7c5f7999f9a571669665e99
4
+ data.tar.gz: 28c0e55d500e5ac896d6f08da54734681397e2ea
5
5
  SHA512:
6
- metadata.gz: bbba8930918df6ab8e79328692691460cc74080cddb68594ccb074a132960a7257b367a21c7a1f7d19f1dd3fec76ec14c0f9b02b6040eea4e3f6afe61fe991a8
7
- data.tar.gz: 39c34b4971f7b65547bfe3577aadfb9c2c7121073d3876dc846c6a1403265f0d3becfad523e4f83b3c4fce4e852e144709feadfa96e7a299e6d566f3d1690aff
6
+ metadata.gz: 46c6aba14141f62e387c2db090d0866bb22846a2f3c2539f8d99cd82616e0b09a371d7026e074dc2c78e3969d0cade5c7db3b67c2c625f210946d6c43e569078
7
+ data.tar.gz: c0d2b44b15ca4321d219e1c0376ff6112f1a45906f225d9071d6402739149cea4dd2a46ea54b81088271ca2302cffa1ea865465205f6b24d8929a810fddd2c28
@@ -5,3 +5,9 @@ require "brazilian_validators/cep"
5
5
  require "brazilian_validators/cnpj"
6
6
  require "brazilian_validators/cpf"
7
7
  require "brazilian_validators/phone"
8
+
9
+ require "brazilian_validators/activemodel/cep_validator"
10
+ require "brazilian_validators/activemodel/cnpj_validator"
11
+ require "brazilian_validators/activemodel/cpf_validator"
12
+ require "brazilian_validators/activemodel/mobile_validator"
13
+ require "brazilian_validators/activemodel/phone_validator"
@@ -0,0 +1,7 @@
1
+ require 'active_model'
2
+
3
+ class CepValidator < ActiveModel::EachValidator
4
+ def validate_each(record, attribute, value)
5
+ record.errors[attribute] << (options[:message] || "is not a cep") unless BrazilianValidators::Cep.valid?(value)
6
+ end
7
+ end
@@ -8,7 +8,7 @@ class BrazilianValidators
8
8
  @value.match(/^[0-9]{5}\-[0-9]{3}$/) ? true : false
9
9
  end
10
10
 
11
- def self.valid?(string)
11
+ def self.valid?(string = '')
12
12
  BrazilianValidators::Cep.new(string).valid?
13
13
  end
14
14
  end
@@ -2,6 +2,7 @@ class BrazilianValidators
2
2
  class Cnpj
3
3
  def initialize(document)
4
4
  raise(StandardError, "Not a valid cnpj format") unless document.match(/[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}\-[0-9]{2}|\d{14}/)
5
+ document = document.to_s
5
6
  document.gsub!(/\D/, "")
6
7
  @digits = document[0..11]
7
8
  @first_digit_checker = document[12]
@@ -14,7 +15,7 @@ class BrazilianValidators
14
15
  first_digit == @first_digit_checker.to_i && second_digit == @second_digit_checker.to_i
15
16
  end
16
17
 
17
- def self.valid?(document)
18
+ def self.valid?(document = '')
18
19
  BrazilianValidators::Cnpj.new(document).valid?
19
20
  end
20
21
 
@@ -2,6 +2,7 @@ class BrazilianValidators
2
2
  class Cpf
3
3
  def initialize(document)
4
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 = document.to_s
5
6
  document.gsub!(/\D/, "")
6
7
  @digits = document[0..8]
7
8
  @first_digit_checker = document[9]
@@ -14,7 +15,7 @@ class BrazilianValidators
14
15
  first_digit == @first_digit_checker.to_i && second_digit == @second_digit_checker.to_i
15
16
  end
16
17
 
17
- def self.valid?(document)
18
+ def self.valid?(document = '')
18
19
  BrazilianValidators::Cpf.new(document).valid?
19
20
  end
20
21
 
@@ -1,7 +1,7 @@
1
1
  class BrazilianValidators
2
2
  class Phone
3
3
  def initialize(number = '')
4
- number = remove_non_digits(number)
4
+ number = remove_non_digits(number.to_s)
5
5
  @area_code = number.slice!(0..1)
6
6
  @number = number
7
7
  end
@@ -28,12 +28,12 @@ class BrazilianValidators
28
28
  @number = number
29
29
  end
30
30
 
31
- def self.is_mobile?(number)
31
+ def self.is_mobile?(number = '')
32
32
  phone = new(number)
33
33
  phone.is_mobile?
34
34
  end
35
35
 
36
- def self.valid?(number)
36
+ def self.valid?(number = '')
37
37
  phone = new(number)
38
38
  phone.valid?
39
39
  end
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.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matheus Mina
@@ -10,6 +10,26 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2016-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.5
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.2.5
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 4.2.5
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.2.5
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: pry
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -51,12 +71,14 @@ dependencies:
51
71
  - !ruby/object:Gem::Version
52
72
  version: 3.4.0
53
73
  description: It gives you a lot of useful validators for Brazillian documents or phones.
74
+ Allow ActiveModel validations
54
75
  email: mfbmina@gmail.com
55
76
  executables: []
56
77
  extensions: []
57
78
  extra_rdoc_files: []
58
79
  files:
59
80
  - lib/brazilian_validators.rb
81
+ - lib/brazilian_validators/activemodel/cep_validator.rb
60
82
  - lib/brazilian_validators/cep.rb
61
83
  - lib/brazilian_validators/cnpj.rb
62
84
  - lib/brazilian_validators/cpf.rb