ValidateEmail 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Validateemail
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/ValidateEmail.rb CHANGED
@@ -2,7 +2,8 @@ require 'resolv'
2
2
 
3
3
  module ValidateEmail
4
4
  def self.validate(email, validate_mx = false)
5
- is_valid = (email =~ /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/)
5
+ email_pattern = (email =~ /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/)
6
+ is_valid = email_pattern.nil? ? false : true
6
7
  is_valid = is_valid && validate_mx_record(email) if validate_mx
7
8
 
8
9
  return is_valid
@@ -5,24 +5,41 @@ require 'ValidateEmail'
5
5
 
6
6
  class ValidateEmailTest < Test::Unit::TestCase
7
7
  def test_validat_email
8
- assert !ValidateEmail.validate("bvsatyaram")
9
- assert !ValidateEmail.validate("bvsatyaram@example")
10
- assert !ValidateEmail.validate("bvsatyaram.com")
11
- assert ValidateEmail.validate("bvsatyaram@example.com")
12
- assert ValidateEmail.validate("bv_satyaram@example.com")
13
- assert ValidateEmail.validate("bv.satyaram@example.com")
14
- assert ValidateEmail.validate("bv-satyaram@example.com")
15
- assert ValidateEmail.validate("bvsatyaram@example.org")
16
- assert ValidateEmail.validate("bvsatyaram@fhgtrityhgs.com")
8
+ assert_not_valid("bvsatyaram")
9
+ assert_not_valid("bvsatyaram@example")
10
+ assert_not_valid("bvsatyaram.com")
11
+ assert_valid("bvsatyaram@example.com")
12
+ assert_valid("bv_satyaram@example.com")
13
+ assert_valid("bv.satyaram@example.com")
14
+ assert_valid("bv-satyaram@example.com")
15
+ assert_valid("bvsatyaram@example.org")
16
+ assert_valid("bvsatyaram@fhgtrityhgs.com")
17
17
 
18
- assert !ValidateEmail.validate("bvsatyaram", true)
19
- assert !ValidateEmail.validate("bvsatyaram@example", true)
20
- assert !ValidateEmail.validate("bvsatyaram.com", true)
21
- assert ValidateEmail.validate("bvsatyaram@bvsatyaram.com", true)
22
- assert ValidateEmail.validate("bv_satyaram@bvsatyaram.com", true)
23
- assert ValidateEmail.validate("bv.satyaram@bvsatyaram.com", true)
24
- assert ValidateEmail.validate("bv-satyaram@bvsatyaram.com", true)
25
- assert ValidateEmail.validate("bvsatyaram@rubygems.org", true)
26
- assert !ValidateEmail.validate("bvsatyaram@fhgtrityhgs.com", true)
18
+ assert_not_valid("bvsatyaram", true)
19
+ assert_not_valid("bvsatyaram@example", true)
20
+ assert_not_valid("bvsatyaram.com", true)
21
+ assert_valid("bvsatyaram@bvsatyaram.com", true)
22
+ assert_valid("bv_satyaram@bvsatyaram.com", true)
23
+ assert_valid("bv.satyaram@bvsatyaram.com", true)
24
+ assert_valid("bv-satyaram@bvsatyaram.com", true)
25
+ assert_valid("bvsatyaram@rubygems.org", true)
26
+ assert_not_valid("bvsatyaram@fhgtrityhgs.com", true)
27
+ end
28
+
29
+ private
30
+ def assert_valid(email, validate_mx = nil)
31
+ if validate_mx.nil?
32
+ assert_equal true, ValidateEmail.validate(email)
33
+ else
34
+ assert_equal true, ValidateEmail.validate(email, validate_mx)
35
+ end
36
+ end
37
+
38
+ def assert_not_valid(email, validate_mx = nil)
39
+ if validate_mx.nil?
40
+ assert_equal false, ValidateEmail.validate(email)
41
+ else
42
+ assert_equal false, ValidateEmail.validate(email, validate_mx)
43
+ end
27
44
  end
28
45
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Satyaram B V