valid_email 0.0.9 → 0.0.10
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.
- checksums.yaml +4 -4
- data/lib/valid_email/validate_email.rb +4 -2
- data/lib/valid_email/version.rb +1 -1
- data/spec/email_validator_spec.rb +22 -16
- data/spec/extensions_validator_spec.rb +4 -4
- metadata +2 -3
- data/.rvmrc +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 380a2215e68ccc58972d59859e42e66ac5192e74
|
|
4
|
+
data.tar.gz: ca2e75012a59423ff84bc3103d6ca2f3441609f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 07183982261298da84f84214d363ff420c61c6bac3a8f787d449b3184e2ae4ae31b8b3fb2285ac9e5817112cc8dce7d54aadf26389062b17cbb5d30221189916
|
|
7
|
+
data.tar.gz: dbd5ffaf12d3fab07b3f936abc8f2e060c4046f32340781af03399580b31d0d2bedb613f6ee95f8a9a9f0020ad4402b1609a0777ca6f2648765762815de48f9d
|
|
@@ -10,11 +10,13 @@ class ValidateEmail
|
|
|
10
10
|
# We must check that value contains a domain and that value is an email address
|
|
11
11
|
r = m.domain && m.address == value
|
|
12
12
|
if r
|
|
13
|
-
# Check that domain consists of dot-atom-text elements > 1
|
|
13
|
+
# Check that domain consists of dot-atom-text elements > 1 and does not
|
|
14
|
+
# contain spaces.
|
|
15
|
+
#
|
|
14
16
|
# In mail 2.6.1, domains are invalid per rfc2822 are parsed when they shouldn't
|
|
15
17
|
# This is to make sure we cover those cases
|
|
16
18
|
domain_dot_elements = m.domain.split(/\./)
|
|
17
|
-
r &&= domain_dot_elements.none?(&:blank?) && domain_dot_elements.size > 1
|
|
19
|
+
r &&= m.domain.match(/^\S+$/) && domain_dot_elements.none?(&:blank?) && domain_dot_elements.size > 1
|
|
18
20
|
|
|
19
21
|
# Check if domain has DNS MX record
|
|
20
22
|
if r && options[:mx]
|
data/lib/valid_email/version.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ValidEmailVersion = "0.0.
|
|
1
|
+
ValidEmailVersion = "0.0.10"
|
|
@@ -66,49 +66,55 @@ describe EmailValidator do
|
|
|
66
66
|
subject { person_class.new }
|
|
67
67
|
|
|
68
68
|
it "should fail when email empty" do
|
|
69
|
-
subject.valid?.should
|
|
69
|
+
subject.valid?.should be_falsey
|
|
70
70
|
subject.errors[:email].should == errors
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
it "should fail when email is not valid" do
|
|
74
74
|
subject.email = 'joh@doe'
|
|
75
|
-
subject.valid?.should
|
|
75
|
+
subject.valid?.should be_falsey
|
|
76
76
|
subject.errors[:email].should == errors
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
it "should fail when email domain is prefixed with dot" do
|
|
80
80
|
subject.email = 'john@.doe'
|
|
81
|
-
subject.valid?.should
|
|
81
|
+
subject.valid?.should be_falsey
|
|
82
82
|
subject.errors[:email].should == errors
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
it "should fail when email domain contains two consecutive dots" do
|
|
86
86
|
subject.email = 'john@doe-two..com'
|
|
87
|
-
subject.valid?.should
|
|
87
|
+
subject.valid?.should be_falsey
|
|
88
88
|
subject.errors[:email].should == errors
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
it "should fail when email is valid with information" do
|
|
92
92
|
subject.email = '"John Doe" <john@doe.com>'
|
|
93
|
-
subject.valid?.should
|
|
93
|
+
subject.valid?.should be_falsey
|
|
94
94
|
subject.errors[:email].should == errors
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
it "should pass when email is simple email address" do
|
|
98
98
|
subject.email = 'john@doe.com'
|
|
99
|
-
subject.valid?.should
|
|
99
|
+
subject.valid?.should be_truthy
|
|
100
100
|
subject.errors[:email].should be_empty
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
it "should fail when email is simple email address not stripped" do
|
|
104
104
|
subject.email = 'john@doe.com '
|
|
105
|
-
subject.valid?.should
|
|
105
|
+
subject.valid?.should be_falsey
|
|
106
|
+
subject.errors[:email].should == errors
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it "should fail when domain contains a space" do
|
|
110
|
+
subject.email = 'john@doe .com'
|
|
111
|
+
subject.valid?.should be_falsey
|
|
106
112
|
subject.errors[:email].should == errors
|
|
107
113
|
end
|
|
108
114
|
|
|
109
115
|
it "should fail when passing multiple simple email addresses" do
|
|
110
116
|
subject.email = 'john@doe.com, maria@doe.com'
|
|
111
|
-
subject.valid?.should
|
|
117
|
+
subject.valid?.should be_falsey
|
|
112
118
|
subject.errors[:email].should == errors
|
|
113
119
|
end
|
|
114
120
|
|
|
@@ -119,19 +125,19 @@ describe EmailValidator do
|
|
|
119
125
|
|
|
120
126
|
it "should pass when email domain has MX record" do
|
|
121
127
|
subject.email = 'john@gmail.com'
|
|
122
|
-
subject.valid?.should
|
|
128
|
+
subject.valid?.should be_truthy
|
|
123
129
|
subject.errors[:email].should be_empty
|
|
124
130
|
end
|
|
125
131
|
|
|
126
132
|
it "should pass when email domain has no MX record but has an A record" do
|
|
127
133
|
subject.email = 'john@subdomain.rubyonrails.org'
|
|
128
|
-
subject.valid?.should
|
|
134
|
+
subject.valid?.should be_truthy
|
|
129
135
|
subject.errors[:email].should be_empty
|
|
130
136
|
end
|
|
131
137
|
|
|
132
138
|
it "should fail when domain does not exists" do
|
|
133
139
|
subject.email = 'john@nonexistentdomain.abc'
|
|
134
|
-
subject.valid?.should
|
|
140
|
+
subject.valid?.should be_falsey
|
|
135
141
|
subject.errors[:email].should == errors
|
|
136
142
|
end
|
|
137
143
|
end
|
|
@@ -141,19 +147,19 @@ describe EmailValidator do
|
|
|
141
147
|
|
|
142
148
|
it "should pass when email domain has MX record" do
|
|
143
149
|
subject.email = 'john@gmail.com'
|
|
144
|
-
subject.valid?.should
|
|
150
|
+
subject.valid?.should be_truthy
|
|
145
151
|
subject.errors[:email].should be_empty
|
|
146
152
|
end
|
|
147
153
|
|
|
148
154
|
it "should fail when email domain has no MX record" do
|
|
149
155
|
subject.email = 'john@subdomain.rubyonrails.org'
|
|
150
|
-
subject.valid?.should
|
|
156
|
+
subject.valid?.should be_falsey
|
|
151
157
|
subject.errors[:email].should == errors
|
|
152
158
|
end
|
|
153
159
|
|
|
154
160
|
it "should fail when domain does not exists" do
|
|
155
161
|
subject.email = 'john@nonexistentdomain.abc'
|
|
156
|
-
subject.valid?.should
|
|
162
|
+
subject.valid?.should be_falsey
|
|
157
163
|
subject.errors[:email].should == errors
|
|
158
164
|
end
|
|
159
165
|
end
|
|
@@ -191,13 +197,13 @@ describe EmailValidator do
|
|
|
191
197
|
|
|
192
198
|
it "should pass when email from trusted email services" do
|
|
193
199
|
subject.email = 'john@mail.ru'
|
|
194
|
-
subject.valid?.should
|
|
200
|
+
subject.valid?.should be_truthy
|
|
195
201
|
subject.errors[:email].should be_empty
|
|
196
202
|
end
|
|
197
203
|
|
|
198
204
|
it "should fail when email from disposable email services" do
|
|
199
205
|
subject.email = 'john@grr.la'
|
|
200
|
-
subject.valid?.should
|
|
206
|
+
subject.valid?.should be_falsey
|
|
201
207
|
subject.errors[:email].should == errors
|
|
202
208
|
end
|
|
203
209
|
end
|
|
@@ -6,19 +6,19 @@ describe String do
|
|
|
6
6
|
it { "mymail@gmail".should respond_to(:email?) }
|
|
7
7
|
|
|
8
8
|
it "is a valid e-mail" do
|
|
9
|
-
"mymail@gmail.com".email?.should
|
|
9
|
+
"mymail@gmail.com".email?.should be_truthy
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
it "is not valid when text is not a real e-mail" do
|
|
13
|
-
"invalidMail".email?.should
|
|
13
|
+
"invalidMail".email?.should be_falsey
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
context "when nil" do
|
|
17
17
|
|
|
18
18
|
it "is invalid e-mail" do
|
|
19
|
-
nil.email?.should
|
|
19
|
+
nil.email?.should be_falsey
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
end
|
|
24
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: valid_email
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ramihajamalala Hery
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-10-
|
|
11
|
+
date: 2014-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -74,7 +74,6 @@ extensions: []
|
|
|
74
74
|
extra_rdoc_files: []
|
|
75
75
|
files:
|
|
76
76
|
- ".gitignore"
|
|
77
|
-
- ".rvmrc"
|
|
78
77
|
- ".travis.yml"
|
|
79
78
|
- Gemfile
|
|
80
79
|
- LICENSE
|
data/.rvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
rvm use --create ruby-1.9.3@email_validator
|