truemail 2.5.2 → 2.6.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 +4 -4
- data/.circleci/config.yml +6 -12
- data/.codeclimate.yml +1 -1
- data/.gitignore +1 -0
- data/.reek.yml +2 -0
- data/.rubocop.yml +33 -0
- data/CHANGELOG.md +51 -0
- data/README.md +1 -2
- data/lib/truemail/validate/smtp/request.rb +53 -14
- data/lib/truemail/version.rb +1 -1
- data/truemail.gemspec +5 -5
- metadata +10 -43
- data/Gemfile.lock +0 -138
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1499bcd186c7d733fc168a7167b5e171fb2617a37c041e9372a644fc1ecff09a
|
|
4
|
+
data.tar.gz: 6c9320d328da028de9f2e4b3241a91457d1984bc6f5b9e4325fe0c52b1a8f2b4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz: '
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '08e5b9f6fb5d6cc628058925401ea80cfc4f0614f16ffce25044b7c3965cbf5eb6560b88faac0732e80eb09d3711a15b2122c29ce623371cf30cb62477952420'
|
|
7
|
+
data.tar.gz: 4e18f42b916c4994f48b9cc4742ba80473934e9c15c41ef2d34d40b0e69e5f31058a45d78ffdd350040d25d4346b5e4e5c11e91edba0c34a8433c1e2bafaacf7
|
data/.circleci/config.yml
CHANGED
|
@@ -4,18 +4,11 @@ defaults: &defaults
|
|
|
4
4
|
working_directory: ~/truemail
|
|
5
5
|
docker:
|
|
6
6
|
- image: cimg/ruby:<< parameters.ruby-version >>
|
|
7
|
-
environment:
|
|
8
|
-
CC_TEST_REPORTER_ID: 693272a1328521f6f7c09d7ffd419b21c00410da26e98e94c687fdd38b26e2cb
|
|
9
7
|
|
|
10
8
|
orbs:
|
|
11
|
-
ruby: circleci/ruby@1.
|
|
9
|
+
ruby: circleci/ruby@1.2.0
|
|
12
10
|
|
|
13
11
|
references:
|
|
14
|
-
install_bundler: &install_bundler
|
|
15
|
-
run:
|
|
16
|
-
name: Installing Bundler
|
|
17
|
-
command: gem i bundler -v $(tail -1 Gemfile.lock | tr -d ' ')
|
|
18
|
-
|
|
19
12
|
restore_bundle_cache: &restore_bundle_cache
|
|
20
13
|
restore_cache:
|
|
21
14
|
keys:
|
|
@@ -24,7 +17,9 @@ references:
|
|
|
24
17
|
bundle_install: &bundle_install
|
|
25
18
|
run:
|
|
26
19
|
name: Installing gems
|
|
27
|
-
command:
|
|
20
|
+
command: |
|
|
21
|
+
bundle config set --local path 'vendor/bundle'
|
|
22
|
+
bundle install
|
|
28
23
|
|
|
29
24
|
save_bundle_cache: &save_bundle_cache
|
|
30
25
|
save_cache:
|
|
@@ -50,7 +45,6 @@ jobs:
|
|
|
50
45
|
steps:
|
|
51
46
|
- checkout
|
|
52
47
|
|
|
53
|
-
- <<: *install_bundler
|
|
54
48
|
- <<: *restore_bundle_cache
|
|
55
49
|
- <<: *bundle_install
|
|
56
50
|
- <<: *save_bundle_cache
|
|
@@ -71,7 +65,6 @@ jobs:
|
|
|
71
65
|
steps:
|
|
72
66
|
- checkout
|
|
73
67
|
|
|
74
|
-
- <<: *install_bundler
|
|
75
68
|
- <<: *restore_bundle_cache
|
|
76
69
|
- <<: *bundle_install
|
|
77
70
|
- <<: *save_bundle_cache
|
|
@@ -107,6 +100,7 @@ jobs:
|
|
|
107
100
|
steps:
|
|
108
101
|
- checkout
|
|
109
102
|
- ruby/install-deps:
|
|
103
|
+
bundler-version: "2.3.3"
|
|
110
104
|
with-cache: false
|
|
111
105
|
path: './vendor/custom_bundle'
|
|
112
106
|
- run:
|
|
@@ -127,4 +121,4 @@ workflows:
|
|
|
127
121
|
- compatibility-ruby:
|
|
128
122
|
matrix:
|
|
129
123
|
parameters:
|
|
130
|
-
ruby-version: ["2.6", "2.7", "3.0"]
|
|
124
|
+
ruby-version: ["2.6", "2.7", "3.0", "3.1"]
|
data/.codeclimate.yml
CHANGED
data/.gitignore
CHANGED
data/.reek.yml
CHANGED
|
@@ -14,6 +14,7 @@ detectors:
|
|
|
14
14
|
- Truemail::Validate::Mx#hosts_from_cname_records
|
|
15
15
|
- Truemail::Configuration#logger=
|
|
16
16
|
- Truemail::Validate::Smtp::Request#initialize
|
|
17
|
+
- Truemail::Validate::Smtp::Request::Session#initialize
|
|
17
18
|
|
|
18
19
|
TooManyInstanceVariables:
|
|
19
20
|
exclude:
|
|
@@ -47,6 +48,7 @@ detectors:
|
|
|
47
48
|
- Truemail::Validate::Mx#null_mx?
|
|
48
49
|
- Truemail::Validate::Mx#a_record
|
|
49
50
|
- Truemail::Validate::Smtp::Request#compose_from
|
|
51
|
+
- Truemail::Validate::Smtp::Request::Session#old_net_smtp?
|
|
50
52
|
|
|
51
53
|
ControlParameter:
|
|
52
54
|
exclude:
|
data/.rubocop.yml
CHANGED
|
@@ -31,6 +31,9 @@ Naming/RescuedExceptionsVariableName:
|
|
|
31
31
|
Naming/InclusiveLanguage:
|
|
32
32
|
Enabled: false
|
|
33
33
|
|
|
34
|
+
Naming/BlockForwarding:
|
|
35
|
+
Enabled: true
|
|
36
|
+
|
|
34
37
|
Style/Documentation:
|
|
35
38
|
Enabled: false
|
|
36
39
|
|
|
@@ -178,6 +181,18 @@ Style/NumberedParametersLimit:
|
|
|
178
181
|
Style/SelectByRegexp:
|
|
179
182
|
Enabled: true
|
|
180
183
|
|
|
184
|
+
Style/OpenStructUse:
|
|
185
|
+
Enabled: true
|
|
186
|
+
|
|
187
|
+
Style/FileRead:
|
|
188
|
+
Enabled: true
|
|
189
|
+
|
|
190
|
+
Style/FileWrite:
|
|
191
|
+
Enabled: true
|
|
192
|
+
|
|
193
|
+
Style/MapToHash:
|
|
194
|
+
Enabled: true
|
|
195
|
+
|
|
181
196
|
Layout/LineLength:
|
|
182
197
|
Max: 140
|
|
183
198
|
|
|
@@ -350,9 +365,18 @@ Lint/IncompatibleIoSelectWithFiberScheduler:
|
|
|
350
365
|
Lint/RequireRelativeSelfPath:
|
|
351
366
|
Enabled: true
|
|
352
367
|
|
|
368
|
+
Lint/UselessRuby2Keywords:
|
|
369
|
+
Enabled: true
|
|
370
|
+
|
|
353
371
|
Gemspec/DateAssignment:
|
|
354
372
|
Enabled: true
|
|
355
373
|
|
|
374
|
+
Gemspec/RequireMFA:
|
|
375
|
+
Enabled: false
|
|
376
|
+
|
|
377
|
+
Gemspec/RubyVersionGlobalsUsage:
|
|
378
|
+
Enabled: false
|
|
379
|
+
|
|
356
380
|
Security/IoMethods:
|
|
357
381
|
Enabled: true
|
|
358
382
|
|
|
@@ -404,6 +428,12 @@ Performance/RedundantSplitRegexpArgument:
|
|
|
404
428
|
Performance/MapCompact:
|
|
405
429
|
Enabled: true
|
|
406
430
|
|
|
431
|
+
Performance/ConcurrentMonotonicTime:
|
|
432
|
+
Enabled: true
|
|
433
|
+
|
|
434
|
+
Performance/StringIdentifierArgument:
|
|
435
|
+
Enabled: true
|
|
436
|
+
|
|
407
437
|
RSpec/ExampleLength:
|
|
408
438
|
Enabled: false
|
|
409
439
|
|
|
@@ -445,3 +475,6 @@ RSpec/ExcessiveDocstringSpacing:
|
|
|
445
475
|
|
|
446
476
|
RSpec/SubjectDeclaration:
|
|
447
477
|
Enabled: true
|
|
478
|
+
|
|
479
|
+
RSpec/FactoryBot/SyntaxMethods:
|
|
480
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,57 @@
|
|
|
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.6.1] - 2022.01.04
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed redefining builtin implementations caused using stdlib as external dependencies. Thanks [@allard](https://github.com/allard) for report.
|
|
10
|
+
|
|
11
|
+
### Updated
|
|
12
|
+
|
|
13
|
+
- Updated `Truemail::Validate::Smtp::Request::Session#initialize`, `Truemail::Validate::Smtp::Request::Session#start`, tests
|
|
14
|
+
- Updated rubocop/reek configs
|
|
15
|
+
- Updated gem docs, version
|
|
16
|
+
|
|
17
|
+
## [2.6.0] - 2021.12.28
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Added Ruby 3.1.x compatibility
|
|
22
|
+
- Added `Truemail::Validate::Smtp::Request::Session` - `Net::SMTP` wrapper, tests
|
|
23
|
+
|
|
24
|
+
### Updated
|
|
25
|
+
|
|
26
|
+
- Updated `Truemail::Validate::Smtp::Request#session`, `Truemail::Validate::Smtp::Request#run`, tests
|
|
27
|
+
- Updated rubocop/reek/codeclimate/circleci configs
|
|
28
|
+
- Updated gem runtime/development dependencies
|
|
29
|
+
- Updated gem docs, version
|
|
30
|
+
|
|
31
|
+
## [2.5.4] - 2021.12.03
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- `Net::SMTP#start` Ruby 2.x compatibility. Thanks [@evserykh](https://github.com/evserykh) for bug report.
|
|
36
|
+
|
|
37
|
+
### Updated
|
|
38
|
+
|
|
39
|
+
- Updated `Truemail::Validate::Smtp::Request#run`
|
|
40
|
+
- Updated rubocop/codeclimate configs
|
|
41
|
+
- Updated gem development dependencies
|
|
42
|
+
- Updated gem docs, version
|
|
43
|
+
|
|
44
|
+
## [2.5.3] - 2021.11.08
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- Fixed Ruby 3.0 stdlib SMTP client SSL certificate verification issues for cases when IP address uses as MX host. Thanks [@esb](https://github.com/esb) for bug report.
|
|
49
|
+
|
|
50
|
+
### Updated
|
|
51
|
+
|
|
52
|
+
- Updated `Truemail::Validate::Smtp::Request#run`
|
|
53
|
+
- Updated gem development dependencies
|
|
54
|
+
- Updated gem version
|
|
55
|
+
|
|
5
56
|
## [2.5.2] - 2021.10.06
|
|
6
57
|
|
|
7
58
|
### Fixed
|
data/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://circleci.com/gh/truemail-rb/truemail/tree/master)
|
|
6
6
|
[](https://badge.fury.io/rb/truemail)
|
|
7
7
|
[](https://rubygems.org/gems/truemail)
|
|
8
|
-
[](https://github.com/markets/awesome-ruby)
|
|
9
9
|
[](https://gitter.im/truemail-rb/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
10
10
|
[](LICENSE.txt)
|
|
11
11
|
[](CODE_OF_CONDUCT.md)
|
|
@@ -81,7 +81,6 @@ Also Truemail gem allows performing an audit of the host in which runs.
|
|
|
81
81
|
## Features
|
|
82
82
|
|
|
83
83
|
- Configurable validator, validate only what you need
|
|
84
|
-
- Only one runtime dependency
|
|
85
84
|
- Supporting of internationalized emails ([EAI](https://en.wikipedia.org/wiki/Email_address#Internationalization))
|
|
86
85
|
- Whitelist/blacklist validation layers
|
|
87
86
|
- Ability to configure different MX/SMTP validation flows
|
|
@@ -4,8 +4,6 @@ module Truemail
|
|
|
4
4
|
module Validate
|
|
5
5
|
class Smtp
|
|
6
6
|
class Request
|
|
7
|
-
require 'net/smtp'
|
|
8
|
-
|
|
9
7
|
SMTP_PORT = 25
|
|
10
8
|
CONNECTION_TIMEOUT_ERROR = 'connection timed out'
|
|
11
9
|
RESPONSE_TIMEOUT_ERROR = 'server response timeout'
|
|
@@ -35,10 +33,7 @@ module Truemail
|
|
|
35
33
|
end
|
|
36
34
|
|
|
37
35
|
def run
|
|
38
|
-
session.start(
|
|
39
|
-
response.connection = response.helo = true
|
|
40
|
-
smtp_handshakes(smtp_request, response)
|
|
41
|
-
end
|
|
36
|
+
session.start(verifier_domain, &session_actions)
|
|
42
37
|
rescue => error
|
|
43
38
|
retry if attempts_exist?
|
|
44
39
|
assign_error(attribute: :connection, message: compose_from(error))
|
|
@@ -57,6 +52,40 @@ module Truemail
|
|
|
57
52
|
end
|
|
58
53
|
end
|
|
59
54
|
|
|
55
|
+
class Session
|
|
56
|
+
require 'net/smtp'
|
|
57
|
+
|
|
58
|
+
UNDEFINED_VERSION = '0.0.0'
|
|
59
|
+
|
|
60
|
+
def initialize(host, port, connection_timeout, response_timeout, net_class = ::Net::SMTP)
|
|
61
|
+
@net_class = net_class
|
|
62
|
+
@net_smtp_version = resolve_net_smtp_version
|
|
63
|
+
@net_smtp = (old_net_smtp? ? net_class.new(host, port) : net_class.new(host, port, tls_verify: false)).tap do |settings|
|
|
64
|
+
settings.open_timeout = connection_timeout
|
|
65
|
+
settings.read_timeout = response_timeout
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def start(helo_domain, &block)
|
|
70
|
+
return net_smtp.start(helo_domain, &block) if net_smtp_version < '0.2.0'
|
|
71
|
+
return net_smtp.start(helo_domain, tls_verify: false, &block) if old_net_smtp?
|
|
72
|
+
net_smtp.start(helo: helo_domain, &block)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
private
|
|
76
|
+
|
|
77
|
+
attr_reader :net_class, :net_smtp_version, :net_smtp
|
|
78
|
+
|
|
79
|
+
def resolve_net_smtp_version
|
|
80
|
+
return net_class::VERSION if net_class.const_defined?(:VERSION)
|
|
81
|
+
Truemail::Validate::Smtp::Request::Session::UNDEFINED_VERSION
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def old_net_smtp?
|
|
85
|
+
net_smtp_version < '0.3.0'
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
60
89
|
attr_reader :attempts, :port_open_status
|
|
61
90
|
|
|
62
91
|
def attempts_exist?
|
|
@@ -65,10 +94,12 @@ module Truemail
|
|
|
65
94
|
end
|
|
66
95
|
|
|
67
96
|
def session
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
97
|
+
Truemail::Validate::Smtp::Request::Session.new(
|
|
98
|
+
host,
|
|
99
|
+
Truemail::Validate::Smtp::Request::SMTP_PORT,
|
|
100
|
+
configuration.connection_timeout,
|
|
101
|
+
configuration.response_timeout
|
|
102
|
+
)
|
|
72
103
|
end
|
|
73
104
|
|
|
74
105
|
def compose_from(error)
|
|
@@ -86,10 +117,7 @@ module Truemail
|
|
|
86
117
|
end
|
|
87
118
|
|
|
88
119
|
def session_data
|
|
89
|
-
{
|
|
90
|
-
mailfrom: configuration.verifier_email,
|
|
91
|
-
rcptto: email
|
|
92
|
-
}
|
|
120
|
+
{ mailfrom: configuration.verifier_email, rcptto: email }
|
|
93
121
|
end
|
|
94
122
|
|
|
95
123
|
def smtp_resolver(smtp_request, method, value)
|
|
@@ -98,6 +126,17 @@ module Truemail
|
|
|
98
126
|
assign_error(attribute: method, message: compose_from(error))
|
|
99
127
|
end
|
|
100
128
|
|
|
129
|
+
def verifier_domain
|
|
130
|
+
configuration.verifier_domain
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def session_actions
|
|
134
|
+
lambda { |smtp_request|
|
|
135
|
+
response.connection = response.helo = true
|
|
136
|
+
smtp_handshakes(smtp_request, response)
|
|
137
|
+
}
|
|
138
|
+
end
|
|
139
|
+
|
|
101
140
|
def smtp_handshakes(smtp_request, smtp_response)
|
|
102
141
|
session_data.all? do |method, value|
|
|
103
142
|
smtp_response.public_send(:"#{method}=", smtp_resolver(smtp_request, method, value))
|
data/lib/truemail/version.rb
CHANGED
data/truemail.gemspec
CHANGED
|
@@ -31,11 +31,11 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
|
|
32
32
|
spec.require_paths = ['lib']
|
|
33
33
|
|
|
34
|
+
spec.add_runtime_dependency 'net-smtp', '~> 0.3' if ::RUBY_VERSION >= '3.1.0'
|
|
34
35
|
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
|
35
36
|
|
|
36
|
-
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.28'
|
|
37
37
|
spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
|
|
38
|
-
spec.add_development_dependency 'dns_mock', '~> 1.4', '>= 1.4.
|
|
38
|
+
spec.add_development_dependency 'dns_mock', '~> 1.4', '>= 1.4.4'
|
|
39
39
|
spec.add_development_dependency 'fasterer', '~> 0.9.0'
|
|
40
40
|
spec.add_development_dependency 'ffaker', '~> 2.20'
|
|
41
41
|
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
|
|
@@ -44,9 +44,9 @@ Gem::Specification.new do |spec|
|
|
|
44
44
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
|
45
45
|
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.6'
|
|
46
46
|
spec.add_development_dependency 'rspec', '~> 3.10'
|
|
47
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
|
48
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.
|
|
49
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.
|
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.24'
|
|
48
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.13'
|
|
49
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.7'
|
|
50
50
|
spec.add_development_dependency 'simplecov', '~> 0.17.1'
|
|
51
51
|
spec.add_development_dependency 'truemail-rspec', '~> 0.7.0'
|
|
52
52
|
spec.add_development_dependency 'webmock', '~> 3.14'
|
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
|
+
version: 2.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vladislav Trotsenko
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: simpleidn
|
|
@@ -24,26 +24,6 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 0.2.1
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: bundler
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '2.2'
|
|
34
|
-
- - ">="
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: 2.2.28
|
|
37
|
-
type: :development
|
|
38
|
-
prerelease: false
|
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
-
requirements:
|
|
41
|
-
- - "~>"
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
version: '2.2'
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: 2.2.28
|
|
47
27
|
- !ruby/object:Gem::Dependency
|
|
48
28
|
name: bundler-audit
|
|
49
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -67,7 +47,7 @@ dependencies:
|
|
|
67
47
|
version: '1.4'
|
|
68
48
|
- - ">="
|
|
69
49
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: 1.4.
|
|
50
|
+
version: 1.4.4
|
|
71
51
|
type: :development
|
|
72
52
|
prerelease: false
|
|
73
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -77,7 +57,7 @@ dependencies:
|
|
|
77
57
|
version: '1.4'
|
|
78
58
|
- - ">="
|
|
79
59
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: 1.4.
|
|
60
|
+
version: 1.4.4
|
|
81
61
|
- !ruby/object:Gem::Dependency
|
|
82
62
|
name: fasterer
|
|
83
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -208,54 +188,42 @@ dependencies:
|
|
|
208
188
|
requirements:
|
|
209
189
|
- - "~>"
|
|
210
190
|
- !ruby/object:Gem::Version
|
|
211
|
-
version: '1.
|
|
212
|
-
- - ">="
|
|
213
|
-
- !ruby/object:Gem::Version
|
|
214
|
-
version: 1.22.1
|
|
191
|
+
version: '1.24'
|
|
215
192
|
type: :development
|
|
216
193
|
prerelease: false
|
|
217
194
|
version_requirements: !ruby/object:Gem::Requirement
|
|
218
195
|
requirements:
|
|
219
196
|
- - "~>"
|
|
220
197
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: '1.
|
|
222
|
-
- - ">="
|
|
223
|
-
- !ruby/object:Gem::Version
|
|
224
|
-
version: 1.22.1
|
|
198
|
+
version: '1.24'
|
|
225
199
|
- !ruby/object:Gem::Dependency
|
|
226
200
|
name: rubocop-performance
|
|
227
201
|
requirement: !ruby/object:Gem::Requirement
|
|
228
202
|
requirements:
|
|
229
203
|
- - "~>"
|
|
230
204
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: '1.
|
|
232
|
-
- - ">="
|
|
233
|
-
- !ruby/object:Gem::Version
|
|
234
|
-
version: 1.11.5
|
|
205
|
+
version: '1.13'
|
|
235
206
|
type: :development
|
|
236
207
|
prerelease: false
|
|
237
208
|
version_requirements: !ruby/object:Gem::Requirement
|
|
238
209
|
requirements:
|
|
239
210
|
- - "~>"
|
|
240
211
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: '1.
|
|
242
|
-
- - ">="
|
|
243
|
-
- !ruby/object:Gem::Version
|
|
244
|
-
version: 1.11.5
|
|
212
|
+
version: '1.13'
|
|
245
213
|
- !ruby/object:Gem::Dependency
|
|
246
214
|
name: rubocop-rspec
|
|
247
215
|
requirement: !ruby/object:Gem::Requirement
|
|
248
216
|
requirements:
|
|
249
217
|
- - "~>"
|
|
250
218
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: '2.
|
|
219
|
+
version: '2.7'
|
|
252
220
|
type: :development
|
|
253
221
|
prerelease: false
|
|
254
222
|
version_requirements: !ruby/object:Gem::Requirement
|
|
255
223
|
requirements:
|
|
256
224
|
- - "~>"
|
|
257
225
|
- !ruby/object:Gem::Version
|
|
258
|
-
version: '2.
|
|
226
|
+
version: '2.7'
|
|
259
227
|
- !ruby/object:Gem::Dependency
|
|
260
228
|
name: simplecov
|
|
261
229
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -325,7 +293,6 @@ files:
|
|
|
325
293
|
- CODE_OF_CONDUCT.md
|
|
326
294
|
- CONTRIBUTING.md
|
|
327
295
|
- Gemfile
|
|
328
|
-
- Gemfile.lock
|
|
329
296
|
- LICENSE.txt
|
|
330
297
|
- README.md
|
|
331
298
|
- Rakefile
|
data/Gemfile.lock
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
truemail (2.5.2)
|
|
5
|
-
simpleidn (~> 0.2.1)
|
|
6
|
-
|
|
7
|
-
GEM
|
|
8
|
-
remote: https://rubygems.org/
|
|
9
|
-
specs:
|
|
10
|
-
addressable (2.8.0)
|
|
11
|
-
public_suffix (>= 2.0.2, < 5.0)
|
|
12
|
-
ast (2.4.2)
|
|
13
|
-
bundler-audit (0.9.0.1)
|
|
14
|
-
bundler (>= 1.2.0, < 3)
|
|
15
|
-
thor (~> 1.0)
|
|
16
|
-
byebug (11.1.3)
|
|
17
|
-
childprocess (4.1.0)
|
|
18
|
-
coderay (1.1.3)
|
|
19
|
-
colorize (0.8.1)
|
|
20
|
-
crack (0.4.5)
|
|
21
|
-
rexml
|
|
22
|
-
diff-lcs (1.4.4)
|
|
23
|
-
dns_mock (1.4.2)
|
|
24
|
-
simpleidn (~> 0.2.1)
|
|
25
|
-
docile (1.4.0)
|
|
26
|
-
fasterer (0.9.0)
|
|
27
|
-
colorize (~> 0.7)
|
|
28
|
-
ruby_parser (>= 3.14.1)
|
|
29
|
-
ffaker (2.20.0)
|
|
30
|
-
hashdiff (1.0.1)
|
|
31
|
-
iniparse (1.5.0)
|
|
32
|
-
json (2.5.1)
|
|
33
|
-
json_matchers (0.11.1)
|
|
34
|
-
json_schema
|
|
35
|
-
json_schema (0.21.0)
|
|
36
|
-
kwalify (0.7.2)
|
|
37
|
-
method_source (1.0.0)
|
|
38
|
-
overcommit (0.58.0)
|
|
39
|
-
childprocess (>= 0.6.3, < 5)
|
|
40
|
-
iniparse (~> 1.4)
|
|
41
|
-
rexml (~> 3.2)
|
|
42
|
-
parallel (1.21.0)
|
|
43
|
-
parser (3.0.2.0)
|
|
44
|
-
ast (~> 2.4.1)
|
|
45
|
-
pry (0.13.1)
|
|
46
|
-
coderay (~> 1.1)
|
|
47
|
-
method_source (~> 1.0)
|
|
48
|
-
pry-byebug (3.9.0)
|
|
49
|
-
byebug (~> 11.0)
|
|
50
|
-
pry (~> 0.13.0)
|
|
51
|
-
public_suffix (4.0.6)
|
|
52
|
-
rainbow (3.0.0)
|
|
53
|
-
rake (13.0.6)
|
|
54
|
-
reek (6.0.6)
|
|
55
|
-
kwalify (~> 0.7.0)
|
|
56
|
-
parser (~> 3.0.0)
|
|
57
|
-
rainbow (>= 2.0, < 4.0)
|
|
58
|
-
regexp_parser (2.1.1)
|
|
59
|
-
rexml (3.2.5)
|
|
60
|
-
rspec (3.10.0)
|
|
61
|
-
rspec-core (~> 3.10.0)
|
|
62
|
-
rspec-expectations (~> 3.10.0)
|
|
63
|
-
rspec-mocks (~> 3.10.0)
|
|
64
|
-
rspec-core (3.10.1)
|
|
65
|
-
rspec-support (~> 3.10.0)
|
|
66
|
-
rspec-expectations (3.10.1)
|
|
67
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
68
|
-
rspec-support (~> 3.10.0)
|
|
69
|
-
rspec-mocks (3.10.2)
|
|
70
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
71
|
-
rspec-support (~> 3.10.0)
|
|
72
|
-
rspec-support (3.10.2)
|
|
73
|
-
rubocop (1.22.1)
|
|
74
|
-
parallel (~> 1.10)
|
|
75
|
-
parser (>= 3.0.0.0)
|
|
76
|
-
rainbow (>= 2.2.2, < 4.0)
|
|
77
|
-
regexp_parser (>= 1.8, < 3.0)
|
|
78
|
-
rexml
|
|
79
|
-
rubocop-ast (>= 1.12.0, < 2.0)
|
|
80
|
-
ruby-progressbar (~> 1.7)
|
|
81
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
|
82
|
-
rubocop-ast (1.12.0)
|
|
83
|
-
parser (>= 3.0.1.1)
|
|
84
|
-
rubocop-performance (1.11.5)
|
|
85
|
-
rubocop (>= 1.7.0, < 2.0)
|
|
86
|
-
rubocop-ast (>= 0.4.0)
|
|
87
|
-
rubocop-rspec (2.5.0)
|
|
88
|
-
rubocop (~> 1.19)
|
|
89
|
-
ruby-progressbar (1.11.0)
|
|
90
|
-
ruby_parser (3.17.0)
|
|
91
|
-
sexp_processor (~> 4.15, >= 4.15.1)
|
|
92
|
-
sexp_processor (4.15.3)
|
|
93
|
-
simplecov (0.17.1)
|
|
94
|
-
docile (~> 1.1)
|
|
95
|
-
json (>= 1.8, < 3)
|
|
96
|
-
simplecov-html (~> 0.10.0)
|
|
97
|
-
simplecov-html (0.10.2)
|
|
98
|
-
simpleidn (0.2.1)
|
|
99
|
-
unf (~> 0.1.4)
|
|
100
|
-
thor (1.1.0)
|
|
101
|
-
truemail-rspec (0.7.0)
|
|
102
|
-
ffaker (~> 2.18)
|
|
103
|
-
rspec (~> 3.10)
|
|
104
|
-
truemail (>= 2.4)
|
|
105
|
-
unf (0.1.4)
|
|
106
|
-
unf_ext
|
|
107
|
-
unf_ext (0.0.8)
|
|
108
|
-
unicode-display_width (2.1.0)
|
|
109
|
-
webmock (3.14.0)
|
|
110
|
-
addressable (>= 2.8.0)
|
|
111
|
-
crack (>= 0.3.2)
|
|
112
|
-
hashdiff (>= 0.4.0, < 2.0.0)
|
|
113
|
-
|
|
114
|
-
PLATFORMS
|
|
115
|
-
x86_64-darwin-20
|
|
116
|
-
|
|
117
|
-
DEPENDENCIES
|
|
118
|
-
bundler (~> 2.2, >= 2.2.28)
|
|
119
|
-
bundler-audit (~> 0.9.0.1)
|
|
120
|
-
dns_mock (~> 1.4, >= 1.4.2)
|
|
121
|
-
fasterer (~> 0.9.0)
|
|
122
|
-
ffaker (~> 2.20)
|
|
123
|
-
json_matchers (~> 0.11.1)
|
|
124
|
-
overcommit (~> 0.58.0)
|
|
125
|
-
pry-byebug (~> 3.9)
|
|
126
|
-
rake (~> 13.0, >= 13.0.6)
|
|
127
|
-
reek (~> 6.0, >= 6.0.6)
|
|
128
|
-
rspec (~> 3.10)
|
|
129
|
-
rubocop (~> 1.22, >= 1.22.1)
|
|
130
|
-
rubocop-performance (~> 1.11, >= 1.11.5)
|
|
131
|
-
rubocop-rspec (~> 2.5)
|
|
132
|
-
simplecov (~> 0.17.1)
|
|
133
|
-
truemail!
|
|
134
|
-
truemail-rspec (~> 0.7.0)
|
|
135
|
-
webmock (~> 3.14)
|
|
136
|
-
|
|
137
|
-
BUNDLED WITH
|
|
138
|
-
2.2.28
|