truemail 3.0.8 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c43d83c3f19411eeb20571ea41d214fd8958d49c4a91b10245719585df5a07d
4
- data.tar.gz: f3079ce91cf9df2fa1f5530b3844e88409d0b51e97a0ff2a80e665bac8dc29a9
3
+ metadata.gz: 21babc820df5e16ef7543e9128f79ba8165cc3d0f34155849ebdaf7747b21153
4
+ data.tar.gz: f2747510da174d478ea74b7bb6ec6ab661f1be3aceaad18f3ded161bbb8d6016
5
5
  SHA512:
6
- metadata.gz: 38a8909dfc0ca95cd386b846bfde97393e77d80433bc7d0efd538a3bfa3cf537dabd666fcdc5a445246fb29f9960e01dac261b948edd99e0b484475a757520b4
7
- data.tar.gz: 94df862da3e2c38a2d720249bac6432b668ce4245fa7f80693175105b9aea7b15ec7154b79aec5c1ad86c2c3886e8b34f9ac90438b2020ef7987ebc321aff400
6
+ metadata.gz: e5f5e63ce0b966b2a2ab7ffe615d7d032592123a7022bf486aaf21962e56cb5f75f01b35711d5d635b5d0435deb9de1e1dd215d9c174100722c7fe205dd51786
7
+ data.tar.gz: 8a2d0c557cf1670e2160196a7c4e27e3fae6cb2c5570ef2cf4af30c9a4049dff2292236412cba34c61b88d847bccd9f2f5ca02eb9b4f066d08c3345d6762f300
data/lib/truemail/core.rb CHANGED
@@ -19,7 +19,7 @@ module Truemail
19
19
  end
20
20
 
21
21
  module RegexConstant
22
- REGEX_DOMAIN = /[\p{L}0-9]+([-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}/i.freeze
22
+ REGEX_DOMAIN = /[\p{L}0-9]+([-.]{1}[\p{L}\p{N}\p{Pd}]*[\p{L}\p{N}]+)*\.\p{L}{2,63}/i.freeze
23
23
  REGEX_SIMPLE_EMAIL_PATTERN = /\w+@\w+/.freeze
24
24
  REGEX_EMAIL_PATTERN = %r{(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w\p{L}.+!~,'&%#*^`{}|\-/?=$]*)@(#{REGEX_DOMAIN})\z)}.freeze
25
25
  REGEX_DOMAIN_PATTERN = /(?=\A.{4,255}\z)(\A#{REGEX_DOMAIN}\z)/.freeze
@@ -70,7 +70,7 @@ module Truemail
70
70
 
71
71
  def hosts_from_cname_records?
72
72
  cname_records = Truemail::Dns::Resolver.cname_records(domain, configuration: configuration)
73
- return if cname_records.empty?
73
+ return false if cname_records.empty?
74
74
  cname_records.each do |cname_record|
75
75
  host = a_record(cname_record.name.to_s)
76
76
  hostname = Truemail::Dns::Resolver.dns_lookup(host, configuration: configuration)
@@ -62,8 +62,8 @@ module Truemail
62
62
  end
63
63
 
64
64
  def not_includes_user_not_found_errors?
65
- return unless configuration.smtp_safe_check
66
- result.smtp_debug.map(&:response).map(&:errors).all? do |errors|
65
+ return false unless configuration.smtp_safe_check
66
+ result.smtp_debug.map { |request| request.response.errors }.all? do |errors|
67
67
  next true unless errors.key?(:rcptto)
68
68
  errors.slice(:rcptto).values.none? do |error|
69
69
  configuration.smtp_error_body_pattern.match?(error)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '3.0.8'
4
+ VERSION = '3.1.0'
5
5
  end
data/truemail.gemspec CHANGED
@@ -22,19 +22,22 @@ Gem::Specification.new do |spec|
22
22
  'bug_tracker_uri' => 'https://github.com/truemail-rb/truemail/issues'
23
23
  }
24
24
 
25
+ current_ruby_version = ::Gem::Version.new(::RUBY_VERSION)
26
+ ffaker_version = current_ruby_version >= ::Gem::Version.new('3.0.0') ? '~> 2.23' : '~> 2.21'
27
+
25
28
  spec.required_ruby_version = '>= 2.5.0'
26
29
  spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(bin|lib)/|.ruby-version|truemail.gemspec|LICENSE}) }
27
30
  spec.require_paths = %w[lib]
28
31
 
29
- spec.add_runtime_dependency 'net-smtp', '~> 0.3.3' if ::Gem::Version.new(::RUBY_VERSION) >= ::Gem::Version.new('3.1.0')
32
+ spec.add_runtime_dependency 'net-smtp', '~> 0.4.0' if current_ruby_version >= ::Gem::Version.new('3.1.0')
30
33
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
31
34
 
32
- spec.add_development_dependency 'dns_mock', '~> 1.5', '>= 1.5.15'
33
- spec.add_development_dependency 'ffaker', '~> 2.21'
35
+ spec.add_development_dependency 'dns_mock', '~> 1.5', '>= 1.5.16'
36
+ spec.add_development_dependency 'ffaker', ffaker_version
34
37
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
35
- spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
38
+ spec.add_development_dependency 'rake', '~> 13.1'
36
39
  spec.add_development_dependency 'rspec', '~> 3.12'
37
- spec.add_development_dependency 'smtp_mock', '~> 1.3', '>= 1.3.4'
38
- spec.add_development_dependency 'truemail-rspec', '~> 1.1'
39
- spec.add_development_dependency 'webmock', '~> 3.18', '>= 3.18.1'
40
+ spec.add_development_dependency 'smtp_mock', '~> 1.3', '>= 1.3.5'
41
+ spec.add_development_dependency 'truemail-rspec', '~> 1.2'
42
+ spec.add_development_dependency 'webmock', '~> 3.19', '>= 3.19.1'
40
43
  end
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: 3.0.8
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-11 00:00:00.000000000 Z
11
+ date: 2023-10-31 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: '1.5'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.5.15
36
+ version: 1.5.16
37
37
  type: :development
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '1.5'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.5.15
46
+ version: 1.5.16
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ffaker
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -78,20 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '13.0'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 13.0.6
81
+ version: '13.1'
85
82
  type: :development
86
83
  prerelease: false
87
84
  version_requirements: !ruby/object:Gem::Requirement
88
85
  requirements:
89
86
  - - "~>"
90
87
  - !ruby/object:Gem::Version
91
- version: '13.0'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 13.0.6
88
+ version: '13.1'
95
89
  - !ruby/object:Gem::Dependency
96
90
  name: rspec
97
91
  requirement: !ruby/object:Gem::Requirement
@@ -115,7 +109,7 @@ dependencies:
115
109
  version: '1.3'
116
110
  - - ">="
117
111
  - !ruby/object:Gem::Version
118
- version: 1.3.4
112
+ version: 1.3.5
119
113
  type: :development
120
114
  prerelease: false
121
115
  version_requirements: !ruby/object:Gem::Requirement
@@ -125,41 +119,41 @@ dependencies:
125
119
  version: '1.3'
126
120
  - - ">="
127
121
  - !ruby/object:Gem::Version
128
- version: 1.3.4
122
+ version: 1.3.5
129
123
  - !ruby/object:Gem::Dependency
130
124
  name: truemail-rspec
131
125
  requirement: !ruby/object:Gem::Requirement
132
126
  requirements:
133
127
  - - "~>"
134
128
  - !ruby/object:Gem::Version
135
- version: '1.1'
129
+ version: '1.2'
136
130
  type: :development
137
131
  prerelease: false
138
132
  version_requirements: !ruby/object:Gem::Requirement
139
133
  requirements:
140
134
  - - "~>"
141
135
  - !ruby/object:Gem::Version
142
- version: '1.1'
136
+ version: '1.2'
143
137
  - !ruby/object:Gem::Dependency
144
138
  name: webmock
145
139
  requirement: !ruby/object:Gem::Requirement
146
140
  requirements:
147
141
  - - "~>"
148
142
  - !ruby/object:Gem::Version
149
- version: '3.18'
143
+ version: '3.19'
150
144
  - - ">="
151
145
  - !ruby/object:Gem::Version
152
- version: 3.18.1
146
+ version: 3.19.1
153
147
  type: :development
154
148
  prerelease: false
155
149
  version_requirements: !ruby/object:Gem::Requirement
156
150
  requirements:
157
151
  - - "~>"
158
152
  - !ruby/object:Gem::Version
159
- version: '3.18'
153
+ version: '3.19'
160
154
  - - ">="
161
155
  - !ruby/object:Gem::Version
162
- version: 3.18.1
156
+ version: 3.19.1
163
157
  description: Configurable framework agnostic plain Ruby email validator. Verify email
164
158
  via Regex, DNS, SMTP and even more.
165
159
  email: