valid_email2 5.0.5 → 5.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 521793d68b526dfac3faf2966f62eefe5b78ccb021c004f7b2157448a1f7b81d
4
- data.tar.gz: 761ca49f96808213830e62c2bf7d61db39edb5457498c6e9192abd20063e6dfe
3
+ metadata.gz: 925627af7072ddf7e2f82482253520d9bef1111e605317106afbf84b951c5a57
4
+ data.tar.gz: 7eb5251aa7f5cf9e2bcd24c63f23fb45ea6770581d8e1ceebf00933f64f24498
5
5
  SHA512:
6
- metadata.gz: e8fa138e0cf2474732b12b8dde26d8d1e7d1ebf24dd3984acbf94e163ad131b4a09dfa06e316e9d93e6e2758badc63d05bb792ca255f23b6b880239dd7cde2ca
7
- data.tar.gz: 53fc5f63e4832f6b025c7fd74c9bd14be9ab0a5eadac087d1cc020e5d7c5807e9f336d91f86dc5b7fe435520e70fdc77d2b477c60d51e25287ce7925b7b4aff0
6
+ metadata.gz: 3f02e361ed0c985a4f770a09222fef9179de6a9f01995ac84c57ae6b9a843172afaf80116d01dc1ad9a9b5959dfcc6a089ce5b2ea2d6340701308b8e3b8a9817
7
+ data.tar.gz: f05c620994e0aaf353dfc4227cc317d20d2bd9be59e1b85ba4ab70db5d0cf0522ed939dab7fff625ad5701c710da33f037ba37e44123d9f1989b14b3faa64980
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## Version 5.1.1
2
+ * Remove false positives [#223](https://github.com/micke/valid_email2/issues/223)
3
+
4
+ ## Version 5.1.0
5
+ * Allow dynamic validaton error messages [#221](https://github.com/micke/valid_email2/pull/221)
6
+
1
7
  ## Version 5.0.5
2
8
  * Remove false positive duck.com
3
9
 
@@ -8565,7 +8565,6 @@
8565
8565
  8a818.club
8566
8566
  8a9itx.online
8567
8567
  8aj.net
8568
- 8alias.com
8569
8568
  8americain.fr
8570
8569
  8angue9wtjv4dwa9.com
8571
8570
  8avz.net
@@ -8708,7 +8707,6 @@
8708
8707
  8rskf3xpyq.ml
8709
8708
  8rskf3xpyq.tk
8710
8709
  8rygn.com
8711
- 8shield.net
8712
8710
  8t0sznngp6aowxsrj.cf
8713
8711
  8t0sznngp6aowxsrj.ga
8714
8712
  8t0sznngp6aowxsrj.gq
@@ -45553,7 +45551,6 @@ drakeslansdowne.com
45553
45551
  drakor.pro
45554
45552
  drakorfor.me
45555
45553
  draktar.online
45556
- dralias.com
45557
45554
  dralselahi.com
45558
45555
  dram.network
45559
45556
  drama.tw
@@ -66,7 +66,9 @@ module ValidEmail2
66
66
  end
67
67
 
68
68
  def error(record, attribute)
69
- record.errors.add(attribute, options[:message] || :invalid)
69
+ message = options[:message].respond_to?(:call) ? options[:message].call : options[:message]
70
+
71
+ record.errors.add(attribute, message || :invalid)
70
72
  end
71
73
  end
72
74
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal:true
2
2
 
3
3
  module ValidEmail2
4
- VERSION = "5.0.5"
4
+ VERSION = "5.1.1"
5
5
  end
@@ -13,7 +13,7 @@ whitelisted_emails = %w(
13
13
  zoho.com zoho.in simplelogin.com simplelogin.fr simplelogin.co
14
14
  simplelogin.io aleeas.com slmails.com silomails.com slmail.me
15
15
  passinbox.com passfwd.com passmail.com passmail.net
16
- duck.com mozmail.com
16
+ duck.com mozmail.com dralias.com 8alias.com 8shield.net
17
17
  )
18
18
 
19
19
  existing_emails = File.open("config/disposable_email_domains.txt") { |f| f.read.split("\n") }
@@ -47,6 +47,14 @@ class TestUserMessage < TestModel
47
47
  validates :email, 'valid_email_2/email': { message: "custom message" }
48
48
  end
49
49
 
50
+ class TestUserMessageWithLambda < TestModel
51
+ validates :email, 'valid_email_2/email': { message: -> { "custom message lambda" } }
52
+ end
53
+
54
+ class TestUserMessageWithProc < TestModel
55
+ validates :email, 'valid_email_2/email': { message: Proc.new { "custom message proc" } }
56
+ end
57
+
50
58
  class TestUserMultiple < TestModel
51
59
  validates :email, 'valid_email_2/email': { multiple: true }
52
60
  end
@@ -188,11 +196,11 @@ describe ValidEmail2 do
188
196
  let(:whitelist_domain) { disposable_domain }
189
197
  let(:whitelist_file_path) { "config/whitelisted_email_domains.yml" }
190
198
 
191
- # Some of the specs below need to explictly set the whitelist var or it
199
+ # Some of the specs below need to explictly set the whitelist var or it
192
200
  # may be cached to an empty set
193
201
  def set_whitelist
194
202
  ValidEmail2.instance_variable_set(
195
- :@whitelist,
203
+ :@whitelist,
196
204
  ValidEmail2.send(:load_if_exists, ValidEmail2::WHITELIST_FILE)
197
205
  )
198
206
  end
@@ -308,11 +316,29 @@ describe ValidEmail2 do
308
316
  end
309
317
  end
310
318
 
311
- describe "with custom error message" do
312
- it "supports settings a custom error message" do
313
- user = TestUserMessage.new(email: "fakeemail")
314
- user.valid?
315
- expect(user.errors.full_messages).to include("Email custom message")
319
+ context "when message is present" do
320
+ describe "with custom error message" do
321
+ it "supports settings a custom error message" do
322
+ user = TestUserMessage.new(email: "fakeemail")
323
+ user.valid?
324
+ expect(user.errors.full_messages).to include("Email custom message")
325
+ end
326
+ end
327
+
328
+ describe "with custom error message lambda" do
329
+ it "supports settings a custom error message lambda" do
330
+ user = TestUserMessageWithLambda.new(email: "fakeemail")
331
+ user.valid?
332
+ expect(user.errors.full_messages).to include("Email custom message lambda")
333
+ end
334
+ end
335
+
336
+ describe "with custom error message proc" do
337
+ it "supports settings a custom error message proc" do
338
+ user = TestUserMessageWithProc.new(email: "fakeemail")
339
+ user.valid?
340
+ expect(user.errors.full_messages).to include("Email custom message proc")
341
+ end
316
342
  end
317
343
  end
318
344
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valid_email2
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.5
4
+ version: 5.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micke Lisinge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-30 00:00:00.000000000 Z
11
+ date: 2023-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler