validates_as_email_address 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +4 -0
- data/Rakefile +1 -1
- data/lib/validates_as_email_address.rb +5 -0
- data/test/unit/validates_as_email_address_test.rb +83 -3
- metadata +3 -3
data/CHANGELOG.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rake/contrib/sshpublisher'
|
|
5
5
|
|
6
6
|
spec = Gem::Specification.new do |s|
|
7
7
|
s.name = 'validates_as_email_address'
|
8
|
-
s.version = '0.2.
|
8
|
+
s.version = '0.2.3'
|
9
9
|
s.platform = Gem::Platform::RUBY
|
10
10
|
s.summary = 'Adds support for validating the format/length of email addresses'
|
11
11
|
|
@@ -31,6 +31,10 @@ module ValidatesAsEmailAddress
|
|
31
31
|
# * <tt>:wrong_length</tt> - The error message if using the <tt>:is</tt>
|
32
32
|
# method and the attribute is the wrong size (default is:
|
33
33
|
# "is the wrong length (should be %d characters)")
|
34
|
+
# * <tt>:tokenizer</tt> - Specifies how to split up the attribute string.
|
35
|
+
# (e.g. <tt>:tokenizer => lambda {|str| str.scan(/\w+/)}</tt> to count
|
36
|
+
# words.) Defaults to <tt>lambda {|value| value.split(//)}</tt> which
|
37
|
+
# counts individual characters.
|
34
38
|
#
|
35
39
|
# Configuration options for format:
|
36
40
|
# * <tt>:wrong_format</tt> - A custom error message (default is:
|
@@ -38,6 +42,7 @@ module ValidatesAsEmailAddress
|
|
38
42
|
#
|
39
43
|
# Miscellaneous configuration options:
|
40
44
|
# * <tt>:allow_nil</tt> - Attribute may be nil; skip validation.
|
45
|
+
# * <tt>:allow_blank</tt> - Attribute may be blank; skip validation.
|
41
46
|
# * <tt>:on</tt> - Specifies when this validation is active (default is
|
42
47
|
# :save, other options :create, :update)
|
43
48
|
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine if
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
|
3
|
-
class ValidatesAsEmailAddressByDefaultTest <
|
3
|
+
class ValidatesAsEmailAddressByDefaultTest < ActiveSupport::TestCase
|
4
4
|
def setup
|
5
5
|
User.validates_as_email_address :email
|
6
6
|
end
|
@@ -69,7 +69,7 @@ class ValidatesAsEmailAddressByDefaultTest < Test::Unit::TestCase
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
class ValidatesAsEmailAddressTest <
|
72
|
+
class ValidatesAsEmailAddressTest < ActiveSupport::TestCase
|
73
73
|
def test_should_allow_minimum_length
|
74
74
|
User.validates_as_email_address :email, :minimum => 8
|
75
75
|
|
@@ -214,6 +214,86 @@ class ValidatesAsEmailAddressTest < Test::Unit::TestCase
|
|
214
214
|
assert user.valid?
|
215
215
|
end
|
216
216
|
|
217
|
+
def test_should_validate_if_on_event
|
218
|
+
User.validates_as_email_address :email, :on => :update
|
219
|
+
|
220
|
+
user = create_user
|
221
|
+
user.email = 'a'
|
222
|
+
assert !user.valid?
|
223
|
+
end
|
224
|
+
|
225
|
+
def test_should_not_validate_if_not_on_event
|
226
|
+
User.validates_as_email_address :email, :on => :create
|
227
|
+
|
228
|
+
user = create_user
|
229
|
+
user.email = 'a'
|
230
|
+
assert user.valid?
|
231
|
+
end
|
232
|
+
|
233
|
+
def test_should_not_validate_if_allow_nil_and_nil
|
234
|
+
User.validates_as_email_address :email, :allow_nil => true
|
235
|
+
|
236
|
+
user = create_user
|
237
|
+
user.email = nil
|
238
|
+
assert user.valid?
|
239
|
+
end
|
240
|
+
|
241
|
+
def test_should_validate_if_allow_nil_and_not_nil
|
242
|
+
User.validates_as_email_address :email, :allow_nil => true
|
243
|
+
|
244
|
+
user = create_user
|
245
|
+
user.email = 'a'
|
246
|
+
assert !user.valid?
|
247
|
+
end
|
248
|
+
|
249
|
+
def test_should_validate_if_not_allow_nil_and_nil
|
250
|
+
User.validates_as_email_address :email, :allow_nil => false
|
251
|
+
|
252
|
+
user = create_user
|
253
|
+
user.email = nil
|
254
|
+
assert !user.valid?
|
255
|
+
end
|
256
|
+
|
257
|
+
def test_should_validate_if_not_allow_nil_and_not_nil
|
258
|
+
User.validates_as_email_address :email, :allow_nil => false
|
259
|
+
|
260
|
+
user = create_user
|
261
|
+
user.email = 'a'
|
262
|
+
assert !user.valid?
|
263
|
+
end
|
264
|
+
|
265
|
+
def test_should_not_validate_if_allow_blank_and_blank
|
266
|
+
User.validates_as_email_address :email, :allow_blank => true
|
267
|
+
|
268
|
+
user = create_user
|
269
|
+
user.email = ''
|
270
|
+
assert user.valid?
|
271
|
+
end
|
272
|
+
|
273
|
+
def test_should_validate_if_allow_blank_and_not_blank
|
274
|
+
User.validates_as_email_address :email, :allow_blank => true
|
275
|
+
|
276
|
+
user = create_user
|
277
|
+
user.email = 'a'
|
278
|
+
assert !user.valid?
|
279
|
+
end
|
280
|
+
|
281
|
+
def test_should_validate_if_not_allow_blank_and_blank
|
282
|
+
User.validates_as_email_address :email, :allow_blank => false
|
283
|
+
|
284
|
+
user = create_user
|
285
|
+
user.email = ''
|
286
|
+
assert !user.valid?
|
287
|
+
end
|
288
|
+
|
289
|
+
def test_should_validate_if_not_allow_nil_and_not_nil
|
290
|
+
User.validates_as_email_address :email, :allow_blank => false
|
291
|
+
|
292
|
+
user = create_user
|
293
|
+
user.email = 'a'
|
294
|
+
assert !user.valid?
|
295
|
+
end
|
296
|
+
|
217
297
|
def teardown
|
218
298
|
User.class_eval do
|
219
299
|
@validate_callbacks = ActiveSupport::Callbacks::CallbackChain.new
|
@@ -223,7 +303,7 @@ class ValidatesAsEmailAddressTest < Test::Unit::TestCase
|
|
223
303
|
end
|
224
304
|
end
|
225
305
|
|
226
|
-
class ValidatesAsEmailAddressUnrestrictedTest <
|
306
|
+
class ValidatesAsEmailAddressUnrestrictedTest < ActiveSupport::TestCase
|
227
307
|
def setup
|
228
308
|
User.validates_as_email_address :email, :strict => false
|
229
309
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validates_as_email_address
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Pfeifer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-04-13 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements: []
|
66
66
|
|
67
67
|
rubyforge_project: pluginaweek
|
68
|
-
rubygems_version: 1.
|
68
|
+
rubygems_version: 1.3.1
|
69
69
|
signing_key:
|
70
70
|
specification_version: 2
|
71
71
|
summary: Adds support for validating the format/length of email addresses
|