validates_email_format_of 1.8.0 → 1.8.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +9 -2
- data/CHANGELOG.md +16 -3
- data/README.md +19 -10
- data/config/locales/de.yml +1 -1
- data/lib/validates_email_format_of/version.rb +1 -1
- data/lib/validates_email_format_of.rb +2 -2
- data/spec/spec_helper.rb +0 -2
- data/spec/validates_email_format_of_spec.rb +4 -2
- data/validates_email_format_of.gemspec +0 -1
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11c21b2a28ee1659e6727cc106aaf912487adf9b519eceeebd68f3dbb1750b88
|
4
|
+
data.tar.gz: 8db0acd0c16c49e5042640bf159aa75caad8f75b899a5df91527d66c899012aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3fcec1122983e8bbcff3e8a388260d040851467dbb89d6a1157e38ab59fbe908c3b8c69793ac2166ee1cedaf1d78d0c6613fc4ac8c450fb523c45fda1821b59
|
7
|
+
data.tar.gz: dbc08e3633edf9d254e80d6614795a36f4c806046aa6dafb1c0aa46e9aa729f19701fbf533be9253138d119b35c8203fdea1a64a87c6c364e0e53ded94e23a7c
|
data/.github/workflows/ci.yml
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
name: CI
|
2
2
|
|
3
3
|
on:
|
4
|
-
- push
|
5
4
|
- pull_request
|
6
5
|
|
7
6
|
permissions:
|
@@ -15,7 +14,7 @@ jobs:
|
|
15
14
|
|
16
15
|
strategy:
|
17
16
|
matrix:
|
18
|
-
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
|
17
|
+
ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "jruby-head"]
|
19
18
|
gemfile: ["4.2", "5.0", "5.1", "5.2", "6.0", "6.1", "7.0", "7.1"]
|
20
19
|
|
21
20
|
exclude:
|
@@ -27,6 +26,8 @@ jobs:
|
|
27
26
|
ruby: "3.2"
|
28
27
|
- gemfile: "4.2"
|
29
28
|
ruby: "3.3"
|
29
|
+
- gemfile: "4.2"
|
30
|
+
ruby: "jruby-head"
|
30
31
|
- gemfile: "5.0"
|
31
32
|
ruby: "3.0"
|
32
33
|
- gemfile: "5.0"
|
@@ -35,6 +36,8 @@ jobs:
|
|
35
36
|
ruby: "3.2"
|
36
37
|
- gemfile: "5.0"
|
37
38
|
ruby: "3.3"
|
39
|
+
- gemfile: "5.0"
|
40
|
+
ruby: "jruby-head"
|
38
41
|
- gemfile: "5.1"
|
39
42
|
ruby: "3.0"
|
40
43
|
- gemfile: "5.1"
|
@@ -43,6 +46,8 @@ jobs:
|
|
43
46
|
ruby: "3.2"
|
44
47
|
- gemfile: "5.1"
|
45
48
|
ruby: "3.3"
|
49
|
+
- gemfile: "5.1"
|
50
|
+
ruby: "jruby-head"
|
46
51
|
- gemfile: "5.2"
|
47
52
|
ruby: "3.0"
|
48
53
|
- gemfile: "5.2"
|
@@ -51,6 +56,8 @@ jobs:
|
|
51
56
|
ruby: "3.2"
|
52
57
|
- gemfile: "5.2"
|
53
58
|
ruby: "3.3"
|
59
|
+
- gemfile: "5.2"
|
60
|
+
ruby: "jruby-head"
|
54
61
|
- gemfile: "6.0"
|
55
62
|
ruby: "3.2"
|
56
63
|
- gemfile: "6.0"
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,20 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
-
[Unreleased]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.
|
5
|
+
[Unreleased]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.2...master
|
6
|
+
|
7
|
+
## [1.8.2]
|
8
|
+
|
9
|
+
* Improve German translations - https://github.com/validates-email-format-of/validates_email_format_of/pull/111
|
10
|
+
|
11
|
+
[1.8.2]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.1...1.8.2
|
12
|
+
|
13
|
+
## [1.8.1]
|
14
|
+
|
15
|
+
* Fix IDN->Punycode conversion when domain names start with periods - https://github.com/validates-email-format-of/validates_email_format_of/issues/109
|
16
|
+
* Add jruby to test matrix - https://github.com/validates-email-format-of/validates_email_format_of/pull/108
|
17
|
+
|
18
|
+
[1.8.1]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.0...1.8.1
|
6
19
|
|
7
20
|
## [1.8.0]
|
8
21
|
|
@@ -13,13 +26,13 @@
|
|
13
26
|
* ⚠️ Deprecate `:with` option - https://github.com/validates-email-format-of/validates_email_format_of/issues/42
|
14
27
|
* Require i18n >= 0.8.0 in modern Ruby versions - https://github.com/advisories/GHSA-34hf-g744-jw64
|
15
28
|
|
16
|
-
[
|
29
|
+
[1.8.0]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.7.2...1.8.0
|
17
30
|
|
18
31
|
## [1.7.2]
|
19
32
|
|
20
33
|
* Fix regression that disallowed domains starting with number - https://github.com/validates-email-format-of/validates_email_format_of/issues/88
|
21
34
|
|
22
|
-
[
|
35
|
+
[1.7.2]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.7.1...v1.7.2
|
23
36
|
|
24
37
|
## [1.7.1] (3 Aug 2022)
|
25
38
|
|
data/README.md
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
[]( https://github.com/validates-email-format-of/validates_email_format_of/actions/workflows/ci.yml?query=branch%3Amaster)
|
4
4
|
|
5
|
-
A Ruby gem to validate email addresses against RFC 2822 and RFC 5322.
|
5
|
+
A Ruby gem to validate email addresses against RFC 2822 and RFC 5322, with optional domain name lookups.
|
6
6
|
|
7
7
|
## Why this email validator?
|
8
8
|
|
9
9
|
This gem is the O.G. email validation gem for Rails. It was started back in 2006.
|
10
10
|
|
11
|
-
Why use this validator? Instead of trying to validate email addresses with one giant regular expression, this library parses addresses character by character. This lets us handle weird cases like [nested comments](https://www.rfc-editor.org/rfc/rfc5322#appendix-A.5). Gross but technically allowed.
|
11
|
+
Why use this validator? Instead of trying to validate email addresses with one giant regular expression, this library parses addresses character by character. This lets us handle weird cases like [nested comments](https://www.rfc-editor.org/rfc/rfc5322#appendix-A.5). Gross, but technically allowed.
|
12
12
|
|
13
13
|
In reality, most email validating scripts will get you where you need to go. This library just aims to go all the way.
|
14
14
|
|
@@ -45,14 +45,23 @@ end
|
|
45
45
|
### Usage without Rails
|
46
46
|
|
47
47
|
```ruby
|
48
|
+
ValidatesEmailFormatOf::validate_email_format("example@mydomain.com") # => nil
|
49
|
+
ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear to be a valid email address"]
|
50
|
+
|
48
51
|
# Optional, if you want error messages to be in your language
|
49
52
|
ValidatesEmailFormatOf::load_i18n_locales
|
50
53
|
I18n.locale = :pl
|
51
54
|
|
52
|
-
ValidatesEmailFormatOf::validate_email_format("
|
53
|
-
ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear to be a valid email address"]
|
55
|
+
ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["nieprawidłowy adres email"]
|
54
56
|
```
|
55
57
|
|
58
|
+
## Internationalized Domain Names (IDN) and Punycode
|
59
|
+
|
60
|
+
As of v1.8.0, this gem can validate email addresses using internationalized domain names (like `test@пример.рф`) as well as domains that have already been converted to Punycode code (like `test@xn--test@-3weu6azakd.xn--p1ai`).
|
61
|
+
|
62
|
+
If you would like to forbid internationalized domains, you can pass the `idn: false` option. Punycode is always accepted.
|
63
|
+
|
64
|
+
|
56
65
|
## Options
|
57
66
|
|
58
67
|
| Option | Type | Description |
|
@@ -69,7 +78,7 @@ ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear
|
|
69
78
|
The standard ActiveModel validation options (`:on`, `:if`, `:unless`, `:allow_nil`, `:allow_blank`, etc...) all work as well when using the gem as part of a Rails application.
|
70
79
|
## Testing
|
71
80
|
|
72
|
-
You can see our [current Ruby and Rails test matrix here](.github/workflows/ci.yml).
|
81
|
+
The gem is tested against Rails 4.2 and onward across a bunch of Ruby versions including jruby. You can see our [current Ruby and Rails test matrix here](.github/workflows/ci.yml).
|
73
82
|
|
74
83
|
To execute the unit tests against [all the Rails versions we support run](gemfiles/) <tt>bundle exec appraisal rspec</tt> or run against an individual version with <tt>bundle exec appraisal rails-6.0 rspec</tt>.
|
75
84
|
## Contributing
|
@@ -96,16 +105,16 @@ Yes, our Rspec syntax is that simple!
|
|
96
105
|
|
97
106
|
## Credits
|
98
107
|
|
99
|
-
Written by Alex Dunae
|
108
|
+
Written by [Alex Dunae](https://dunae.ca), 2006-24.
|
100
109
|
|
101
110
|
Many thanks to the plugin's recent contributors: https://github.com/alexdunae/validates_email_format_of/contributors
|
102
111
|
|
103
|
-
Thanks to Francis Hwang
|
112
|
+
Thanks to [Francis Hwang](http://fhwang.net/) at Diversion Media for creating the 1.1 update.
|
104
113
|
|
105
114
|
Thanks to Travis Sinnott for creating the 1.3 update.
|
106
115
|
|
107
|
-
Thanks to Denis Ahearn at Riverock Technologies
|
116
|
+
Thanks to Denis Ahearn at [Riverock Technologies](http://www.riverocktech.com/) for creating the 1.4 update.
|
108
117
|
|
109
|
-
Thanks to George Anderson
|
118
|
+
Thanks to [George Anderson](http://github.com/george) and ['history'](http://github.com/history) for creating the 1.4.1 update.
|
110
119
|
|
111
|
-
Thanks to Isaac Betesh
|
120
|
+
Thanks to [Isaac Betesh](https://github.com/betesh) for converting tests to Rspec and refactoring for version 1.6.0.
|
data/config/locales/de.yml
CHANGED
@@ -2,7 +2,7 @@ de:
|
|
2
2
|
activemodel: &errors
|
3
3
|
errors:
|
4
4
|
messages:
|
5
|
-
invalid_email_address: 'ist
|
5
|
+
invalid_email_address: 'ist anscheinend keine gültige E-Mail-Adresse'
|
6
6
|
email_address_not_routable: 'kann nicht erreicht werden'
|
7
7
|
activerecord:
|
8
8
|
<<: *errors
|
@@ -269,8 +269,8 @@ module ValidatesEmailFormatOf
|
|
269
269
|
end
|
270
270
|
|
271
271
|
def self.validate_domain_part_syntax(domain, idn: true)
|
272
|
-
domain = SimpleIDN.to_ascii(domain) if idn
|
273
272
|
parts = domain.downcase.split(".", -1)
|
273
|
+
parts.map! { |part| SimpleIDN.to_ascii(part) } if idn
|
274
274
|
|
275
275
|
return false if parts.length <= 1 # Only one domain part
|
276
276
|
|
@@ -299,7 +299,7 @@ module ValidatesEmailFormatOf
|
|
299
299
|
if defined?(ActiveSupport::Deprecation)
|
300
300
|
ActiveSupport::Deprecation.warn(msg)
|
301
301
|
else
|
302
|
-
warn
|
302
|
+
warn(msg)
|
303
303
|
end
|
304
304
|
end
|
305
305
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -140,7 +140,8 @@ describe ValidatesEmailFormatOf do
|
|
140
140
|
"\nnewline@example.com",
|
141
141
|
" spacesbefore@example.com",
|
142
142
|
"spacesafter@example.com ",
|
143
|
-
"(unbalancedcomment@example.com"
|
143
|
+
"(unbalancedcomment@example.com",
|
144
|
+
"help@.example.co.uk" # TLD can not start with a period
|
144
145
|
].each do |address|
|
145
146
|
describe address do
|
146
147
|
it { should have_errors_on_email.because("does not appear to be a valid email address") }
|
@@ -203,7 +204,8 @@ describe ValidatesEmailFormatOf do
|
|
203
204
|
|
204
205
|
describe "when idn support is enabled" do
|
205
206
|
before(:each) do
|
206
|
-
|
207
|
+
expect(SimpleIDN).to receive(:to_ascii).with("exämple").and_return("xn--exmple-cua")
|
208
|
+
expect(SimpleIDN).to receive(:to_ascii).with("com").and_return("com")
|
207
209
|
end
|
208
210
|
let(:options) { {idn: true} }
|
209
211
|
describe "test@exämple.com" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validates_email_format_of
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dunae
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-
|
12
|
+
date: 2024-04-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
@@ -109,20 +109,6 @@ dependencies:
|
|
109
109
|
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: pry-byebug
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
112
|
description: Validate email addresses against RFC 2822 and RFC 3696.
|
127
113
|
email:
|
128
114
|
- code@dunae.ca
|
@@ -187,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
173
|
- !ruby/object:Gem::Version
|
188
174
|
version: '0'
|
189
175
|
requirements: []
|
190
|
-
rubygems_version: 3.
|
176
|
+
rubygems_version: 3.3.26
|
191
177
|
signing_key:
|
192
178
|
specification_version: 4
|
193
179
|
summary: Validate email addresses against RFC 2822 and RFC 3696.
|