brazilian_validators 1.3.0 → 1.4.0

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