validates_email_format_of 1.6.3 → 1.7.2

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