truemail 2.4.4 → 2.4.5

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: cf8f27fbb88a8793afe363ecbf9afb73868a663724fd1f01e75ea855ca69c26b
4
- data.tar.gz: e74cdde9bfab4ae16f08141e9f4d37ab99156c7107ccb9d101854fedbfe362d1
3
+ metadata.gz: ab60bc15dde3624894487439f95781eb83a963954b32370f1f64a4a750ce2895
4
+ data.tar.gz: cf9ebab60730796e864bd5a0626bf66162b46060d475aaf6d38536f7307d7e09
5
5
  SHA512:
6
- metadata.gz: 7e3bd0123c74232b762bcab48988249fbc0d923800fc06021c2b67966618367c81c410a9f1a73553e1783a9fc5fd8bdc1488aaf9fd1527389d1e7838e108408f
7
- data.tar.gz: c148e89618ba2e034de5a638c67070342cb43b8e36e5d9794435a35629d6675217264f54011e40880a9333a661aec02671db9d91f93badb8eb618389f2859b47
6
+ metadata.gz: 690463e2659813d51b72bdb29e8ae543395f4b8d8c42dbe2d2b4e47d32391a3eab7118911a968c1801afc55078420d9968b1af96dc86bf902a5326fad2a2034e
7
+ data.tar.gz: 7cdc49f89121810be4623cb1cd00a9ba29aa9ef0b2f73e0ab7ea87da20ddc8c9273876223923948cba63616e4d29fa298175b525dcca1b46897b00fad712621a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## [2.4.5] - 2021.07.09
6
+
7
+ ### Removed
8
+
9
+ - `Truemail::RegexConstant::REGEX_DOMAIN_FROM_EMAIL`
10
+
11
+ ### Updated
12
+
13
+ - `Truemail::Validate::Mx`
14
+ - Updated gem development dependencies
15
+ - Updated gem version
16
+
5
17
  ## [2.4.4] - 2021.06.29
6
18
 
7
19
  ### Updated
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- truemail (2.4.4)
4
+ truemail (2.4.5)
5
5
  simpleidn (~> 0.2.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- addressable (2.7.0)
10
+ addressable (2.8.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
12
  ast (2.4.2)
13
13
  bundler-audit (0.8.0)
@@ -21,7 +21,7 @@ GEM
21
21
  crack (0.4.5)
22
22
  rexml
23
23
  diff-lcs (1.4.4)
24
- dns_mock (1.3.0)
24
+ dns_mock (1.3.1)
25
25
  docile (1.4.0)
26
26
  faker (2.18.0)
27
27
  i18n (>= 1.6, < 2)
@@ -43,7 +43,7 @@ GEM
43
43
  iniparse (~> 1.4)
44
44
  rexml (~> 3.2)
45
45
  parallel (1.20.1)
46
- parser (3.0.1.1)
46
+ parser (3.0.2.0)
47
47
  ast (~> 2.4.1)
48
48
  pry (0.13.1)
49
49
  coderay (~> 1.1)
@@ -54,7 +54,7 @@ GEM
54
54
  psych (3.3.2)
55
55
  public_suffix (4.0.6)
56
56
  rainbow (3.0.0)
57
- rake (13.0.3)
57
+ rake (13.0.6)
58
58
  reek (6.0.4)
59
59
  kwalify (~> 0.7.0)
60
60
  parser (~> 3.0.0)
@@ -75,7 +75,7 @@ GEM
75
75
  diff-lcs (>= 1.2.0, < 2.0)
76
76
  rspec-support (~> 3.10.0)
77
77
  rspec-support (3.10.2)
78
- rubocop (1.18.0)
78
+ rubocop (1.18.3)
79
79
  parallel (~> 1.10)
80
80
  parser (>= 3.0.0.0)
81
81
  rainbow (>= 2.2.2, < 4.0)
@@ -86,7 +86,7 @@ GEM
86
86
  unicode-display_width (>= 1.4.0, < 3.0)
87
87
  rubocop-ast (1.7.0)
88
88
  parser (>= 3.0.1.1)
89
- rubocop-performance (1.11.3)
89
+ rubocop-performance (1.11.4)
90
90
  rubocop (>= 1.7.0, < 2.0)
91
91
  rubocop-ast (>= 0.4.0)
92
92
  rubocop-rspec (2.4.0)
@@ -121,19 +121,19 @@ PLATFORMS
121
121
  x86_64-darwin-20
122
122
 
123
123
  DEPENDENCIES
124
- bundler (~> 2.2, >= 2.2.21)
124
+ bundler (~> 2.2, >= 2.2.23)
125
125
  bundler-audit (~> 0.8.0)
126
- dns_mock (~> 1.3)
126
+ dns_mock (~> 1.3, >= 1.3.1)
127
127
  faker (~> 2.18)
128
128
  fasterer (~> 0.9.0)
129
129
  json_matchers (~> 0.11.1)
130
130
  overcommit (~> 0.58.0)
131
131
  pry-byebug (~> 3.9)
132
- rake (~> 13.0, >= 13.0.3)
132
+ rake (~> 13.0, >= 13.0.6)
133
133
  reek (~> 6.0, >= 6.0.4)
134
134
  rspec (~> 3.10)
135
- rubocop (~> 1.18)
136
- rubocop-performance (~> 1.11, >= 1.11.3)
135
+ rubocop (~> 1.18, >= 1.18.3)
136
+ rubocop-performance (~> 1.11, >= 1.11.4)
137
137
  rubocop-rspec (~> 2.4)
138
138
  simplecov (~> 0.17.1)
139
139
  truemail!
@@ -141,4 +141,4 @@ DEPENDENCIES
141
141
  webmock (~> 3.13)
142
142
 
143
143
  BUNDLED WITH
144
- 2.2.21
144
+ 2.2.23
data/lib/truemail/core.rb CHANGED
@@ -22,7 +22,6 @@ module Truemail
22
22
  REGEX_DOMAIN = /[\p{L}0-9]+([\-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}/i.freeze
23
23
  REGEX_EMAIL_PATTERN = /(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\W\w]*)@(#{REGEX_DOMAIN})\z)/.freeze
24
24
  REGEX_DOMAIN_PATTERN = /(?=\A.{4,255}\z)(\A#{REGEX_DOMAIN}\z)/.freeze
25
- REGEX_DOMAIN_FROM_EMAIL = /\A.+@(.+)\z/.freeze
26
25
  REGEX_SMTP_ERROR_BODY_PATTERN = /(?=.*550)(?=.*(user|account|customer|mailbox)).*/i.freeze
27
26
  REGEX_IP_ADDRESS = /((1\d|[1-9]|2[0-4])?\d|25[0-5])(\.\g<1>){3}/.freeze
28
27
  REGEX_IP_ADDRESS_PATTERN = /\A#{REGEX_IP_ADDRESS}\z/.freeze
@@ -15,7 +15,7 @@ module Truemail
15
15
  private
16
16
 
17
17
  def email_domain
18
- @email_domain ||= result.email[Truemail::RegexConstant::REGEX_DOMAIN_FROM_EMAIL, 1]
18
+ @email_domain ||= result.email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
19
19
  end
20
20
 
21
21
  def whitelisted_domain?
@@ -8,7 +8,6 @@ module Truemail
8
8
 
9
9
  def run
10
10
  return false unless Truemail::Validate::Regex.check(result)
11
- result.domain = result.punycode_email[Truemail::RegexConstant::REGEX_DOMAIN_FROM_EMAIL, 1]
12
11
  return true if success(mx_lookup && domain_not_include_null_mx)
13
12
  mail_servers.clear && add_error(Truemail::Validate::Mx::ERROR)
14
13
  false
@@ -53,7 +52,10 @@ module Truemail
53
52
  end
54
53
 
55
54
  def domain
56
- result.domain
55
+ @domain ||= begin
56
+ result.domain = result.email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
57
+ result.punycode_email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
58
+ end
57
59
  end
58
60
 
59
61
  def hosts_from_mx_records?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '2.4.4'
4
+ VERSION = '2.4.5'
5
5
  end
data/truemail.gemspec CHANGED
@@ -33,19 +33,19 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
35
35
 
36
- spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.21'
36
+ spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.23'
37
37
  spec.add_development_dependency 'bundler-audit', '~> 0.8.0'
38
- spec.add_development_dependency 'dns_mock', '~> 1.3'
38
+ spec.add_development_dependency 'dns_mock', '~> 1.3', '>= 1.3.1'
39
39
  spec.add_development_dependency 'faker', '~> 2.18'
40
40
  spec.add_development_dependency 'fasterer', '~> 0.9.0'
41
41
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
42
42
  spec.add_development_dependency 'overcommit', '~> 0.58.0'
43
43
  spec.add_development_dependency 'pry-byebug', '~> 3.9'
44
- spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.3'
44
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
45
45
  spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.4'
46
46
  spec.add_development_dependency 'rspec', '~> 3.10'
47
- spec.add_development_dependency 'rubocop', '~> 1.18'
48
- spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.3'
47
+ spec.add_development_dependency 'rubocop', '~> 1.18', '>= 1.18.3'
48
+ spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.4'
49
49
  spec.add_development_dependency 'rubocop-rspec', '~> 2.4'
50
50
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
51
51
  spec.add_development_dependency 'truemail-rspec', '~> 0.6'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.4
4
+ version: 2.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-29 00:00:00.000000000 Z
11
+ date: 2021-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '2.2'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 2.2.21
36
+ version: 2.2.23
37
37
  type: :development
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '2.2'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 2.2.21
46
+ version: 2.2.23
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler-audit
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +65,9 @@ dependencies:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.3'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 1.3.1
68
71
  type: :development
69
72
  prerelease: false
70
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,6 +75,9 @@ dependencies:
72
75
  - - "~>"
73
76
  - !ruby/object:Gem::Version
74
77
  version: '1.3'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.3.1
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: faker
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +157,7 @@ dependencies:
151
157
  version: '13.0'
152
158
  - - ">="
153
159
  - !ruby/object:Gem::Version
154
- version: 13.0.3
160
+ version: 13.0.6
155
161
  type: :development
156
162
  prerelease: false
157
163
  version_requirements: !ruby/object:Gem::Requirement
@@ -161,7 +167,7 @@ dependencies:
161
167
  version: '13.0'
162
168
  - - ">="
163
169
  - !ruby/object:Gem::Version
164
- version: 13.0.3
170
+ version: 13.0.6
165
171
  - !ruby/object:Gem::Dependency
166
172
  name: reek
167
173
  requirement: !ruby/object:Gem::Requirement
@@ -203,6 +209,9 @@ dependencies:
203
209
  - - "~>"
204
210
  - !ruby/object:Gem::Version
205
211
  version: '1.18'
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: 1.18.3
206
215
  type: :development
207
216
  prerelease: false
208
217
  version_requirements: !ruby/object:Gem::Requirement
@@ -210,6 +219,9 @@ dependencies:
210
219
  - - "~>"
211
220
  - !ruby/object:Gem::Version
212
221
  version: '1.18'
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ version: 1.18.3
213
225
  - !ruby/object:Gem::Dependency
214
226
  name: rubocop-performance
215
227
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +231,7 @@ dependencies:
219
231
  version: '1.11'
220
232
  - - ">="
221
233
  - !ruby/object:Gem::Version
222
- version: 1.11.3
234
+ version: 1.11.4
223
235
  type: :development
224
236
  prerelease: false
225
237
  version_requirements: !ruby/object:Gem::Requirement
@@ -229,7 +241,7 @@ dependencies:
229
241
  version: '1.11'
230
242
  - - ">="
231
243
  - !ruby/object:Gem::Version
232
- version: 1.11.3
244
+ version: 1.11.4
233
245
  - !ruby/object:Gem::Dependency
234
246
  name: rubocop-rspec
235
247
  requirement: !ruby/object:Gem::Requirement