validates_email_format_of 1.6.2 → 1.7.1

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.
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: []