has_validated_attributes 0.0.12 → 0.0.13

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: b49c78f2edd9a65145f09d2d4aaa2fb2f1d4a850
4
- data.tar.gz: 7d893b2aecb8cfd6fe2be83a74010697f257bd8f
3
+ metadata.gz: 1b2fe85522c7049c5ce61c9ee316c2563a21e08a
4
+ data.tar.gz: ecc3a994935a6bdc798ee1caabac4f2f8dd7cfd5
5
5
  SHA512:
6
- metadata.gz: 38105ddb79653ec64151a094c2dda3554934aaaae7a7c448b8d58a054eb03bc1c3abe1b8c7e4898ddd6e12dbda4480329cb5070b54e0464190e955cf2b46e15d
7
- data.tar.gz: 144bd41f8cae47e27e7bac48d6cf6d536ce4a0e07efe8255310527ad22bd1392a80b24713e133c039654ecaf9d0642b64ab5921fad6b2e9f89f1efcf7fe39b26
6
+ metadata.gz: ae885cf12f7273a38d4da36f9f1a219bb8685e2d254d8b247abf97f9c07cacd48ab6c07e3d00cd31f67111dc61ee85ed2b2ac6cbf0321f846c73af0b46ed0667
7
+ data.tar.gz: 5cdd2cf521e758a4804f41c65a996cbb8ac2ce476c57f3fc913726a91c2d495c715b25a371d19d628cb26726ddb8d7ddabd2ef9b43b70349fef7407aa957c5d5
@@ -38,14 +38,14 @@ module HasValidatedAttributes
38
38
  ## http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/
39
39
  :email => {:length => {:maximum => 63}, :format => {:with => /\A(?!\.)("([^"\r\\]|\\["\r\\])*"|([-a-z0-9!#$%&'’*+\/=?^_`{|}~]|(?<!\.)\.)*)(?<!\.)@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]\z/i, :message => "should look like an email address."}, :has_if? => true},
40
40
  :phone_number => {:numericality => {:greater_than_or_equal_to => 1000000000, :less_than => 10000000000, :message => 'accepts only 10 numbers and (),.- characters and must not be all 0s'}, :has_if? => true},
41
- :phone_extension => {:numericality => {:greater_than_or_equal_to => 0, :less_than => 100000000, :message => 'accepts only numbers (0-9)'}, :has_if? => true},
41
+ :phone_extension => {:length => {:maximum => 7}, :format => {:with => /\A\d+([\dxX]*\d)?\z/, :message => 'accepts only numbers (0-9) and "x"'}, :has_if? => true},
42
42
  :domain => {:length => {:maximum => 63}, :format => {:with => /\A(?:[A-Z0-9\-]+\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|pro|mobi|name|aero|jobs|museum)\z/i, :message => "should look like a domain name."}, :has_if? => true},
43
43
  :zipcode => {:format => {:with => /\A\d{5}(\d{4})?\z/, :message => "must contain 5 or 9 numbers"}, :has_if? => true},
44
44
  :middle_initial => {:format => {:with => /\A[a-zA-Z]{0,1}\z/u, :message => "accepts only one letter"}},
45
45
  :dollar => {:format => {:with => /\A-?[0-9]{0,12}(\.[0-9]{0,2})?\z/, :message => "accepts only numeric characters, period, and negative sign"}, :numericality => {:greater_than => -1000000000000, :less_than => 1000000000000}, :allow_nil => true},
46
46
  :positive_dollar => {:format => {:with => /\A[0-9]{0,12}(\.[0-9]{0,2})?\z/, :message => "accepts only numeric characters, period"}, :numericality => {:greater_than_or_equal_to => 0, :less_than => 1000000000000}, :allow_nil => true},
47
- :percent => {:format => {:with => /\A-?[0-9]{0,3}(\.[0-9]{0,3})?\z/, :message => "accepts only numeric characters, period, negative sign, and must be equal/less/greater than +/- 100"}, :numericality => {:greater_than_or_equal_to => -100, :less_than_or_equal_to => 100}, :has_if? => true},
48
- :positive_percent => {:format => {:with => /\A[0-9]{0,3}(\.[0-9]{0,3})?\z/, :message => "accepts only numeric characters, period, and must be equal/less than 100"}, :numericality => {:greater_than_or_equal_to => 0, :less_than_or_equal_to => 100}, :allow_nil => true},
47
+ :percent => {:format => {:with => /\A-?[0-9]{0,4}(\.[0-9]{0,4})?\z/, :message => "accepts only numeric characters, period, negative sign, and must be equal/less/greater than +/- 100"}, :numericality => {:greater_than_or_equal_to => -100, :less_than_or_equal_to => 100}, :has_if? => true},
48
+ :positive_percent => {:format => {:with => /\A[0-9]{0,4}(\.[0-9]{0,4})?\z/, :message => "accepts only numeric characters, period, and must be equal/less than 100"}, :numericality => {:greater_than_or_equal_to => 0, :less_than_or_equal_to => 100}, :allow_nil => true},
49
49
  :url => {:length => {:maximum => 255}, :format => {:with => /\A(http|https|ftp):\/\/[A-Z0-9]+([\.]{1}[a-z0-9-]{1,63})*\.[a-zA-Z]{2,5}(:[0-9]{1,5})?(\/.*)?\z/ix, :message => "web address isnt valid"}, :has_if? => true},
50
50
  :social_security_number => {:length => {:is => 9}, :numericality => {:greater_than_or_equal_to => 0, :less_than => 1000000000, :message => "must be in the format 111-11-1111"}, :has_if? => true},
51
51
  :taxid => {:length => {:is => 9}, :numericality => {:greater_than_or_equal_to => 9999999, :less_than => 1000000000, :message => "must be in the format 11-1111111"}, :has_if? => true},
@@ -126,12 +126,16 @@ RSpec.shared_examples_for "phone number attribute" do |attr, normalized: false|
126
126
  end
127
127
 
128
128
  RSpec.shared_examples_for "phone extension attribute" do |attr|
129
- ["123", "123456"].each do |ext|
130
- it { should allow_value(ext).for(attr) }
129
+ ["123", "123456", "123x4", "1x2x3"].each do |ext|
130
+ it "should allow '#{ ext }' for #{ attr }" do
131
+ should allow_value(ext).for(attr)
132
+ end
131
133
  end
132
134
 
133
- ["-1", "qwert"].each do |ext|
134
- it { should_not allow_value(ext).for(attr).with_message(HasValidatedAttributes.phone_extension_format[:numericality][:message]) }
135
+ ["-1", "qwert", "x123", "123x", "X123", "123X"].each do |ext|
136
+ it "should not allow '#{ ext }' for #{ attr }" do
137
+ should_not allow_value(ext).for(attr).with_message(HasValidatedAttributes.phone_extension_format[:format][:message])
138
+ end
135
139
  end
136
140
  end
137
141
 
@@ -152,21 +156,21 @@ RSpec.shared_examples_for "url attribute" do |attr, allowed: nil, disallowed: ni
152
156
  end
153
157
 
154
158
  RSpec.shared_examples_for "positive percent attribute" do |attr|
155
- ["100", "99", "1", "44", "99.999", "0.001"].each do |percent|
159
+ ["100", "99", "1", "44", "99.999", "99.9999", "0.001"].each do |percent|
156
160
  it { should allow_value(percent).for(attr) }
157
161
  end
158
162
 
159
- ["100.001", "0.2222", "abc", "&", "-44", "-44.4", "-44.4444"].each do |percent|
163
+ ["100.001", "0.22222", "abc", "&", "-44", "-44.4", "-44.4444"].each do |percent|
160
164
  it { should_not allow_value(percent).for(attr) }
161
165
  end
162
166
  end
163
167
 
164
168
  RSpec.shared_examples_for "percent attribute" do |attr|
165
- ["100", "99", "1", "44", "99.999", "0.001", "-100", "-99", "-1", "-44", "-99.999", "-0.001"].each do |value|
169
+ ["100", "99", "1", "44", "99.999", "99.9999", "0.001", "-100", "-99", "-1", "-44", "-99.999", "-0.001"].each do |value|
166
170
  it { should allow_value(value).for(attr) }
167
171
  end
168
172
 
169
- ["100.001", "0.2222", "-100.001", "-0.2222", "abc", "&"].each do |value|
173
+ ["100.001", "0.22222", "-100.001", "-0.2222", "abc", "&"].each do |value|
170
174
  it { should_not allow_value(value).for(attr) }
171
175
  end
172
176
  end
@@ -1,3 +1,3 @@
1
1
  module HasValidatedAttributes
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_validated_attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Ginavan