validates_email_format_of 1.6.3 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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'