validates_email_format_of 1.6.1 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,68 +1,77 @@
1
- # -*- encoding : utf-8 -*-
2
- require "#{File.expand_path(File.dirname(__FILE__))}/spec_helper"
1
+ require "#{__dir__}/spec_helper"
3
2
  require "validates_email_format_of"
4
3
 
4
+ RSpec.configure do |config|
5
+ config.before(:suite) do
6
+ ValidatesEmailFormatOf.load_i18n_locales
7
+ I18n.enforce_available_locales = false
8
+ end
9
+ end
10
+
5
11
  describe ValidatesEmailFormatOf do
6
12
  subject do |example|
7
- if defined?(ActiveModel)
8
- user = Class.new do
9
- def initialize(email)
10
- @email = email.freeze
11
- end
12
- attr_reader :email
13
- include ActiveModel::Validations
14
- validates_email_format_of :email, example.example_group_instance.options
13
+ user = Class.new do
14
+ def initialize(email)
15
+ @email = email.freeze
16
+ end
17
+ attr_reader :email
18
+ include ActiveModel::Validations
19
+ validates_email_format_of :email, example.example_group_instance.options
20
+
21
+ def self.model_name
22
+ ActiveModel::Name.new(self, nil, "User")
15
23
  end
16
- example.example_group_instance.class::User = user
17
- user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
18
- else
19
- ValidatesEmailFormatOf::validate_email_format(email.freeze, options)
20
24
  end
25
+ user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
21
26
  end
22
27
  let(:options) { {} }
23
28
  let(:email) { |example| example.example_group.description }
24
29
 
25
30
  shared_examples_for :all_specs do
26
31
  [
27
- 'valid@example.com',
28
- 'Valid@test.example.com',
29
- 'valid+valid123@test.example.com',
30
- 'valid_valid123@test.example.com',
31
- 'valid-valid+123@test.example.co.uk',
32
- 'valid-valid+1.23@test.example.com.au',
33
- 'valid@example.co.uk',
34
- 'v@example.com',
35
- 'valid@example.ca',
36
- 'valid_@example.com',
37
- 'valid123.456@example.org',
38
- 'valid123.456@example.travel',
39
- 'valid123.456@example.museum',
40
- 'valid@example.mobi',
41
- 'valid@example.info',
42
- 'valid-@example.com',
43
- 'fake@p-t.k12.ok.us',
32
+ "valid@example.com",
33
+ "Valid@test.example.com",
34
+ "valid+valid123@test.example.com",
35
+ "valid_valid123@test.example.com",
36
+ "valid-valid+123@test.example.co.uk",
37
+ "valid-valid+1.23@test.example.com.au",
38
+ "valid@example.co.uk",
39
+ "v@example.com",
40
+ "valid@example.ca",
41
+ "valid_@example.com",
42
+ "valid123.456@example.org",
43
+ "valid123.456@example.travel",
44
+ "valid123.456@example.museum",
45
+ "valid@example.mobi",
46
+ "valid@example.info",
47
+ "valid-@example.com",
48
+ "fake@p-t.k12.ok.us",
44
49
  # allow single character domain parts
45
- 'valid@mail.x.example.com',
46
- 'valid@x.com',
47
- 'valid@example.w-dash.sch.uk',
50
+ "valid@mail.x.example.com",
51
+ "valid@x.com",
52
+ "valid@example.w-dash.sch.uk",
48
53
  # from RFC 3696, page 6
49
- 'customer/department=shipping@example.com',
50
- '$A12345@example.com',
51
- '!def!xyz%abc@example.com',
52
- '_somename@example.com',
54
+ "customer/department=shipping@example.com",
55
+ "$A12345@example.com",
56
+ "!def!xyz%abc@example.com",
57
+ "_somename@example.com",
53
58
  # apostrophes
54
59
  "test'test@example.com",
55
60
  # international domain names
56
- 'test@xn--bcher-kva.ch',
57
- 'test@example.xn--0zwm56d',
58
- 'test@192.192.192.1',
61
+ "test@xn--bcher-kva.ch",
62
+ "test@example.xn--0zwm56d",
63
+ "test@192.192.192.1",
59
64
  # Allow quoted characters. Valid according to http://www.rfc-editor.org/errata_search.php?rfc=3696
60
65
  '"Abc\@def"@example.com',
66
+ '"Quote(Only".Chars@wier.de',
61
67
  '"Fred\ Bloggs"@example.com',
62
68
  '"Joe.\\Blow"@example.com',
63
69
  # Balanced quoted characters
64
- %!"example\\\\\\""@example.com!,
65
- %!"example\\\\"@example.com!
70
+ %("example\\\\\\""@example.com),
71
+ %("example\\\\"@example.com),
72
+ "(leading comment)email@example.com",
73
+ "(nested (comment))email@example.com",
74
+ "email(trailing comment)@example.com"
66
75
  ].each do |address|
67
76
  describe address do
68
77
  it { should_not have_errors_on_email }
@@ -70,50 +79,54 @@ describe ValidatesEmailFormatOf do
70
79
  end
71
80
 
72
81
  [
73
- 'no_at_symbol',
74
- 'invalid@example-com',
82
+ "no_at_symbol",
83
+ "invalid@example-com",
75
84
  # period can not start local part
76
- '.invalid@example.com',
85
+ ".invalid@example.com",
77
86
  # period can not end local part
78
- 'invalid.@example.com',
87
+ "invalid.@example.com",
79
88
  # period can not appear twice consecutively in local part
80
- 'invali..d@example.com',
89
+ "invali..d@example.com",
81
90
  # should not allow underscores in domain names
82
- 'invalid@ex_mple.com',
83
- 'invalid@e..example.com',
84
- 'invalid@p-t..example.com',
85
- 'invalid@example.com.',
86
- 'invalid@example.com_',
87
- 'invalid@example.com-',
88
- 'invalid-example.com',
89
- 'invalid@example.b#r.com',
90
- 'invalid@example.c',
91
- 'invali d@example.com',
91
+ "invalid@ex_mple.com",
92
+ "invalid@e..example.com",
93
+ "invalid@p-t..example.com",
94
+ "invalid@example.com.",
95
+ "invalid@example.com_",
96
+ "invalid@example.com-",
97
+ "invalid-example.com",
98
+ "invalid@example.b#r.com",
99
+ "invalid@example.c",
100
+ "invali d@example.com",
92
101
  # TLD can not be only numeric
93
- 'invalid@example.123',
102
+ "invalid@example.123",
94
103
  # unclosed quote
95
104
  "\"a-17180061943-10618354-1993365053@example.com",
96
105
  # too many special chars used to cause the regexp to hang
97
106
  "-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@foo",
98
- 'invalidexample.com',
107
+ "invalidexample.com",
99
108
  # should not allow special chars after a period in the domain
100
- 'local@sub.)domain.com',
101
- 'local@sub.#domain.com',
109
+ "local@sub.)domain.com",
110
+ "local@sub.#domain.com",
102
111
  # one at a time
103
112
  "foo@example.com\nexample@gmail.com",
104
- 'invalid@example.',
113
+ "invalid@example.",
105
114
  "\"foo\\\\\"\"@bar.com",
106
115
  "foo@mail.com\r\nfoo@mail.com",
107
- '@example.com',
108
- 'foo@',
109
- 'foo',
110
- 'Iñtërnâtiônàlizætiøn@hasnt.happened.to.email',
116
+ "@example.com",
117
+ "foo@",
118
+ "foo",
119
+ "Iñtërnâtiônàlizætiøn@hasnt.happened.to.email",
111
120
  # Escaped characters with quotes. From http://tools.ietf.org/html/rfc3696, page 5. Corrected in http://www.rfc-editor.org/errata_search.php?rfc=3696
112
121
  'Fred\ Bloggs_@example.com',
113
122
  'Abc\@def+@example.com',
114
123
  'Joe.\\Blow@example.com',
115
124
  # Unbalanced quoted characters
116
- %!"example\\\\""example.com!
125
+ %("example\\\\""example.com),
126
+ "\nnewline@example.com",
127
+ " spacesbefore@example.com",
128
+ "spacesafter@example.com ",
129
+ "(unbalancedcomment@example.com"
117
130
  ].each do |address|
118
131
  describe address do
119
132
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
@@ -122,10 +135,10 @@ describe ValidatesEmailFormatOf do
122
135
 
123
136
  describe do
124
137
  shared_examples_for :local_length_limit do |limit|
125
- describe "#{'a' * limit}@example.com" do
138
+ describe "#{"a" * limit}@example.com" do
126
139
  it { should_not have_errors_on_email }
127
140
  end
128
- describe "#{'a' * (limit + 1)}@example.com" do
141
+ describe "#{"a" * (limit + 1)}@example.com" do
129
142
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
130
143
  end
131
144
  end
@@ -133,16 +146,16 @@ describe ValidatesEmailFormatOf do
133
146
  it_should_behave_like :local_length_limit, 64
134
147
  end
135
148
  describe "when overriding defaults" do
136
- let(:options) { { :local_length => 20 } }
149
+ let(:options) { {local_length: 20} }
137
150
  it_should_behave_like :local_length_limit, 20
138
151
  end
139
152
  end
140
153
  describe do
141
154
  shared_examples_for :domain_length_limit do |limit|
142
- describe "user@#{'a' * (limit - 4)}.com" do
155
+ describe "user@#{"a." * (limit / 2 - 3)}com" do
143
156
  it { should_not have_errors_on_email }
144
157
  end
145
- describe "user@#{'a' * (limit - 3)}.com" do
158
+ describe "user@#{"a." * (limit / 2 + 1)}com" do
146
159
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
147
160
  end
148
161
  end
@@ -150,31 +163,35 @@ describe ValidatesEmailFormatOf do
150
163
  it_should_behave_like :domain_length_limit, 255
151
164
  end
152
165
  describe "when overriding defaults" do
153
- let(:options) { { :domain_length => 100 } }
166
+ let(:options) { {domain_length: 100} }
154
167
  it_should_behave_like :domain_length_limit, 100
155
168
  end
156
169
  end
157
170
 
158
171
  describe "custom error messages" do
159
- describe 'invalid@example.' do
160
- let(:options) { { :message => "just because I don't like you" } }
161
- it { should have_errors_on_email.because("just because I don't like you") }
172
+ describe "invalid@example." do
173
+ let(:options) { {message: "just because I don't like you"} }
174
+ it {
175
+ should have_errors_on_email.because("just because I don't like you")
176
+ }
162
177
  end
163
178
  end
164
179
 
165
180
  describe "mx record" do
166
- domain = "stubbed.com"
181
+ domain = "example.com"
167
182
  email = "valid@#{domain}"
183
+
168
184
  describe "when testing" do
169
185
  let(:dns) { double(Resolv::DNS) }
170
186
  let(:mx_record) { [double] }
171
187
  let(:a_record) { [double] }
172
188
  before(:each) do
173
189
  allow(Resolv::DNS).to receive(:open).and_yield(dns)
190
+ allow(dns).to receive(:"timeouts=").with(3).once
174
191
  allow(dns).to receive(:getresources).with(domain, Resolv::DNS::Resource::IN::MX).once.and_return(mx_record)
175
192
  allow(dns).to receive(:getresources).with(domain, Resolv::DNS::Resource::IN::A).once.and_return(a_record)
176
193
  end
177
- let(:options) { { :check_mx => true } }
194
+ let(:options) { {check_mx: true, check_mx_timeout: 3} }
178
195
  describe "and only an mx record is found" do
179
196
  let(:a_record) { [] }
180
197
  describe email do
@@ -199,7 +216,7 @@ describe ValidatesEmailFormatOf do
199
216
  it { should have_errors_on_email.because("is not routable") }
200
217
  end
201
218
  describe "with a custom error message" do
202
- let(:options) { { :check_mx => true, :mx_message => "There ain't no such domain!" } }
219
+ let(:options) { {check_mx: true, mx_message: "There ain't no such domain!"} }
203
220
  describe email do
204
221
  it { should have_errors_on_email.because("There ain't no such domain!") }
205
222
  end
@@ -214,22 +231,6 @@ describe ValidatesEmailFormatOf do
214
231
  it { should have_errors_on_email.because("jest nieosiągalny") }
215
232
  end
216
233
  end
217
- unless defined?(ActiveModel)
218
- describe email do
219
- let(:locale) { :ir }
220
- describe email do
221
- it { should have_errors_on_email.because("is not routable") }
222
- end
223
- end
224
- end
225
- end
226
- unless defined?(ActiveModel)
227
- describe "without i18n" do
228
- before(:each) { hide_const("I18n") }
229
- describe email do
230
- it { should have_errors_on_email.because("is not routable") }
231
- end
232
- end
233
234
  end
234
235
  end
235
236
  end
@@ -242,25 +243,25 @@ describe ValidatesEmailFormatOf do
242
243
  end
243
244
  describe "explicitly" do
244
245
  describe email do
245
- let(:options) { { :check_mx => false } }
246
+ let(:options) { {check_mx: false} }
246
247
  it { should_not have_errors_on_email }
247
248
  end
248
249
  end
249
250
  end
250
251
  describe "without mocks" do
251
252
  describe email do
252
- let(:options) { { :check_mx => true } }
253
+ let(:options) { {check_mx: true} }
253
254
  it { should_not have_errors_on_email }
254
255
  end
255
256
  end
256
257
  end
257
258
 
258
259
  describe "custom regex" do
259
- let(:options) { { :with => /[0-9]+\@[0-9]+/ } }
260
- describe '012345@789' do
260
+ let(:options) { {with: /[0-9]+@[0-9]+/} }
261
+ describe "012345@789" do
261
262
  it { should_not have_errors_on_email }
262
263
  end
263
- describe 'valid@example.com' do
264
+ describe "valid@example.com" do
264
265
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
265
266
  end
266
267
  end
@@ -275,42 +276,51 @@ describe ValidatesEmailFormatOf do
275
276
  it { should have_errors_on_email.because("nieprawidłowy adres e-mail") }
276
277
  end
277
278
  end
278
- unless defined?(ActiveModel)
279
- describe "missing locale" do
280
- let(:locale) { :ir }
281
- describe "invalid@exmaple." do
282
- it { should have_errors_on_email.because("does not appear to be valid") }
283
- end
284
- end
279
+ end
280
+ end
281
+ it_should_behave_like :all_specs
282
+
283
+ describe "validation without ActiveModel" do
284
+ subject do
285
+ ValidatesEmailFormatOf.validate_email_format(email.freeze, options)
286
+ end
287
+
288
+ describe "valid@example.com" do
289
+ it { should be_nil }
290
+ end
291
+
292
+ describe "custom error messages" do
293
+ describe "invalid@example." do
294
+ let(:options) { {message: "just because I don't like you"} }
295
+ it { should match_array(["just because I don't like you"]) }
285
296
  end
286
297
  end
287
- unless defined?(ActiveModel)
288
- describe "without i18n" do
289
- before(:each) { hide_const("I18n") }
290
- describe "invalid@exmaple." do
291
- it { should have_errors_on_email.because("does not appear to be valid") }
292
- end
298
+
299
+ describe "without i18n" do
300
+ before(:each) { hide_const("I18n") }
301
+ describe "invalid@exmaple." do
302
+ it { should match_array(["does not appear to be valid"]) }
293
303
  end
294
304
  end
295
305
  end
296
- it_should_behave_like :all_specs
297
306
 
298
- if defined?(ActiveModel)
299
- describe "shorthand ActiveModel validation" do
300
- subject do |example|
301
- user = Class.new do
302
- def initialize(email)
303
- @email = email.freeze
304
- end
305
- attr_reader :email
306
- include ActiveModel::Validations
307
- validates :email, :email_format => example.example_group_instance.options
307
+ describe "shorthand ActiveModel validation" do
308
+ subject do |example|
309
+ user = Class.new do
310
+ def initialize(email)
311
+ @email = email.freeze
308
312
  end
309
- example.example_group_instance.class::User = user
310
- user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
311
- end
313
+ attr_reader :email
314
+ include ActiveModel::Validations
315
+ validates :email, email_format: example.example_group_instance.options
312
316
 
313
- it_should_behave_like :all_specs
317
+ def self.model_name
318
+ ActiveModel::Name.new(self, nil, "User")
319
+ end
320
+ end
321
+ user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
314
322
  end
323
+
324
+ it_should_behave_like :all_specs
315
325
  end
316
326
  end
@@ -1,21 +1,28 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.unshift File.expand_path('../lib', __FILE__)
3
- require 'validates_email_format_of/version'
1
+ $:.unshift File.expand_path("../lib", __FILE__)
2
+ require "validates_email_format_of/version"
4
3
 
5
- spec = Gem::Specification.new do |s|
6
- s.name = 'validates_email_format_of'
7
- s.version = ValidatesEmailFormatOf::VERSION
8
- s.summary = 'Validate e-mail addresses against RFC 2822 and RFC 3696.'
9
- s.description = s.summary
10
- s.authors = ['Alex Dunae', 'Isaac Betesh']
11
- s.email = ['code@dunae.ca', 'iybetesh@gmail.com']
12
- s.homepage = 'https://github.com/validates-email-format-of/validates_email_format_of'
13
- s.license = 'MIT'
14
- s.test_files = s.files.grep(%r{^test/})
15
- s.files = `git ls-files`.split($/)
16
- s.require_paths = ['lib']
4
+ Gem::Specification.new do |s|
5
+ s.name = "validates_email_format_of"
6
+ s.version = ValidatesEmailFormatOf::VERSION
7
+ s.summary = "Validate e-mail addresses against RFC 2822 and RFC 3696."
8
+ s.description = s.summary
9
+ s.authors = ["Alex Dunae", "Isaac Betesh"]
10
+ s.email = ["code@dunae.ca", "iybetesh@gmail.com"]
11
+ s.homepage = "https://github.com/validates-email-format-of/validates_email_format_of"
12
+ s.license = "MIT"
13
+ s.files = `git ls-files`.split($/)
14
+ s.require_paths = ["lib"]
17
15
 
18
- s.add_dependency 'i18n'
19
- s.add_development_dependency 'bundler'
20
- s.add_development_dependency 'rspec'
16
+ if RUBY_VERSION < "1.9.3"
17
+ s.add_dependency "i18n", "< 0.7.0"
18
+ else
19
+ s.add_dependency "i18n"
20
+ end
21
+
22
+ s.add_development_dependency "activemodel"
23
+ s.add_development_dependency "bundler"
24
+ s.add_development_dependency "rspec"
25
+ s.add_development_dependency "standard"
26
+ s.add_development_dependency "appraisal"
27
+ s.add_development_dependency "pry-byebug"
21
28
  end
metadata CHANGED
@@ -1,56 +1,112 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_email_format_of
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Dunae
8
8
  - Isaac Betesh
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-08 00:00:00.000000000 Z
12
+ date: 2022-07-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ! '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ! '>='
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activemodel
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
26
40
  - !ruby/object:Gem::Version
27
41
  version: '0'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: bundler
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
- - - ! '>='
46
+ - - ">="
33
47
  - !ruby/object:Gem::Version
34
48
  version: '0'
35
49
  type: :development
36
50
  prerelease: false
37
51
  version_requirements: !ruby/object:Gem::Requirement
38
52
  requirements:
39
- - - ! '>='
53
+ - - ">="
40
54
  - !ruby/object:Gem::Version
41
55
  version: '0'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: rspec
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
- - - ! '>='
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: standard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: appraisal
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: pry-byebug
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
47
103
  - !ruby/object:Gem::Version
48
104
  version: '0'
49
105
  type: :development
50
106
  prerelease: false
51
107
  version_requirements: !ruby/object:Gem::Requirement
52
108
  requirements:
53
- - - ! '>='
109
+ - - ">="
54
110
  - !ruby/object:Gem::Version
55
111
  version: '0'
56
112
  description: Validate e-mail addresses against RFC 2822 and RFC 3696.
@@ -61,22 +117,29 @@ executables: []
61
117
  extensions: []
62
118
  extra_rdoc_files: []
63
119
  files:
64
- - .gitignore
65
- - .rspec
66
- - .travis.yml
120
+ - ".github/workflows/ci.yml"
121
+ - ".gitignore"
122
+ - ".rspec"
123
+ - Appraisals
67
124
  - CHANGELOG
68
125
  - Gemfile
69
126
  - MIT-LICENSE
70
127
  - README.rdoc
128
+ - config/locales/de.yml
71
129
  - config/locales/en.yml
130
+ - config/locales/fr.yml
131
+ - config/locales/it.yml
132
+ - config/locales/ja.yml
72
133
  - config/locales/pl.yml
73
- - gemfiles/Gemfile.active_model_2_1
74
- - gemfiles/Gemfile.active_model_3_0
75
- - gemfiles/Gemfile.active_model_3_1
76
- - gemfiles/Gemfile.active_model_3_2
77
- - gemfiles/Gemfile.active_model_3_3
78
- - gemfiles/Gemfile.active_model_4_0
79
- - gemfiles/Gemfile.active_model_4_1
134
+ - config/locales/pt-BR.yml
135
+ - config/locales/pt.yml
136
+ - gemfiles/rails_4.2.gemfile
137
+ - gemfiles/rails_5.0.gemfile
138
+ - gemfiles/rails_5.1.gemfile
139
+ - gemfiles/rails_5.2.gemfile
140
+ - gemfiles/rails_6.0.gemfile
141
+ - gemfiles/rails_6.1.gemfile
142
+ - gemfiles/rails_7.0.gemfile
80
143
  - lib/validates_email_format_of.rb
81
144
  - lib/validates_email_format_of/active_model.rb
82
145
  - lib/validates_email_format_of/railtie.rb
@@ -91,24 +154,23 @@ homepage: https://github.com/validates-email-format-of/validates_email_format_of
91
154
  licenses:
92
155
  - MIT
93
156
  metadata: {}
94
- post_install_message:
157
+ post_install_message:
95
158
  rdoc_options: []
96
159
  require_paths:
97
160
  - lib
98
161
  required_ruby_version: !ruby/object:Gem::Requirement
99
162
  requirements:
100
- - - ! '>='
163
+ - - ">="
101
164
  - !ruby/object:Gem::Version
102
165
  version: '0'
103
166
  required_rubygems_version: !ruby/object:Gem::Requirement
104
167
  requirements:
105
- - - ! '>='
168
+ - - ">="
106
169
  - !ruby/object:Gem::Version
107
170
  version: '0'
108
171
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.1.5
111
- signing_key:
172
+ rubygems_version: 3.1.6
173
+ signing_key:
112
174
  specification_version: 4
113
175
  summary: Validate e-mail addresses against RFC 2822 and RFC 3696.
114
176
  test_files: []