validates_email_format_of 1.6.2 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
data/rakefile.rb CHANGED
@@ -1 +1,4 @@
1
- require 'bundler/gem_tasks'
1
+ require "bundler/gem_tasks"
2
+ require "standard/rake"
3
+
4
+ task default: [:spec, "standard:fix"]
@@ -1,14 +1,12 @@
1
- require "#{File.expand_path(File.dirname(__FILE__))}/spec_helper"
2
- if defined?(ActiveModel)
3
- require "validates_email_format_of/rspec_matcher"
1
+ require "#{__dir__}/spec_helper"
2
+ require "validates_email_format_of/rspec_matcher"
4
3
 
5
- class Person
6
- attr_accessor :email_address
7
- include ::ActiveModel::Validations
8
- validates_email_format_of :email_address
9
- end
4
+ class Person
5
+ attr_accessor :email_address
6
+ include ::ActiveModel::Validations
7
+ validates_email_format_of :email_address
8
+ end
10
9
 
11
- describe Person do
12
- it { should validate_email_format_of(:email_address) }
13
- end
10
+ describe Person do
11
+ it { should validate_email_format_of(:email_address) }
14
12
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,7 @@
1
- require 'active_model' if Gem.loaded_specs.keys.include?('activemodel')
1
+ require "active_model"
2
+ require "active_support"
3
+ require "pry"
4
+ require "byebug"
2
5
 
3
6
  RSpec::Matchers.define :have_errors_on_email do
4
7
  match do |actual|
@@ -6,7 +9,7 @@ RSpec::Matchers.define :have_errors_on_email do
6
9
  expect(actual).not_to be_empty, "#{actual} should not be empty"
7
10
  expect(actual.size).to eq(@reasons.size), "#{actual} should have #{@reasons.size} elements"
8
11
  @reasons.each do |reason|
9
- reason = "#{"Email " if defined?(ActiveModel)}#{reason}"
12
+ reason = "Email #{reason}"
10
13
  expect(actual).to include(reason), "#{actual} should contain #{reason}"
11
14
  end
12
15
  end
@@ -17,6 +20,6 @@ RSpec::Matchers.define :have_errors_on_email do
17
20
  (@reasons ||= []) << reason
18
21
  end
19
22
  match_when_negated do |actual|
20
- expect(actual).to (defined?(ActiveModel) ? be_empty : be_nil)
23
+ expect(actual).to(be_empty)
21
24
  end
22
25
  end
@@ -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,68 @@ 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@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",
51
49
  # allow single character domain parts
52
- 'valid@mail.x.example.com',
53
- 'valid@x.com',
54
- 'valid@example.w-dash.sch.uk',
50
+ "valid@mail.x.example.com",
51
+ "valid@x.com",
52
+ "valid@example.w-dash.sch.uk",
55
53
  # 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',
54
+ "customer/department=shipping@example.com",
55
+ "$A12345@example.com",
56
+ "!def!xyz%abc@example.com",
57
+ "_somename@example.com",
60
58
  # apostrophes
61
59
  "test'test@example.com",
62
60
  # international domain names
63
- 'test@xn--bcher-kva.ch',
64
- 'test@example.xn--0zwm56d',
65
- 'test@192.192.192.1',
61
+ "test@xn--bcher-kva.ch",
62
+ "test@example.xn--0zwm56d",
63
+ "test@192.192.192.1",
66
64
  # Allow quoted characters. Valid according to http://www.rfc-editor.org/errata_search.php?rfc=3696
67
65
  '"Abc\@def"@example.com',
66
+ '"Quote(Only".Chars@wier.de',
68
67
  '"Fred\ Bloggs"@example.com',
69
68
  '"Joe.\\Blow"@example.com',
70
69
  # Balanced quoted characters
71
- %!"example\\\\\\""@example.com!,
72
- %!"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"
73
75
  ].each do |address|
74
76
  describe address do
75
77
  it { should_not have_errors_on_email }
@@ -77,50 +79,55 @@ describe ValidatesEmailFormatOf do
77
79
  end
78
80
 
79
81
  [
80
- 'no_at_symbol',
81
- 'invalid@example-com',
82
+ "no_at_symbol",
83
+ "multiple@at@symbols.com",
84
+ "invalid@example-com",
82
85
  # period can not start local part
83
- '.invalid@example.com',
86
+ ".invalid@example.com",
84
87
  # period can not end local part
85
- 'invalid.@example.com',
88
+ "invalid.@example.com",
86
89
  # period can not appear twice consecutively in local part
87
- 'invali..d@example.com',
90
+ "invali..d@example.com",
88
91
  # 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',
92
+ "invalid@ex_mple.com",
93
+ "invalid@e..example.com",
94
+ "invalid@p-t..example.com",
95
+ "invalid@example.com.",
96
+ "invalid@example.com_",
97
+ "invalid@example.com-",
98
+ "invalid-example.com",
99
+ "invalid@example.b#r.com",
100
+ "invalid@example.c",
101
+ "invali d@example.com",
99
102
  # TLD can not be only numeric
100
- 'invalid@example.123',
103
+ "invalid@example.123",
101
104
  # unclosed quote
102
105
  "\"a-17180061943-10618354-1993365053@example.com",
103
106
  # too many special chars used to cause the regexp to hang
104
107
  "-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@foo",
105
- 'invalidexample.com',
108
+ "invalidexample.com",
106
109
  # should not allow special chars after a period in the domain
107
- 'local@sub.)domain.com',
108
- 'local@sub.#domain.com',
110
+ "local@sub.)domain.com",
111
+ "local@sub.#domain.com",
109
112
  # one at a time
110
113
  "foo@example.com\nexample@gmail.com",
111
- 'invalid@example.',
114
+ "invalid@example.",
112
115
  "\"foo\\\\\"\"@bar.com",
113
116
  "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',
117
+ "@example.com",
118
+ "foo@",
119
+ "foo",
120
+ "Iñtërnâtiônàlizætiøn@hasnt.happened.to.email",
118
121
  # 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
122
  'Fred\ Bloggs_@example.com',
120
123
  'Abc\@def+@example.com',
121
124
  'Joe.\\Blow@example.com',
122
125
  # Unbalanced quoted characters
123
- %!"example\\\\""example.com!
126
+ %("example\\\\""example.com),
127
+ "\nnewline@example.com",
128
+ " spacesbefore@example.com",
129
+ "spacesafter@example.com ",
130
+ "(unbalancedcomment@example.com"
124
131
  ].each do |address|
125
132
  describe address do
126
133
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
@@ -129,10 +136,10 @@ describe ValidatesEmailFormatOf do
129
136
 
130
137
  describe do
131
138
  shared_examples_for :local_length_limit do |limit|
132
- describe "#{'a' * limit}@example.com" do
139
+ describe "#{"a" * limit}@example.com" do
133
140
  it { should_not have_errors_on_email }
134
141
  end
135
- describe "#{'a' * (limit + 1)}@example.com" do
142
+ describe "#{"a" * (limit + 1)}@example.com" do
136
143
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
137
144
  end
138
145
  end
@@ -140,16 +147,16 @@ describe ValidatesEmailFormatOf do
140
147
  it_should_behave_like :local_length_limit, 64
141
148
  end
142
149
  describe "when overriding defaults" do
143
- let(:options) { { :local_length => 20 } }
150
+ let(:options) { {local_length: 20} }
144
151
  it_should_behave_like :local_length_limit, 20
145
152
  end
146
153
  end
147
154
  describe do
148
155
  shared_examples_for :domain_length_limit do |limit|
149
- describe "user@#{'a' * (limit - 4)}.com" do
156
+ describe "user@#{"a." * (limit / 2 - 3)}com" do
150
157
  it { should_not have_errors_on_email }
151
158
  end
152
- describe "user@#{'a' * (limit - 3)}.com" do
159
+ describe "user@#{"a." * (limit / 2 + 1)}com" do
153
160
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
154
161
  end
155
162
  end
@@ -157,31 +164,35 @@ describe ValidatesEmailFormatOf do
157
164
  it_should_behave_like :domain_length_limit, 255
158
165
  end
159
166
  describe "when overriding defaults" do
160
- let(:options) { { :domain_length => 100 } }
167
+ let(:options) { {domain_length: 100} }
161
168
  it_should_behave_like :domain_length_limit, 100
162
169
  end
163
170
  end
164
171
 
165
172
  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") }
173
+ describe "invalid@example." do
174
+ let(:options) { {message: "just because I don't like you"} }
175
+ it {
176
+ should have_errors_on_email.because("just because I don't like you")
177
+ }
169
178
  end
170
179
  end
171
180
 
172
181
  describe "mx record" do
173
- domain = "stubbed.com"
182
+ domain = "example.com"
174
183
  email = "valid@#{domain}"
184
+
175
185
  describe "when testing" do
176
186
  let(:dns) { double(Resolv::DNS) }
177
187
  let(:mx_record) { [double] }
178
188
  let(:a_record) { [double] }
179
189
  before(:each) do
180
190
  allow(Resolv::DNS).to receive(:open).and_yield(dns)
191
+ allow(dns).to receive(:"timeouts=").with(3).once
181
192
  allow(dns).to receive(:getresources).with(domain, Resolv::DNS::Resource::IN::MX).once.and_return(mx_record)
182
193
  allow(dns).to receive(:getresources).with(domain, Resolv::DNS::Resource::IN::A).once.and_return(a_record)
183
194
  end
184
- let(:options) { { :check_mx => true } }
195
+ let(:options) { {check_mx: true, check_mx_timeout: 3} }
185
196
  describe "and only an mx record is found" do
186
197
  let(:a_record) { [] }
187
198
  describe email do
@@ -206,7 +217,7 @@ describe ValidatesEmailFormatOf do
206
217
  it { should have_errors_on_email.because("is not routable") }
207
218
  end
208
219
  describe "with a custom error message" do
209
- let(:options) { { :check_mx => true, :mx_message => "There ain't no such domain!" } }
220
+ let(:options) { {check_mx: true, mx_message: "There ain't no such domain!"} }
210
221
  describe email do
211
222
  it { should have_errors_on_email.because("There ain't no such domain!") }
212
223
  end
@@ -221,22 +232,6 @@ describe ValidatesEmailFormatOf do
221
232
  it { should have_errors_on_email.because("jest nieosiągalny") }
222
233
  end
223
234
  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
235
  end
241
236
  end
242
237
  end
@@ -249,25 +244,25 @@ describe ValidatesEmailFormatOf do
249
244
  end
250
245
  describe "explicitly" do
251
246
  describe email do
252
- let(:options) { { :check_mx => false } }
247
+ let(:options) { {check_mx: false} }
253
248
  it { should_not have_errors_on_email }
254
249
  end
255
250
  end
256
251
  end
257
252
  describe "without mocks" do
258
253
  describe email do
259
- let(:options) { { :check_mx => true } }
254
+ let(:options) { {check_mx: true} }
260
255
  it { should_not have_errors_on_email }
261
256
  end
262
257
  end
263
258
  end
264
259
 
265
260
  describe "custom regex" do
266
- let(:options) { { :with => /[0-9]+\@[0-9]+/ } }
267
- describe '012345@789' do
261
+ let(:options) { {with: /[0-9]+@[0-9]+/} }
262
+ describe "012345@789" do
268
263
  it { should_not have_errors_on_email }
269
264
  end
270
- describe 'valid@example.com' do
265
+ describe "valid@example.com" do
271
266
  it { should have_errors_on_email.because("does not appear to be a valid e-mail address") }
272
267
  end
273
268
  end
@@ -282,42 +277,51 @@ describe ValidatesEmailFormatOf do
282
277
  it { should have_errors_on_email.because("nieprawidłowy adres e-mail") }
283
278
  end
284
279
  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
280
+ end
281
+ end
282
+ it_should_behave_like :all_specs
283
+
284
+ describe "validation without ActiveModel" do
285
+ subject do
286
+ ValidatesEmailFormatOf.validate_email_format(email.freeze, options)
287
+ end
288
+
289
+ describe "valid@example.com" do
290
+ it { should be_nil }
291
+ end
292
+
293
+ describe "custom error messages" do
294
+ describe "invalid@example." do
295
+ let(:options) { {message: "just because I don't like you"} }
296
+ it { should match_array(["just because I don't like you"]) }
292
297
  end
293
298
  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
299
+
300
+ describe "without i18n" do
301
+ before(:each) { hide_const("I18n") }
302
+ describe "invalid@exmaple." do
303
+ it { should match_array(["does not appear to be valid"]) }
300
304
  end
301
305
  end
302
306
  end
303
- it_should_behave_like :all_specs
304
307
 
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
308
+ describe "shorthand ActiveModel validation" do
309
+ subject do |example|
310
+ user = Class.new do
311
+ def initialize(email)
312
+ @email = email.freeze
315
313
  end
316
- example.example_group_instance.class::User = user
317
- user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
318
- end
314
+ attr_reader :email
315
+ include ActiveModel::Validations
316
+ validates :email, email_format: example.example_group_instance.options
319
317
 
320
- it_should_behave_like :all_specs
318
+ def self.model_name
319
+ ActiveModel::Name.new(self, nil, "User")
320
+ end
321
+ end
322
+ user.new(example.example_group_instance.email).tap(&:valid?).errors.full_messages
321
323
  end
324
+
325
+ it_should_behave_like :all_specs
322
326
  end
323
327
  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.2
4
+ version: 1.7.1
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-02-06 00:00:00.000000000 Z
12
+ date: 2022-08-03 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"
123
+ - Appraisals
67
124
  - CHANGELOG
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: []