validates_phone_number 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,6 +20,26 @@ By default, both 10 and 7 digit numbers are valid.
20
20
 
21
21
  ## Options
22
22
 
23
+ ### Seven Digits
24
+
25
+ I.e. 555-5555
26
+
27
+ ```ruby
28
+ class Person < ActiveRecord::Base
29
+ validates :mobile, :phone_number => {:seven_digits => true}
30
+ end
31
+
32
+ ```
33
+ ### Ten Digits
34
+
35
+ I.e. (555)-555-5555
36
+
37
+ ```ruby
38
+ class Person < ActiveRecord::Base
39
+ validates :mobile, :phone_number => {:ten_digits => true}
40
+ end
41
+ ```
42
+
23
43
  ### Message
24
44
 
25
45
  Set the message that's added to the errors collection by using the
@@ -50,22 +70,11 @@ class Person < ActiveRecord::Base
50
70
  end
51
71
  ```
52
72
 
53
- ### Seven Digits
54
-
55
- I.e. 555-5555
56
-
57
- ```ruby
58
- class Person < ActiveRecord::Base
59
- validates :mobile, :phone_number => {:seven_digits => true}
60
- end
61
-
62
- ```
63
- ### Ten Digits
73
+ ## Self-Promotion
64
74
 
65
- I.e. (555)-555-5555
75
+ Like validates\_phone\_number? Follow the project on
76
+ [GitHub](https://github.com/travisjeffery/validates_phone_number).
66
77
 
67
- ```ruby
68
- class Person < ActiveRecord::Base
69
- validates :mobile, :phone_number => {:ten_digits => true}
70
- end
71
- ```
78
+ You should follow [travisjeffery](http://travisjeffery.com) on
79
+ [GitHub](https://github.com/travisjeffery) and
80
+ [Twitter](http://twitter.com/travisjeffery) too. Thanks!
@@ -9,6 +9,7 @@ module ValidatesPhoneNumber
9
9
  @default = options.keys.size == 1
10
10
  @type = options.delete(:type) || :string
11
11
  @allow_nil = options.delete(:allow_nil)
12
+ @allow_blank = options.delete(:allow_blank)
12
13
  @format = options.delete(:format)
13
14
  @message = options.delete(:message)
14
15
  @ten_digits = options.delete(:ten_digits)
@@ -19,6 +20,7 @@ module ValidatesPhoneNumber
19
20
 
20
21
  def validate_each record, attr_name, value
21
22
  return if @allow_nil && value.nil?
23
+ return if @allow_blank && value.blank?
22
24
  return if value =~ @format
23
25
  return if value =~ TEN_DIGITS if @ten_digits
24
26
  return if value =~ SEVEN_DIGITS if @seven_digits
@@ -1,3 +1,3 @@
1
1
  module ValidatesPhoneNumber
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
@@ -109,5 +109,15 @@ class TestValidator < MiniTest::Unit::TestCase
109
109
  @person.phone_number = nil
110
110
  assert @person.valid?
111
111
  end
112
+
113
+ def def test_allow_blank_validates_blank_phone_number
114
+ Person.validates :phone_number, :phone_number => {:allow_blank => true}
115
+
116
+ @person.phone_number = nil
117
+ assert @person.valid?
118
+
119
+ @person.phone_number = ""
120
+ assert @person.valid?
121
+ end
112
122
  end
113
123
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_phone_number
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,30 +9,40 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-19 00:00:00.000000000Z
12
+ date: 2012-11-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70269310105660 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - =
19
+ - - '='
20
20
  - !ruby/object:Gem::Version
21
21
  version: 2.10.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70269310105660
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 2.10.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rails
27
- requirement: &70269310105080 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
- - - =
35
+ - - '='
31
36
  - !ruby/object:Gem::Version
32
37
  version: 3.1.0
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70269310105080
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 3.1.0
36
46
  description: Adds validation methods to ActiveModel for validating phone numbers.
37
47
  email:
38
48
  - t@travisjeffery.com
@@ -65,21 +75,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
65
75
  - - ! '>='
66
76
  - !ruby/object:Gem::Version
67
77
  version: '0'
68
- segments:
69
- - 0
70
- hash: 3377125952189612186
71
78
  required_rubygems_version: !ruby/object:Gem::Requirement
72
79
  none: false
73
80
  requirements:
74
81
  - - ! '>='
75
82
  - !ruby/object:Gem::Version
76
83
  version: '0'
77
- segments:
78
- - 0
79
- hash: 3377125952189612186
80
84
  requirements: []
81
85
  rubyforge_project: validates_phone_number
82
- rubygems_version: 1.8.10
86
+ rubygems_version: 1.8.23
83
87
  signing_key:
84
88
  specification_version: 3
85
89
  summary: Adds validation methods to ActiveModel for validating phone numbers.