activevalidators 3.1.2 → 3.2.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.travis.yml +1 -4
  5. data/ChangeLog.md +16 -1
  6. data/README.md +4 -2
  7. data/activevalidators.gemspec +1 -1
  8. data/certs/franckverrot.pem +0 -0
  9. data/checksums/3.1.2.sha512 +1 -0
  10. data/lib/{active_model → active_validators/active_model}/validations/barcode_validator.rb +2 -2
  11. data/lib/{active_model → active_validators/active_model}/validations/credit_card_validator.rb +1 -1
  12. data/lib/{active_model → active_validators/active_model}/validations/date_validator.rb +0 -0
  13. data/lib/{active_model → active_validators/active_model}/validations/email_validator.rb +1 -1
  14. data/lib/active_validators/active_model/validations/hex_color_validator.rb +11 -0
  15. data/lib/{active_model → active_validators/active_model}/validations/ip_validator.rb +0 -0
  16. data/lib/{active_model → active_validators/active_model}/validations/nino_validator.rb +0 -0
  17. data/lib/{active_model → active_validators/active_model}/validations/password_validator.rb +0 -0
  18. data/lib/{active_model → active_validators/active_model}/validations/phone_validator.rb +2 -0
  19. data/lib/{active_model → active_validators/active_model}/validations/postal_code_validator.rb +0 -0
  20. data/lib/active_validators/active_model/validations/regexp_validator.rb +22 -0
  21. data/lib/{active_model → active_validators/active_model}/validations/respond_to_validator.rb +0 -0
  22. data/lib/{active_model → active_validators/active_model}/validations/shared/luhn_checker.rb +0 -0
  23. data/lib/{active_model → active_validators/active_model}/validations/sin_validator.rb +2 -2
  24. data/lib/{active_model → active_validators/active_model}/validations/siren_validator.rb +0 -0
  25. data/lib/{active_model → active_validators/active_model}/validations/slug_validator.rb +0 -0
  26. data/lib/{active_model → active_validators/active_model}/validations/ssn_validator.rb +7 -5
  27. data/lib/{active_model → active_validators/active_model}/validations/tracking_number_validator.rb +0 -0
  28. data/lib/{active_model → active_validators/active_model}/validations/twitter_validator.rb +0 -0
  29. data/lib/{active_model → active_validators/active_model}/validations/url_validator.rb +0 -0
  30. data/lib/activevalidators.rb +2 -4
  31. data/test/test_helper.rb +2 -1
  32. data/test/validations/barcode_test.rb +9 -1
  33. data/test/validations/hex_color_test.rb +55 -0
  34. data/test/validations/regexp_test.rb +35 -0
  35. data/test/validations/ssn_test.rb +8 -8
  36. metadata +27 -20
  37. metadata.gz.sig +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d1e773070ad87f01d07d2e87651e3e8001c0473c
4
- data.tar.gz: a2cde43cd5fdcde2ccc74e0f8d4bf9f9dbd48844
3
+ metadata.gz: d2bfed38515b9a564947994fcb1c43dfe88ad510
4
+ data.tar.gz: 3e4f455a22673e298c4c7957b59ce227e3c122c8
5
5
  SHA512:
6
- metadata.gz: 05f361d20a538d9d595cb3a2a1acaafd63250583264f498699938bcb36018031acd74f6e319fcc03e971f2a26850bde67f1c7ec880757195dcd6e386250c8ac3
7
- data.tar.gz: 7547475f7df3d356cd79942f8458d1300082cd4fb491455fded6d2f229173762dfee2ecc654b7229dbff9d1ba243df32d5fda80860f381ab0d744cc4f38640a4
6
+ metadata.gz: 537572510a16b9f160eefdc2fde8ab7301049f7f967a09d226a17108183849ee18ff3b7e3ef7223055558e2f6a9c16448b53394332cd43e7f5f2b451a2fb8618
7
+ data.tar.gz: 935a66f8260aadc377cb2f7a8277d5fa8bdf0a158709211d2ba164a7d61b9d57dcc7375b1f1381f533fbefa193d77d8a280c0f0381d9446a36f6ec4dd96f9aa5
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.travis.yml CHANGED
@@ -3,9 +3,6 @@ rvm:
3
3
  - 1.9.3
4
4
  - 2.1.0
5
5
  - jruby-19mode
6
- - rbx-2
7
6
  - ruby-head
8
7
  - jruby-head
9
- matrix:
10
- allow_failures:
11
- - rvm: jruby-head
8
+ - rbx-2
data/ChangeLog.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # UNRELEASED
2
2
 
3
- * Nothing yet.
3
+ # 3.2.0
4
+
5
+ ## MAJOR CHANGES
6
+
7
+ * Ensure the $LOAD\_PATH could never break ActiveValidators (see #71 for details)
8
+
9
+ ## DEPRECATION
10
+
11
+ * [SSN validations doesn't support any options anymore][ssn_validation_options]
12
+
13
+ ## FEATURES
14
+
15
+ * Regexp validator.
4
16
 
5
17
  # 3.1.0
6
18
 
@@ -195,3 +207,6 @@
195
207
  * Add errors with the ActiveModel::Errors#add method -> i18n support
196
208
  * Add phone format validator
197
209
  * Public release
210
+
211
+
212
+ [ssn_validation_options]: https://github.com/franckverrot/activevalidators/commit/dee076a8e344897f0325747504625285be7da226
data/README.md CHANGED
@@ -50,7 +50,7 @@ In your models, the gem provides new validators like `email`, or `url`:
50
50
  ```ruby
51
51
  class User
52
52
  validates :email_address, :email => true # == :email => { :strict => false }
53
- validates :link_url, :url => true
53
+ validates :link_url, :url => true # (Could be combined with `allow_blank: true`)
54
54
  validates :user_phone, :phone => true
55
55
  validates :company_siren, :siren => true
56
56
  validates :password, :password => { :strength => :medium }
@@ -109,11 +109,13 @@ Exhaustive list of supported validators and their implementation:
109
109
  * `siren`
110
110
  * `slug` : based on `ActiveSupport::String#parameterize`
111
111
  * `sin` : Social Insurance Number (only for Canada). You also can allow permanent residents cards (such cards start with '9'): `:sin => {:country => :canada, :country_options => {allow_permanent_residents: true}}`
112
- * `ssn` : Social Security Number (only for USA). You also may pass type, instead of boolean: `:ssn => {:type => :usa_ssn}` as the alternative.
112
+ * `ssn` : Social Security Number (only for USA).
113
113
  * `tracking_number`: based on a set of predefined masks
114
114
  * `twitter` : based on a regular expression
115
115
  * `url` : based on a regular expression
116
116
  * `barcode` : based on known formats (:ean13 only for now)
117
+ * `hex_color` : based on a regular expression
118
+ * `regexp` : uses Ruby's [`Regexp.compile`](http://www.ruby-doc.org/core-2.1.1/Regexp.html#method-c-new) method
117
119
 
118
120
  ## Todo
119
121
 
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'activevalidators'
4
- s.version = '3.1.2'
4
+ s.version = '3.2.0'
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.authors = ['Franck Verrot', 'Paco Guzmán', 'Oriol Gual', 'Garrett Bjerkhoel', 'Renato Riccieri Santos Zannon', 'Brian Moseley', 'Serj L aka Loremaster']
7
7
  s.email = ['franck@verrot.fr']
File without changes
@@ -0,0 +1 @@
1
+ 4faf052c6018bd3f17ab23c2cc6f5e2e7c9beaadd3fbb85652fc70cac785b1a6886ffa1a0d0c164607acf5bbf43881f7a17b75a3eba5647784d7c67c274574c4
@@ -12,7 +12,7 @@ module ActiveModel
12
12
 
13
13
  def validate_each(record, attribute, value)
14
14
  method = "valid_#{options[:format].to_s}?"
15
- record.errors.add(attribute) if value.blank? || !self.send(method, value)
15
+ record.errors.add(attribute) if value.blank? || !self.send(method, value.to_s)
16
16
  end
17
17
 
18
18
  def valid_ean13?(value)
@@ -32,7 +32,7 @@ module ActiveModel
32
32
  uneven_sum += digit.to_i
33
33
  end
34
34
  end
35
- (10 - ((even_sum*3 + uneven_sum) % 10)).to_s
35
+ ((10 - ((even_sum*3 + uneven_sum) % 10)) % 10).to_s
36
36
  end
37
37
  end
38
38
  end
@@ -1,4 +1,4 @@
1
- require 'active_model/validations/shared/luhn_checker'
1
+ require 'active_validators/active_model/validations/shared/luhn_checker'
2
2
 
3
3
  module ActiveModel
4
4
  module Validations
@@ -11,7 +11,7 @@ module ActiveModel
11
11
  mail = Mail::Address.new(value)
12
12
 
13
13
  valid = basic_check(mail) && value.include?(mail.address)
14
- rescue Exception => e
14
+ rescue Exception => _
15
15
  valid = false
16
16
  end
17
17
 
@@ -0,0 +1,11 @@
1
+ module ActiveModel
2
+ module Validations
3
+ class HexColorValidator < EachValidator
4
+ def validate_each(record, attribute, value)
5
+ unless value =~ /\A(\h{3}){,2}\z/
6
+ record.errors.add(attribute)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,5 @@
1
+ require 'phony'
2
+ require 'countries'
1
3
  module ActiveModel
2
4
  module Validations
3
5
  class PhoneValidator < EachValidator
@@ -0,0 +1,22 @@
1
+ module ActiveModel
2
+ module Validations
3
+ class RegexpValidator < EachValidator
4
+ def validate_each(record, attribute, value)
5
+ unless valid_regexp?(value)
6
+ record.errors.add(attribute)
7
+ end
8
+ end
9
+
10
+
11
+ private
12
+
13
+ def valid_regexp?(value)
14
+ Regexp.compile(value.to_s)
15
+ true
16
+
17
+ rescue RegexpError
18
+ false
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,4 +1,4 @@
1
- require 'active_model/validations/shared/luhn_checker'
1
+ require 'active_validators/active_model/validations/shared/luhn_checker'
2
2
 
3
3
  module ActiveModel
4
4
  module Validations
@@ -59,4 +59,4 @@ module ActiveModel
59
59
  end
60
60
  end
61
61
  end
62
- end
62
+ end
@@ -2,16 +2,18 @@ module ActiveModel
2
2
  module Validations
3
3
  class SsnValidator < EachValidator
4
4
  def validate_each(record, attribute, value)
5
- type = options.fetch(:type, :usa_ssn) # :usa_ssn is default.
6
- record.errors.add(attribute) if value.blank? || !SsnValidatorGeneral.valid?(type, value)
5
+ record.errors.add(attribute) if value.blank? || !SsnValidatorGeneral.valid?(options, value)
7
6
  end
8
7
  end
9
8
 
9
+ # <b>DEPRECATED:</b> Please use <tt>:ssn => true</tt> instead.
10
10
  class SsnValidatorGeneral
11
- def self.valid?(type, value)
12
- if type == :usa_ssn
13
- SsnValidatorUSA.new(value).valid?
11
+ def self.valid?(options, value)
12
+ if options[:type] == :usa_ssn
13
+ warn "[DEPRECATION] providing {:type => :usa_ssn} is deprecated and will be removed in the future. Please use `:ssn => true` instead."
14
14
  end
15
+
16
+ SsnValidatorUSA.new(value).valid?
15
17
  end
16
18
  end
17
19
 
@@ -1,11 +1,9 @@
1
1
  require 'active_model'
2
- require 'phony'
3
- require 'countries'
4
2
  require 'active_validators/one_nine_shims/one_nine_string'
5
3
 
6
4
  module ActiveValidators
7
5
  def self.activevalidators
8
- %w(email url respond_to phone slug ip credit_card date password twitter postal_code tracking_number siren ssn sin nino barcode date)
6
+ %w(email url respond_to phone slug ip credit_card date password twitter postal_code tracking_number siren ssn sin nino barcode date hex_color regexp)
9
7
  end
10
8
 
11
9
  # Require each validator independently or just pass :all
@@ -17,7 +15,7 @@ module ActiveValidators
17
15
  syms = validators.include?(:all) ? activevalidators : validators.map(&:to_s) & activevalidators
18
16
 
19
17
  syms.each do |validator_name|
20
- require "active_model/validations/#{validator_name}_validator"
18
+ require "active_validators/active_model/validations/#{validator_name}_validator"
21
19
  end
22
20
  end
23
21
 
data/test/test_helper.rb CHANGED
@@ -14,7 +14,8 @@ class TestRecord
14
14
  include ActiveModel::Validations
15
15
  attr_accessor :ip, :url, :slug, :responder, :global_condition,
16
16
  :local_condition, :phone, :email, :card, :password, :twitter_username,
17
- :postal_code, :carrier, :tracking_number, :start_date, :end_date, :siren, :ssn, :sin, :nino, :barcode
17
+ :postal_code, :carrier, :tracking_number, :start_date, :end_date, :siren, :ssn, :sin, :nino, :barcode,
18
+ :text_color, :redirect_rule
18
19
 
19
20
  def initialize(attrs = {})
20
21
  attrs.each_pair { |k,v| send("#{k}=", v) }
@@ -4,7 +4,15 @@ ActiveValidators.activate(:barcode)
4
4
  describe "Barcode Validation" do
5
5
  describe "EAN13 Validation" do
6
6
  it "accepts valid EAN13s" do
7
- subject = build_barcode_record :ean13, :barcode => "9782940199617"
7
+ ["9782940199617", "9782940199600"].each do |barcode|
8
+ subject = build_barcode_record :ean13, :barcode => barcode
9
+ subject.valid?.must_equal true
10
+ subject.errors.size.must_equal 0
11
+ end
12
+ end
13
+
14
+ it "accepts EAN13s as integers" do
15
+ subject = build_barcode_record :ean13, :barcode => 9782940199617
8
16
  subject.valid?.must_equal true
9
17
  subject.errors.size.must_equal 0
10
18
  end
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+ ActiveValidators.activate(:hex_color)
3
+
4
+ describe "Hex-Color Validation" do
5
+ let(:invalid_message) { subject.errors.generate_message(:text_color, :invalid) }
6
+
7
+ subject { TestRecord.new }
8
+
9
+ before do
10
+ TestRecord.reset_callbacks(:validate)
11
+ TestRecord.validates :text_color, :hex_color => true
12
+ end
13
+
14
+ it "accepts blank value" do
15
+ subject.text_color = ''
16
+
17
+ subject.must_be :valid?
18
+ subject.errors.must_be :empty?
19
+ end
20
+
21
+ it "accepts 3 hex characters" do
22
+ subject.text_color = 'abc'
23
+
24
+ subject.must_be :valid?
25
+ subject.errors.must_be :empty?
26
+ end
27
+
28
+ it "accepts 6 hex characters" do
29
+ subject.text_color = 'abc012'
30
+
31
+ subject.must_be :valid?
32
+ subject.errors.must_be :empty?
33
+ end
34
+
35
+ it "rejects non-hex characters" do
36
+ subject.text_color = 'efg345'
37
+
38
+ subject.must_be :invalid?
39
+ subject.errors[:text_color].must_include invalid_message
40
+ end
41
+
42
+ it "rejects too few characters" do
43
+ subject.text_color = 'ef'
44
+
45
+ subject.must_be :invalid?
46
+ subject.errors[:text_color].must_include invalid_message
47
+ end
48
+
49
+ it "rejects too many characters" do
50
+ subject.text_color = 'efab001'
51
+
52
+ subject.must_be :invalid?
53
+ subject.errors[:text_color].must_include invalid_message
54
+ end
55
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+ ActiveValidators.activate(:regexp)
3
+
4
+ describe "Regexp Validation" do
5
+ let(:invalid_message) { subject.errors.generate_message(:redirect_rule, :invalid) }
6
+
7
+ subject { TestRecord.new }
8
+
9
+ before do
10
+ TestRecord.reset_callbacks(:validate)
11
+ TestRecord.validates :redirect_rule, :regexp => true
12
+ end
13
+
14
+ it "accepts blank value" do
15
+ subject.redirect_rule = ''
16
+
17
+ subject.must_be :valid?
18
+ subject.errors.must_be :empty?
19
+ end
20
+
21
+ it "rejects malformed regular expressions" do
22
+ subject.redirect_rule = '['
23
+
24
+ subject.must_be :invalid?
25
+ subject.errors[:redirect_rule].must_include invalid_message
26
+ end
27
+
28
+ it "allow proper regular expressions" do
29
+ subject.redirect_rule = '^/vanity-url(-2014)?'
30
+
31
+ subject.must_be :valid?
32
+ subject.errors.must_be :empty?
33
+ end
34
+
35
+ end
@@ -5,45 +5,45 @@ describe "SSN validations" do
5
5
  describe "USA ssn" do
6
6
  describe "for invalid" do
7
7
  it "rejects empty ssn" do
8
- subject = build_ssn_record({:ssn => ''}, {:type => :usa_ssn})
8
+ subject = build_ssn_record({:ssn => ''}, true)
9
9
  subject.valid?.must_equal false
10
10
  end
11
11
 
12
12
  it "rejects ssn when it doesn't consist of numbers" do
13
- subject = build_ssn_record({:ssn => 'aaabbcccc'}, {:type => :usa_ssn})
13
+ subject = build_ssn_record({:ssn => 'aaabbcccc'}, true)
14
14
  subject.valid?.must_equal false
15
15
  end
16
16
 
17
17
  it "rejects ssn when the first group of digits is 000" do
18
- subject = build_ssn_record({:ssn => '000112222'}, {:type => :usa_ssn})
18
+ subject = build_ssn_record({:ssn => '000112222'}, true)
19
19
  subject.valid?.must_equal false
20
20
  end
21
21
 
22
22
  it "rejects ssn when the first group of digits is 666" do
23
- subject = build_ssn_record({:ssn => '666112222'}, {:type => :usa_ssn})
23
+ subject = build_ssn_record({:ssn => '666112222'}, true)
24
24
  subject.valid?.must_equal false
25
25
  end
26
26
 
27
27
  (900..999).each do |first_group_num|
28
28
  it "rejects ssn when the first group of digits is #{first_group_num}" do
29
- subject = build_ssn_record({:ssn => "#{first_group_num}112222"}, {:type => :usa_ssn})
29
+ subject = build_ssn_record({:ssn => "#{first_group_num}112222"}, true)
30
30
  subject.valid?.must_equal false
31
31
  end
32
32
  end
33
33
 
34
34
  it "reject ssn when the second group of digits is 00" do
35
- subject = build_ssn_record({:ssn => "555002222"}, {:type => :usa_ssn})
35
+ subject = build_ssn_record({:ssn => "555002222"}, true)
36
36
  subject.valid?.must_equal false
37
37
  end
38
38
 
39
39
  it "reject ssn when the third group of digits is 0000" do
40
- subject = build_ssn_record({:ssn => "555660000"}, {:type => :usa_ssn})
40
+ subject = build_ssn_record({:ssn => "555660000"}, true)
41
41
  subject.valid?.must_equal false
42
42
  end
43
43
 
44
44
  (987654320..987654329).each do |reserved_ssn|
45
45
  it "rejects reserved ssn such as #{reserved_ssn}" do
46
- subject = build_ssn_record({:ssn => "#{reserved_ssn}"}, {:type => :usa_ssn})
46
+ subject = build_ssn_record({:ssn => "#{reserved_ssn}"}, true)
47
47
  subject.valid?.must_equal false
48
48
  end
49
49
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activevalidators
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franck Verrot
@@ -36,7 +36,7 @@ cert_chain:
36
36
  UeH0jxnbT6lYw622u74Z7Dd6iQfaOy1h+iJxnCQglf70rs9bS665Nr0QvvrbW8Hz
37
37
  Vr/YT3S8RkdBsIdM
38
38
  -----END CERTIFICATE-----
39
- date: 2014-09-07 00:00:00.000000000 Z
39
+ date: 2014-10-22 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
@@ -166,24 +166,27 @@ files:
166
166
  - Rakefile
167
167
  - activevalidators.gemspec
168
168
  - certs/franckverrot.pem
169
- - lib/active_model/validations/barcode_validator.rb
170
- - lib/active_model/validations/credit_card_validator.rb
171
- - lib/active_model/validations/date_validator.rb
172
- - lib/active_model/validations/email_validator.rb
173
- - lib/active_model/validations/ip_validator.rb
174
- - lib/active_model/validations/nino_validator.rb
175
- - lib/active_model/validations/password_validator.rb
176
- - lib/active_model/validations/phone_validator.rb
177
- - lib/active_model/validations/postal_code_validator.rb
178
- - lib/active_model/validations/respond_to_validator.rb
179
- - lib/active_model/validations/shared/luhn_checker.rb
180
- - lib/active_model/validations/sin_validator.rb
181
- - lib/active_model/validations/siren_validator.rb
182
- - lib/active_model/validations/slug_validator.rb
183
- - lib/active_model/validations/ssn_validator.rb
184
- - lib/active_model/validations/tracking_number_validator.rb
185
- - lib/active_model/validations/twitter_validator.rb
186
- - lib/active_model/validations/url_validator.rb
169
+ - checksums/3.1.2.sha512
170
+ - lib/active_validators/active_model/validations/barcode_validator.rb
171
+ - lib/active_validators/active_model/validations/credit_card_validator.rb
172
+ - lib/active_validators/active_model/validations/date_validator.rb
173
+ - lib/active_validators/active_model/validations/email_validator.rb
174
+ - lib/active_validators/active_model/validations/hex_color_validator.rb
175
+ - lib/active_validators/active_model/validations/ip_validator.rb
176
+ - lib/active_validators/active_model/validations/nino_validator.rb
177
+ - lib/active_validators/active_model/validations/password_validator.rb
178
+ - lib/active_validators/active_model/validations/phone_validator.rb
179
+ - lib/active_validators/active_model/validations/postal_code_validator.rb
180
+ - lib/active_validators/active_model/validations/regexp_validator.rb
181
+ - lib/active_validators/active_model/validations/respond_to_validator.rb
182
+ - lib/active_validators/active_model/validations/shared/luhn_checker.rb
183
+ - lib/active_validators/active_model/validations/sin_validator.rb
184
+ - lib/active_validators/active_model/validations/siren_validator.rb
185
+ - lib/active_validators/active_model/validations/slug_validator.rb
186
+ - lib/active_validators/active_model/validations/ssn_validator.rb
187
+ - lib/active_validators/active_model/validations/tracking_number_validator.rb
188
+ - lib/active_validators/active_model/validations/twitter_validator.rb
189
+ - lib/active_validators/active_model/validations/url_validator.rb
187
190
  - lib/active_validators/one_nine_shims/one_nine_string.rb
188
191
  - lib/activevalidators.rb
189
192
  - test/test_helper.rb
@@ -191,11 +194,13 @@ files:
191
194
  - test/validations/credit_card_test.rb
192
195
  - test/validations/date_test.rb
193
196
  - test/validations/email_test.rb
197
+ - test/validations/hex_color_test.rb
194
198
  - test/validations/ip_test.rb
195
199
  - test/validations/nino_test.rb
196
200
  - test/validations/password_test.rb
197
201
  - test/validations/phone_test.rb
198
202
  - test/validations/postal_code_test.rb
203
+ - test/validations/regexp_test.rb
199
204
  - test/validations/respond_to_test.rb
200
205
  - test/validations/sin_test.rb
201
206
  - test/validations/siren_test.rb
@@ -234,11 +239,13 @@ test_files:
234
239
  - test/validations/credit_card_test.rb
235
240
  - test/validations/date_test.rb
236
241
  - test/validations/email_test.rb
242
+ - test/validations/hex_color_test.rb
237
243
  - test/validations/ip_test.rb
238
244
  - test/validations/nino_test.rb
239
245
  - test/validations/password_test.rb
240
246
  - test/validations/phone_test.rb
241
247
  - test/validations/postal_code_test.rb
248
+ - test/validations/regexp_test.rb
242
249
  - test/validations/respond_to_test.rb
243
250
  - test/validations/sin_test.rb
244
251
  - test/validations/siren_test.rb
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- �<��HC*f��x�s]ݱ8������Xs1f��F�6��b8&c�`���<&�ܣ�zӡ �7��[��%�
1
+ l����M�����v?o��Y)۱^aT��o =�1p���;�- F��g$�+/�/F��L\�@