portuguese_validators 0.1.1 → 0.1.2
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/.rspec +1 -1
- data/lib/portuguese_validators/bi.rb +3 -4
- data/lib/portuguese_validators/nib.rb +3 -4
- data/lib/portuguese_validators/nif.rb +3 -4
- data/lib/portuguese_validators/phone.rb +2 -3
- data/lib/portuguese_validators/version.rb +1 -1
- data/spec/bi_validator_spec.rb +4 -4
- data/spec/nib_validator_spec.rb +4 -4
- data/spec/nif_validator_spec.rb +4 -4
- data/spec/phone_validator_spec.rb +38 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ed26e48bd865b704a3d69135c056e5a7f38665f6
|
|
4
|
+
data.tar.gz: 04050615af5d667610996670df921f42ba070cac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 196737f9a4080e6fa85775141f5b4114c0f9a7820390d665c1a736bd55b7114f9bb856cf488fb1fc71aa8aa4b0bf78de899aad8c9b3d2c5ac044f5ada1ae5af1
|
|
7
|
+
data.tar.gz: 2c66bf4476f365d63ed05279b87bb226a6727b5dcc734b5ea7a908a416eb658df97c6efefb060f8d31a39677401db8c1249782a18a3f00dce40125ba45537a5d
|
data/.rspec
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
--colour
|
|
2
|
-
--format
|
|
2
|
+
--format documentation
|
|
@@ -8,9 +8,8 @@ module PortugueseValidators
|
|
|
8
8
|
BLACKLIST = %w(000000000)
|
|
9
9
|
|
|
10
10
|
def validate_each(record, attribute, value) # :nodoc:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
end
|
|
11
|
+
return if value.blank?
|
|
12
|
+
record.errors.add(attribute, options[:message] || :invalid) unless is_valid?(value)
|
|
14
13
|
end
|
|
15
14
|
|
|
16
15
|
# Returns true if the number is a valid BI or false otherwise.
|
|
@@ -41,4 +40,4 @@ module PortugueseValidators
|
|
|
41
40
|
number.match(/^\d{9}$/) ? true : false
|
|
42
41
|
end
|
|
43
42
|
end
|
|
44
|
-
end
|
|
43
|
+
end
|
|
@@ -4,9 +4,8 @@ module PortugueseValidators
|
|
|
4
4
|
# The number is always composed by 21 where the last two form the control number.
|
|
5
5
|
class PortugueseNibValidator < ActiveModel::EachValidator
|
|
6
6
|
def validate_each(record, attribute, value)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
end
|
|
7
|
+
return if value.blank?
|
|
8
|
+
record.errors.add(attribute, options[:message] || :invalid) unless is_valid?(value)
|
|
10
9
|
end
|
|
11
10
|
|
|
12
11
|
def is_valid?(number)
|
|
@@ -36,4 +35,4 @@ module PortugueseValidators
|
|
|
36
35
|
number.match(/^\d{21}$/) ? true : false
|
|
37
36
|
end
|
|
38
37
|
end
|
|
39
|
-
end
|
|
38
|
+
end
|
|
@@ -5,9 +5,8 @@ module PortugueseValidators
|
|
|
5
5
|
# last digit is the control digit.
|
|
6
6
|
class PortugueseNifValidator < ActiveModel::EachValidator
|
|
7
7
|
def validate_each(record, attribute, value)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
end
|
|
8
|
+
return if value.blank?
|
|
9
|
+
record.errors.add(attribute, options[:message] || :invalid) unless is_valid?(value)
|
|
11
10
|
end
|
|
12
11
|
|
|
13
12
|
def is_valid?(number)
|
|
@@ -38,4 +37,4 @@ module PortugueseValidators
|
|
|
38
37
|
number.match(/^\d{9}$/) && number.match(/^[1256789]/) ? true : false
|
|
39
38
|
end
|
|
40
39
|
end
|
|
41
|
-
end
|
|
40
|
+
end
|
|
@@ -13,8 +13,8 @@ module PortugueseValidators
|
|
|
13
13
|
def validate_each(record, attribute, value)
|
|
14
14
|
return if value.blank?
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
record.errors.add(attribute, options[:message] || :invalid) unless is_valid?(
|
|
16
|
+
phone_number = value.to_s.gsub(" ", "")
|
|
17
|
+
record.errors.add(attribute, options[:message] || :invalid) unless is_valid?(phone_number)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def is_valid?(number)
|
|
@@ -33,5 +33,4 @@ module PortugueseValidators
|
|
|
33
33
|
number.match(/^((00|\+)(\d{3}))?\d{9}$/) ? true : false
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
|
-
|
|
37
36
|
end
|
data/spec/bi_validator_spec.rb
CHANGED
|
@@ -10,12 +10,12 @@ describe PortugueseBiValidator do
|
|
|
10
10
|
after(:all) { Object.send(:remove_const, :User) }
|
|
11
11
|
|
|
12
12
|
describe 'validation' do
|
|
13
|
-
it 'returns
|
|
14
|
-
expect(User.new(bi: '')).to
|
|
13
|
+
it 'returns true if the number is empty' do
|
|
14
|
+
expect(User.new(bi: '')).to be_valid
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
it 'returns
|
|
18
|
-
expect(User.new(bi: nil)).to
|
|
17
|
+
it 'returns true if the number is not defined' do
|
|
18
|
+
expect(User.new(bi: nil)).to be_valid
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
context 'given valid BI numbers' do
|
data/spec/nib_validator_spec.rb
CHANGED
|
@@ -10,12 +10,12 @@ describe PortugueseNibValidator do
|
|
|
10
10
|
after(:all) { Object.send(:remove_const, :User) }
|
|
11
11
|
|
|
12
12
|
describe 'validation' do
|
|
13
|
-
it 'returns
|
|
14
|
-
expect(User.new(nib: '')).to
|
|
13
|
+
it 'returns true if the number is empty' do
|
|
14
|
+
expect(User.new(nib: '')).to be_valid
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
it 'returns
|
|
18
|
-
expect(User.new(nib: nil)).to
|
|
17
|
+
it 'returns true if the number is not defined' do
|
|
18
|
+
expect(User.new(nib: nil)).to be_valid
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
context 'given invalid NIB numbers' do
|
data/spec/nif_validator_spec.rb
CHANGED
|
@@ -10,12 +10,12 @@ describe PortugueseNifValidator do
|
|
|
10
10
|
after(:all) { Object.send(:remove_const, :User) }
|
|
11
11
|
|
|
12
12
|
describe 'validation' do
|
|
13
|
-
it 'returns
|
|
14
|
-
expect(User.new(nif: '')).to
|
|
13
|
+
it 'returns true if the number is empty' do
|
|
14
|
+
expect(User.new(nif: '')).to be_valid
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
it 'returns
|
|
18
|
-
expect(User.new(nif: nil)).to
|
|
17
|
+
it 'returns true if the number is not defined' do
|
|
18
|
+
expect(User.new(nif: nil)).to be_valid
|
|
19
19
|
end
|
|
20
20
|
end
|
|
21
21
|
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe PortuguesePhoneValidator do
|
|
4
|
+
before(:all) {
|
|
5
|
+
class User < TestModel
|
|
6
|
+
validates :phone_number, portuguese_phone: true
|
|
7
|
+
end
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
after(:all) { Object.send(:remove_const, :User) }
|
|
11
|
+
|
|
12
|
+
describe 'validation' do
|
|
13
|
+
it 'returns true if the number is empty' do
|
|
14
|
+
expect(User.new(phone_number: '')).to be_valid
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'returns true if the number is not defined' do
|
|
18
|
+
expect(User.new(phone_number: nil)).to be_valid
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
context 'given valid phone numbers' do
|
|
22
|
+
%w(912345678 212345678 00351923456789 +351236123456).each do |phone_number|
|
|
23
|
+
it "returns true for `#{phone_number}'" do
|
|
24
|
+
expect(User.new(phone_number: phone_number)).to be_valid
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
context 'given invalid phone numbers' do
|
|
30
|
+
%w(91234567 9123456789 0035192345678 +3519234567890 123456789 00351123456789 qwertyuio
|
|
31
|
+
-12345678).each do |phone_number|
|
|
32
|
+
it "returns false for `#{phone_number}'" do
|
|
33
|
+
expect(User.new(phone_number: phone_number)).to be_invalid
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: portuguese_validators
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ricardo Otero
|
|
@@ -120,6 +120,7 @@ files:
|
|
|
120
120
|
- spec/bi_validator_spec.rb
|
|
121
121
|
- spec/nib_validator_spec.rb
|
|
122
122
|
- spec/nif_validator_spec.rb
|
|
123
|
+
- spec/phone_validator_spec.rb
|
|
123
124
|
- spec/spec_helper.rb
|
|
124
125
|
homepage: http://github.com/rikas/portuguese_validators/fork
|
|
125
126
|
licenses:
|
|
@@ -149,4 +150,5 @@ test_files:
|
|
|
149
150
|
- spec/bi_validator_spec.rb
|
|
150
151
|
- spec/nib_validator_spec.rb
|
|
151
152
|
- spec/nif_validator_spec.rb
|
|
153
|
+
- spec/phone_validator_spec.rb
|
|
152
154
|
- spec/spec_helper.rb
|