truemail 2.5.4 → 2.6.3
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 +23 -14
- data/.circleci/gemspec_compatible +45 -0
- data/.codeclimate.yml +1 -1
- data/.gitignore +1 -0
- data/.reek.yml +2 -0
- data/.rubocop.yml +24 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +43 -1
- data/LICENSE.txt +1 -1
- data/README.md +1 -2
- data/lib/truemail/validate/smtp/request.rb +41 -11
- data/lib/truemail/version.rb +1 -1
- data/truemail.gemspec +8 -7
- metadata +51 -37
- 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: bbb2d9630215af20240094bdc063d272d7787670ff579f4bd2652be3616bc1a9
|
|
4
|
+
data.tar.gz: b0424ab7bc9926a44480db7ecce6313872924ca580c997bcf3c185bc84b50c52
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '093bafff629de5295588da40e632a4641a8f5ccfd010739e7c1bfb637186af3758d37a11e2c677711156e3c2d100a4745ae46b72183d2c2e3514a73044808fa4'
|
|
7
|
+
data.tar.gz: 59e2e50a9293cbc182b2150af45166866498f8f08d2afafc53685749e4ef188f739ec96af9523ca68bbe10031c9bd7077b2fb4b0efb26ab62f5b7b294c4586df
|
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.4.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:
|
|
@@ -32,6 +27,12 @@ references:
|
|
|
32
27
|
paths:
|
|
33
28
|
- vendor/bundle
|
|
34
29
|
|
|
30
|
+
system_dependencies: &system_dependencies
|
|
31
|
+
run:
|
|
32
|
+
name: Installing system requirements
|
|
33
|
+
command: |
|
|
34
|
+
bundle exec smtp_mock -s -i ~
|
|
35
|
+
|
|
35
36
|
install_codeclimate_reporter: &install_codeclimate_reporter
|
|
36
37
|
run:
|
|
37
38
|
name: Installing CodeClimate test reporter
|
|
@@ -39,6 +40,12 @@ references:
|
|
|
39
40
|
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
40
41
|
chmod +x ./cc-test-reporter
|
|
41
42
|
|
|
43
|
+
use_compatible_gemspec: &use_compatible_gemspec
|
|
44
|
+
run:
|
|
45
|
+
name: Use compatible gemspec
|
|
46
|
+
command: |
|
|
47
|
+
cp .circleci/gemspec_compatible truemail.gemspec
|
|
48
|
+
|
|
42
49
|
jobs:
|
|
43
50
|
linters-ruby:
|
|
44
51
|
parameters:
|
|
@@ -50,7 +57,6 @@ jobs:
|
|
|
50
57
|
steps:
|
|
51
58
|
- checkout
|
|
52
59
|
|
|
53
|
-
- <<: *install_bundler
|
|
54
60
|
- <<: *restore_bundle_cache
|
|
55
61
|
- <<: *bundle_install
|
|
56
62
|
- <<: *save_bundle_cache
|
|
@@ -71,10 +77,10 @@ jobs:
|
|
|
71
77
|
steps:
|
|
72
78
|
- checkout
|
|
73
79
|
|
|
74
|
-
- <<: *install_bundler
|
|
75
80
|
- <<: *restore_bundle_cache
|
|
76
81
|
- <<: *bundle_install
|
|
77
82
|
- <<: *save_bundle_cache
|
|
83
|
+
- <<: *system_dependencies
|
|
78
84
|
- <<: *install_codeclimate_reporter
|
|
79
85
|
|
|
80
86
|
- run:
|
|
@@ -106,9 +112,12 @@ jobs:
|
|
|
106
112
|
- image: cimg/ruby:<< parameters.ruby-version >>
|
|
107
113
|
steps:
|
|
108
114
|
- checkout
|
|
115
|
+
- <<: *use_compatible_gemspec
|
|
109
116
|
- ruby/install-deps:
|
|
117
|
+
bundler-version: "2.3.5"
|
|
110
118
|
with-cache: false
|
|
111
119
|
path: './vendor/custom_bundle'
|
|
120
|
+
- <<: *system_dependencies
|
|
112
121
|
- run:
|
|
113
122
|
name: Running compatibility tests
|
|
114
123
|
command: bundle exec rspec
|
|
@@ -119,12 +128,12 @@ workflows:
|
|
|
119
128
|
- linters-ruby:
|
|
120
129
|
matrix:
|
|
121
130
|
parameters:
|
|
122
|
-
ruby-version: ["
|
|
131
|
+
ruby-version: ["3.1"]
|
|
123
132
|
- tests-ruby:
|
|
124
133
|
matrix:
|
|
125
134
|
parameters:
|
|
126
|
-
ruby-version: ["
|
|
135
|
+
ruby-version: ["3.1"]
|
|
127
136
|
- compatibility-ruby:
|
|
128
137
|
matrix:
|
|
129
138
|
parameters:
|
|
130
|
-
ruby-version: ["2.6", "2.7", "3.0"]
|
|
139
|
+
ruby-version: ["2.5", "2.6", "2.7", "3.0"]
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
+
require 'truemail/version'
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |spec|
|
|
8
|
+
spec.name = 'truemail'
|
|
9
|
+
spec.version = Truemail::VERSION
|
|
10
|
+
spec.authors = ['Vladislav Trotsenko']
|
|
11
|
+
spec.email = ['admin@bestweb.com.ua']
|
|
12
|
+
|
|
13
|
+
spec.summary = %(truemail)
|
|
14
|
+
spec.description = %(Configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS, SMTP and even more.)
|
|
15
|
+
|
|
16
|
+
spec.homepage = 'https://github.com/truemail-rb/truemail'
|
|
17
|
+
spec.license = 'MIT'
|
|
18
|
+
|
|
19
|
+
spec.metadata = {
|
|
20
|
+
'homepage_uri' => 'https://truemail-rb.org',
|
|
21
|
+
'changelog_uri' => 'https://github.com/truemail-rb/truemail/blob/master/CHANGELOG.md',
|
|
22
|
+
'source_code_uri' => 'https://github.com/truemail-rb/truemail',
|
|
23
|
+
'documentation_uri' => 'https://truemail-rb.org/truemail-gem',
|
|
24
|
+
'bug_tracker_uri' => 'https://github.com/truemail-rb/truemail/issues'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
spec.required_ruby_version = '>= 2.5.0'
|
|
28
|
+
|
|
29
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
30
|
+
spec.bindir = 'exe'
|
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
|
|
32
|
+
spec.require_paths = ['lib']
|
|
33
|
+
|
|
34
|
+
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
|
35
|
+
|
|
36
|
+
spec.add_development_dependency 'dns_mock', '~> 1.5'
|
|
37
|
+
spec.add_development_dependency 'ffaker', '~> 2.20'
|
|
38
|
+
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
|
|
39
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
|
40
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
|
41
|
+
spec.add_development_dependency 'rspec', '~> 3.10'
|
|
42
|
+
spec.add_development_dependency 'smtp_mock', '~> 1.0'
|
|
43
|
+
spec.add_development_dependency 'truemail-rspec', '~> 0.7.0'
|
|
44
|
+
spec.add_development_dependency 'webmock', '~> 3.14'
|
|
45
|
+
end
|
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
|
|
|
@@ -181,6 +184,15 @@ Style/SelectByRegexp:
|
|
|
181
184
|
Style/OpenStructUse:
|
|
182
185
|
Enabled: true
|
|
183
186
|
|
|
187
|
+
Style/FileRead:
|
|
188
|
+
Enabled: true
|
|
189
|
+
|
|
190
|
+
Style/FileWrite:
|
|
191
|
+
Enabled: true
|
|
192
|
+
|
|
193
|
+
Style/MapToHash:
|
|
194
|
+
Enabled: true
|
|
195
|
+
|
|
184
196
|
Layout/LineLength:
|
|
185
197
|
Max: 140
|
|
186
198
|
|
|
@@ -362,6 +374,9 @@ Gemspec/DateAssignment:
|
|
|
362
374
|
Gemspec/RequireMFA:
|
|
363
375
|
Enabled: false
|
|
364
376
|
|
|
377
|
+
Gemspec/RubyVersionGlobalsUsage:
|
|
378
|
+
Enabled: false
|
|
379
|
+
|
|
365
380
|
Security/IoMethods:
|
|
366
381
|
Enabled: true
|
|
367
382
|
|
|
@@ -416,6 +431,9 @@ Performance/MapCompact:
|
|
|
416
431
|
Performance/ConcurrentMonotonicTime:
|
|
417
432
|
Enabled: true
|
|
418
433
|
|
|
434
|
+
Performance/StringIdentifierArgument:
|
|
435
|
+
Enabled: true
|
|
436
|
+
|
|
419
437
|
RSpec/ExampleLength:
|
|
420
438
|
Enabled: false
|
|
421
439
|
|
|
@@ -457,3 +475,9 @@ RSpec/ExcessiveDocstringSpacing:
|
|
|
457
475
|
|
|
458
476
|
RSpec/SubjectDeclaration:
|
|
459
477
|
Enabled: true
|
|
478
|
+
|
|
479
|
+
RSpec/FactoryBot/SyntaxMethods:
|
|
480
|
+
Enabled: true
|
|
481
|
+
|
|
482
|
+
RSpec/SubjectStub:
|
|
483
|
+
Enabled: false
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-
|
|
1
|
+
ruby-3.1.0
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,48 @@
|
|
|
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.3] - 2022.02.07
|
|
6
|
+
|
|
7
|
+
### Updated
|
|
8
|
+
|
|
9
|
+
- Updated gem `net-smtp` runtime dependency
|
|
10
|
+
- Updated gem development dependencies
|
|
11
|
+
- Updated gem version
|
|
12
|
+
|
|
13
|
+
## [2.6.2] - 2022.01.19
|
|
14
|
+
|
|
15
|
+
### Updated
|
|
16
|
+
|
|
17
|
+
- Updated tests
|
|
18
|
+
- Updated gem development dependencies
|
|
19
|
+
- Updated gem version
|
|
20
|
+
|
|
21
|
+
## [2.6.1] - 2022.01.04
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Fixed redefining builtin implementations caused using stdlib as external dependencies. Thanks [@allard](https://github.com/allard) for report.
|
|
26
|
+
|
|
27
|
+
### Updated
|
|
28
|
+
|
|
29
|
+
- Updated `Truemail::Validate::Smtp::Request::Session#initialize`, `Truemail::Validate::Smtp::Request::Session#start`, tests
|
|
30
|
+
- Updated rubocop/reek configs
|
|
31
|
+
- Updated gem docs, version
|
|
32
|
+
|
|
33
|
+
## [2.6.0] - 2021.12.28
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- Added Ruby 3.1.x compatibility
|
|
38
|
+
- Added `Truemail::Validate::Smtp::Request::Session` - `Net::SMTP` wrapper, tests
|
|
39
|
+
|
|
40
|
+
### Updated
|
|
41
|
+
|
|
42
|
+
- Updated `Truemail::Validate::Smtp::Request#session`, `Truemail::Validate::Smtp::Request#run`, tests
|
|
43
|
+
- Updated rubocop/reek/codeclimate/circleci configs
|
|
44
|
+
- Updated gem runtime/development dependencies
|
|
45
|
+
- Updated gem docs, version
|
|
46
|
+
|
|
5
47
|
## [2.5.4] - 2021.12.03
|
|
6
48
|
|
|
7
49
|
### Fixed
|
|
@@ -19,7 +61,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
19
61
|
|
|
20
62
|
### Fixed
|
|
21
63
|
|
|
22
|
-
- 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.
|
|
64
|
+
- 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.
|
|
23
65
|
|
|
24
66
|
### Updated
|
|
25
67
|
|
data/LICENSE.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2019-
|
|
3
|
+
Copyright (c) 2019-2022 Vladislav Trotsenko
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -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
|
|
@@ -1388,7 +1387,7 @@ All Truemail solutions: https://truemail-rb.org
|
|
|
1388
1387
|
|
|
1389
1388
|
## Contributing
|
|
1390
1389
|
|
|
1391
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/truemail-rb/truemail. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. Please check the [open
|
|
1390
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/truemail-rb/truemail. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. Please check the [open tickets](https://github.com/truemail-rb/truemail/issues). Be sure to follow Contributor Code of Conduct below and our [Contributing Guidelines](CONTRIBUTING.md).
|
|
1392
1391
|
|
|
1393
1392
|
## License
|
|
1394
1393
|
|
|
@@ -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,7 +33,6 @@ module Truemail
|
|
|
35
33
|
end
|
|
36
34
|
|
|
37
35
|
def run
|
|
38
|
-
return session.start(verifier_domain, tls_verify: false, &session_actions) if ::RUBY_VERSION[/\A3\..+\z/]
|
|
39
36
|
session.start(verifier_domain, &session_actions)
|
|
40
37
|
rescue => error
|
|
41
38
|
retry if attempts_exist?
|
|
@@ -55,6 +52,40 @@ module Truemail
|
|
|
55
52
|
end
|
|
56
53
|
end
|
|
57
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
|
+
|
|
58
89
|
attr_reader :attempts, :port_open_status
|
|
59
90
|
|
|
60
91
|
def attempts_exist?
|
|
@@ -63,10 +94,12 @@ module Truemail
|
|
|
63
94
|
end
|
|
64
95
|
|
|
65
96
|
def session
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
+
)
|
|
70
103
|
end
|
|
71
104
|
|
|
72
105
|
def compose_from(error)
|
|
@@ -84,10 +117,7 @@ module Truemail
|
|
|
84
117
|
end
|
|
85
118
|
|
|
86
119
|
def session_data
|
|
87
|
-
{
|
|
88
|
-
mailfrom: configuration.verifier_email,
|
|
89
|
-
rcptto: email
|
|
90
|
-
}
|
|
120
|
+
{ mailfrom: configuration.verifier_email, rcptto: email }
|
|
91
121
|
end
|
|
92
122
|
|
|
93
123
|
def smtp_resolver(smtp_request, method, value)
|
data/lib/truemail/version.rb
CHANGED
data/truemail.gemspec
CHANGED
|
@@ -31,23 +31,24 @@ 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.1' 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.32'
|
|
37
37
|
spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
|
|
38
|
-
spec.add_development_dependency 'dns_mock', '~> 1.
|
|
38
|
+
spec.add_development_dependency 'dns_mock', '~> 1.5', '>= 1.5.1'
|
|
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'
|
|
42
42
|
spec.add_development_dependency 'overcommit', '~> 0.58.0'
|
|
43
43
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
|
44
44
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
|
45
|
-
spec.add_development_dependency 'reek', '~> 6.
|
|
45
|
+
spec.add_development_dependency 'reek', '~> 6.1'
|
|
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.
|
|
50
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.25', '>= 1.25.1'
|
|
48
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.2'
|
|
49
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.8'
|
|
50
|
+
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
|
51
|
+
spec.add_development_dependency 'smtp_mock', '~> 1.0'
|
|
51
52
|
spec.add_development_dependency 'truemail-rspec', '~> 0.7.0'
|
|
52
53
|
spec.add_development_dependency 'webmock', '~> 3.14'
|
|
53
54
|
end
|
metadata
CHANGED
|
@@ -1,49 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: truemail
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.3
|
|
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-02-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: net-smtp
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
19
|
+
version: 0.3.1
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.
|
|
26
|
+
version: 0.3.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: simpleidn
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
34
|
-
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: 2.2.32
|
|
37
|
-
type: :development
|
|
33
|
+
version: 0.2.1
|
|
34
|
+
type: :runtime
|
|
38
35
|
prerelease: false
|
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
37
|
requirements:
|
|
41
38
|
- - "~>"
|
|
42
39
|
- !ruby/object:Gem::Version
|
|
43
|
-
version:
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: 2.2.32
|
|
40
|
+
version: 0.2.1
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
|
48
42
|
name: bundler-audit
|
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,20 +58,20 @@ dependencies:
|
|
|
64
58
|
requirements:
|
|
65
59
|
- - "~>"
|
|
66
60
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '1.
|
|
61
|
+
version: '1.5'
|
|
68
62
|
- - ">="
|
|
69
63
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: 1.
|
|
64
|
+
version: 1.5.1
|
|
71
65
|
type: :development
|
|
72
66
|
prerelease: false
|
|
73
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
74
68
|
requirements:
|
|
75
69
|
- - "~>"
|
|
76
70
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '1.
|
|
71
|
+
version: '1.5'
|
|
78
72
|
- - ">="
|
|
79
73
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: 1.
|
|
74
|
+
version: 1.5.1
|
|
81
75
|
- !ruby/object:Gem::Dependency
|
|
82
76
|
name: fasterer
|
|
83
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -174,20 +168,14 @@ dependencies:
|
|
|
174
168
|
requirements:
|
|
175
169
|
- - "~>"
|
|
176
170
|
- !ruby/object:Gem::Version
|
|
177
|
-
version: '6.
|
|
178
|
-
- - ">="
|
|
179
|
-
- !ruby/object:Gem::Version
|
|
180
|
-
version: 6.0.6
|
|
171
|
+
version: '6.1'
|
|
181
172
|
type: :development
|
|
182
173
|
prerelease: false
|
|
183
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
184
175
|
requirements:
|
|
185
176
|
- - "~>"
|
|
186
177
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: '6.
|
|
188
|
-
- - ">="
|
|
189
|
-
- !ruby/object:Gem::Version
|
|
190
|
-
version: 6.0.6
|
|
178
|
+
version: '6.1'
|
|
191
179
|
- !ruby/object:Gem::Dependency
|
|
192
180
|
name: rspec
|
|
193
181
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -208,56 +196,82 @@ dependencies:
|
|
|
208
196
|
requirements:
|
|
209
197
|
- - "~>"
|
|
210
198
|
- !ruby/object:Gem::Version
|
|
211
|
-
version: '1.
|
|
199
|
+
version: '1.25'
|
|
200
|
+
- - ">="
|
|
201
|
+
- !ruby/object:Gem::Version
|
|
202
|
+
version: 1.25.1
|
|
212
203
|
type: :development
|
|
213
204
|
prerelease: false
|
|
214
205
|
version_requirements: !ruby/object:Gem::Requirement
|
|
215
206
|
requirements:
|
|
216
207
|
- - "~>"
|
|
217
208
|
- !ruby/object:Gem::Version
|
|
218
|
-
version: '1.
|
|
209
|
+
version: '1.25'
|
|
210
|
+
- - ">="
|
|
211
|
+
- !ruby/object:Gem::Version
|
|
212
|
+
version: 1.25.1
|
|
219
213
|
- !ruby/object:Gem::Dependency
|
|
220
214
|
name: rubocop-performance
|
|
221
215
|
requirement: !ruby/object:Gem::Requirement
|
|
222
216
|
requirements:
|
|
223
217
|
- - "~>"
|
|
224
218
|
- !ruby/object:Gem::Version
|
|
225
|
-
version: '1.
|
|
219
|
+
version: '1.13'
|
|
220
|
+
- - ">="
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: 1.13.2
|
|
226
223
|
type: :development
|
|
227
224
|
prerelease: false
|
|
228
225
|
version_requirements: !ruby/object:Gem::Requirement
|
|
229
226
|
requirements:
|
|
230
227
|
- - "~>"
|
|
231
228
|
- !ruby/object:Gem::Version
|
|
232
|
-
version: '1.
|
|
229
|
+
version: '1.13'
|
|
230
|
+
- - ">="
|
|
231
|
+
- !ruby/object:Gem::Version
|
|
232
|
+
version: 1.13.2
|
|
233
233
|
- !ruby/object:Gem::Dependency
|
|
234
234
|
name: rubocop-rspec
|
|
235
235
|
requirement: !ruby/object:Gem::Requirement
|
|
236
236
|
requirements:
|
|
237
237
|
- - "~>"
|
|
238
238
|
- !ruby/object:Gem::Version
|
|
239
|
-
version: '2.
|
|
239
|
+
version: '2.8'
|
|
240
240
|
type: :development
|
|
241
241
|
prerelease: false
|
|
242
242
|
version_requirements: !ruby/object:Gem::Requirement
|
|
243
243
|
requirements:
|
|
244
244
|
- - "~>"
|
|
245
245
|
- !ruby/object:Gem::Version
|
|
246
|
-
version: '2.
|
|
246
|
+
version: '2.8'
|
|
247
247
|
- !ruby/object:Gem::Dependency
|
|
248
248
|
name: simplecov
|
|
249
249
|
requirement: !ruby/object:Gem::Requirement
|
|
250
250
|
requirements:
|
|
251
251
|
- - "~>"
|
|
252
252
|
- !ruby/object:Gem::Version
|
|
253
|
-
version: 0.
|
|
253
|
+
version: 0.21.2
|
|
254
|
+
type: :development
|
|
255
|
+
prerelease: false
|
|
256
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
257
|
+
requirements:
|
|
258
|
+
- - "~>"
|
|
259
|
+
- !ruby/object:Gem::Version
|
|
260
|
+
version: 0.21.2
|
|
261
|
+
- !ruby/object:Gem::Dependency
|
|
262
|
+
name: smtp_mock
|
|
263
|
+
requirement: !ruby/object:Gem::Requirement
|
|
264
|
+
requirements:
|
|
265
|
+
- - "~>"
|
|
266
|
+
- !ruby/object:Gem::Version
|
|
267
|
+
version: '1.0'
|
|
254
268
|
type: :development
|
|
255
269
|
prerelease: false
|
|
256
270
|
version_requirements: !ruby/object:Gem::Requirement
|
|
257
271
|
requirements:
|
|
258
272
|
- - "~>"
|
|
259
273
|
- !ruby/object:Gem::Version
|
|
260
|
-
version: 0
|
|
274
|
+
version: '1.0'
|
|
261
275
|
- !ruby/object:Gem::Dependency
|
|
262
276
|
name: truemail-rspec
|
|
263
277
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -295,6 +309,7 @@ extensions: []
|
|
|
295
309
|
extra_rdoc_files: []
|
|
296
310
|
files:
|
|
297
311
|
- ".circleci/config.yml"
|
|
312
|
+
- ".circleci/gemspec_compatible"
|
|
298
313
|
- ".codeclimate.yml"
|
|
299
314
|
- ".github/BRANCH_NAMING_CONVENTION.md"
|
|
300
315
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
|
@@ -313,7 +328,6 @@ files:
|
|
|
313
328
|
- CODE_OF_CONDUCT.md
|
|
314
329
|
- CONTRIBUTING.md
|
|
315
330
|
- Gemfile
|
|
316
|
-
- Gemfile.lock
|
|
317
331
|
- LICENSE.txt
|
|
318
332
|
- README.md
|
|
319
333
|
- Rakefile
|
|
@@ -375,7 +389,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
375
389
|
- !ruby/object:Gem::Version
|
|
376
390
|
version: '0'
|
|
377
391
|
requirements: []
|
|
378
|
-
rubygems_version: 3.
|
|
392
|
+
rubygems_version: 3.3.3
|
|
379
393
|
signing_key:
|
|
380
394
|
specification_version: 4
|
|
381
395
|
summary: truemail
|
data/Gemfile.lock
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
truemail (2.5.4)
|
|
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.4)
|
|
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.6.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.3.1)
|
|
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.3)
|
|
73
|
-
rubocop (1.23.0)
|
|
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.14.0)
|
|
83
|
-
parser (>= 3.0.1.1)
|
|
84
|
-
rubocop-performance (1.12.0)
|
|
85
|
-
rubocop (>= 1.7.0, < 2.0)
|
|
86
|
-
rubocop-ast (>= 0.4.0)
|
|
87
|
-
rubocop-rspec (2.6.0)
|
|
88
|
-
rubocop (~> 1.19)
|
|
89
|
-
ruby-progressbar (1.11.0)
|
|
90
|
-
ruby_parser (3.18.1)
|
|
91
|
-
sexp_processor (~> 4.16)
|
|
92
|
-
sexp_processor (4.16.0)
|
|
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.32)
|
|
119
|
-
bundler-audit (~> 0.9.0.1)
|
|
120
|
-
dns_mock (~> 1.4, >= 1.4.4)
|
|
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.23)
|
|
130
|
-
rubocop-performance (~> 1.12)
|
|
131
|
-
rubocop-rspec (~> 2.6)
|
|
132
|
-
simplecov (~> 0.17.1)
|
|
133
|
-
truemail!
|
|
134
|
-
truemail-rspec (~> 0.7.0)
|
|
135
|
-
webmock (~> 3.14)
|
|
136
|
-
|
|
137
|
-
BUNDLED WITH
|
|
138
|
-
2.2.32
|