truemail 2.6.5 → 2.7.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 +1 -1
- data/.circleci/gemspec_compatible +3 -5
- data/.circleci/gemspec_latest +4 -6
- data/.github/DEVELOPMENT_ENVIRONMENT_GUIDE.md +33 -0
- data/CHANGELOG.md +29 -0
- data/CONTRIBUTING.md +4 -2
- data/README.md +22 -0
- data/lib/truemail/configuration.rb +3 -0
- data/lib/truemail/validate/smtp/request.rb +3 -4
- data/lib/truemail/version.rb +1 -1
- data/truemail.gemspec +10 -20
- metadata +43 -141
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81084584cf4ac256046e672f9616ad532ae2ccb7e4e368f466ac2188b72fbd0c
|
4
|
+
data.tar.gz: 5d0fda4d06d5f41d9bd2eb812388a23c2e56cb12d990c91aeeea69972ca14144
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6a0c927fcb6a0748eb5c28b16bebf6d5a6b7f1bee48f60918a1d7b47bb391485eb527c99df46cf6b7b852428bd9dca60fb8836c79bdfb4f01166b3d022b7bd
|
7
|
+
data.tar.gz: c76bcb43533eaecf8d1c825c466bce17aeb316f9045d45712cb0732844acb7db67c446d3a08a7cad09102a99bea20ed53b6fb0ee247cfed34bfd9cb43fdd6d88
|
data/.circleci/config.yml
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'truemail/version'
|
3
|
+
require_relative 'lib/truemail/version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'truemail'
|
@@ -38,8 +36,8 @@ Gem::Specification.new do |spec|
|
|
38
36
|
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
|
39
37
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
40
38
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
41
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
39
|
+
spec.add_development_dependency 'rspec', '~> 3.11'
|
42
40
|
spec.add_development_dependency 'smtp_mock', '~> 1.0'
|
43
|
-
spec.add_development_dependency 'truemail-rspec', '~> 0.
|
41
|
+
spec.add_development_dependency 'truemail-rspec', '~> 0.9.1'
|
44
42
|
spec.add_development_dependency 'webmock', '~> 3.14'
|
45
43
|
end
|
data/.circleci/gemspec_latest
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'truemail/version'
|
3
|
+
require_relative 'lib/truemail/version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'truemail'
|
@@ -43,12 +41,12 @@ Gem::Specification.new do |spec|
|
|
43
41
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
44
42
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
45
43
|
spec.add_development_dependency 'reek', '~> 6.1'
|
46
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
44
|
+
spec.add_development_dependency 'rspec', '~> 3.11'
|
47
45
|
spec.add_development_dependency 'rubocop', '~> 1.25', '>= 1.25.1'
|
48
46
|
spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.2'
|
49
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.
|
47
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.9'
|
50
48
|
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
51
49
|
spec.add_development_dependency 'smtp_mock', '~> 1.0'
|
52
|
-
spec.add_development_dependency 'truemail-rspec', '~> 0.
|
50
|
+
spec.add_development_dependency 'truemail-rspec', '~> 0.9.1'
|
53
51
|
spec.add_development_dependency 'webmock', '~> 3.14'
|
54
52
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Development environment guide
|
2
|
+
|
3
|
+
## Preparing
|
4
|
+
|
5
|
+
Clone `truemail` repository:
|
6
|
+
|
7
|
+
```bash
|
8
|
+
git clone https://github.com/truemail-rb/truemail.git
|
9
|
+
cd truemail
|
10
|
+
```
|
11
|
+
|
12
|
+
Configure latest Ruby environment:
|
13
|
+
|
14
|
+
```bash
|
15
|
+
echo 'ruby-3.1.1' > .ruby-version
|
16
|
+
cp .circleci/gemspec_latest truemail.gemspec
|
17
|
+
```
|
18
|
+
|
19
|
+
## Installing dependencies
|
20
|
+
|
21
|
+
```bash
|
22
|
+
bundle install
|
23
|
+
bundle exec smtp_mock -s -i ~
|
24
|
+
```
|
25
|
+
|
26
|
+
## Commiting
|
27
|
+
|
28
|
+
Commit your changes excluding `.ruby-version`, `truemail.gemspec`
|
29
|
+
|
30
|
+
```bash
|
31
|
+
git add . ':!.ruby-version' ':!truemail.gemspec'
|
32
|
+
git commit -m 'Your new awesome truemail feature'
|
33
|
+
```
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,35 @@
|
|
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.7.1] - 2022.03.02
|
6
|
+
|
7
|
+
### Updated
|
8
|
+
|
9
|
+
- Updated truemail gemspecs
|
10
|
+
- Updated gem version
|
11
|
+
|
12
|
+
## [2.7.0] - 2022.02.23
|
13
|
+
|
14
|
+
### Added
|
15
|
+
|
16
|
+
- Added ability to specify SMTP port number
|
17
|
+
|
18
|
+
### Updated
|
19
|
+
|
20
|
+
- Updated truemail gemspec
|
21
|
+
- Updated gem version
|
22
|
+
|
23
|
+
## [2.6.6] - 2022.02.09
|
24
|
+
|
25
|
+
### Added
|
26
|
+
|
27
|
+
- Added development environment guide docs
|
28
|
+
|
29
|
+
### Updated
|
30
|
+
|
31
|
+
- Updated truemail gemspec
|
32
|
+
- Updated gem version
|
33
|
+
|
5
34
|
## [2.6.5] - 2022.02.09
|
6
35
|
|
7
36
|
### Added
|
data/CONTRIBUTING.md
CHANGED
@@ -42,5 +42,7 @@ Guidelines for pull requests:
|
|
42
42
|
2. Fork the repo, checkout to `develop` branch
|
43
43
|
3. Run the tests. This is to make sure your starting point works
|
44
44
|
4. Read our [branch naming convention](.github/BRANCH_NAMING_CONVENTION.md)
|
45
|
-
5. Create a new branch
|
46
|
-
6.
|
45
|
+
5. Create a new branch
|
46
|
+
6. Read our [setup development environment guide](.github/DEVELOPMENT_ENVIRONMENT_GUIDE.md)
|
47
|
+
7. Make your changes. Please note that your PR should include tests for the new codebase!
|
48
|
+
9. Push to your fork and submit a pull request to `develop` branch
|
data/README.md
CHANGED
@@ -136,6 +136,7 @@ You can use global gem configuration or custom independent configuration. Availa
|
|
136
136
|
- blacklisted mx ip-addresses
|
137
137
|
- custom DNS gateway(s)
|
138
138
|
- RFC MX lookup flow
|
139
|
+
- SMTP port number
|
139
140
|
- SMTP fail fast
|
140
141
|
- SMTP safe check
|
141
142
|
- event logger
|
@@ -221,6 +222,9 @@ Truemail.configure do |config|
|
|
221
222
|
# By default this option is disabled.
|
222
223
|
config.not_rfc_mx_lookup_flow = true
|
223
224
|
|
225
|
+
# Optional parameter. SMTP port number. It is equal to 25 by default.
|
226
|
+
config.smtp_port = 2525
|
227
|
+
|
224
228
|
# Optional parameter. This option will provide to use smtp fail fast behaviour. When
|
225
229
|
# smtp_fail_fast = true it means that Truemail ends smtp validation session after first
|
226
230
|
# attempt on the first mx server in any fail cases (network connection/timeout error,
|
@@ -263,6 +267,7 @@ Truemail.configuration
|
|
263
267
|
@verifier_domain="somedomain.com",
|
264
268
|
@verifier_email="verifier@example.com",
|
265
269
|
@not_rfc_mx_lookup_flow=true,
|
270
|
+
@smtp_port=2525,
|
266
271
|
@smtp_fail_fast=true,
|
267
272
|
@smtp_safe_check=true,
|
268
273
|
@logger=#<Truemail::Logger:0x0000557f837450b0
|
@@ -296,6 +301,7 @@ Truemail.configuration
|
|
296
301
|
@verifier_domain="somedomain.com",
|
297
302
|
@verifier_email="verifier@example.com",
|
298
303
|
@not_rfc_mx_lookup_flow=true,
|
304
|
+
@smtp_port=2525,
|
299
305
|
@smtp_fail_fast=true,
|
300
306
|
@smtp_safe_check=true,
|
301
307
|
@logger=#<Truemail::Logger:0x0000557f837450b0
|
@@ -382,6 +388,7 @@ Truemail.validate('email@white-domain.com')
|
|
382
388
|
@response_timeout=2,
|
383
389
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
384
390
|
@not_rfc_mx_lookup_flow=false,
|
391
|
+
@smtp_port=25,
|
385
392
|
@smtp_fail_fast=false,
|
386
393
|
@smtp_safe_check=false,
|
387
394
|
@validation_type_by_domain={"somedomain.com"=>:mx},
|
@@ -431,6 +438,7 @@ Truemail.validate('email@white-domain.com', with: :regex)
|
|
431
438
|
@response_timeout=2,
|
432
439
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
433
440
|
@not_rfc_mx_lookup_flow=false,
|
441
|
+
@smtp_port=25,
|
434
442
|
@smtp_fail_fast=false,
|
435
443
|
@smtp_safe_check=false,
|
436
444
|
@validation_type_by_domain={},
|
@@ -466,6 +474,7 @@ Truemail.validate('email@domain.com', with: :regex)
|
|
466
474
|
@response_timeout=2,
|
467
475
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
468
476
|
@not_rfc_mx_lookup_flow=false,
|
477
|
+
@smtp_port=25,
|
469
478
|
@smtp_fail_fast=false,
|
470
479
|
@smtp_safe_check=false,
|
471
480
|
@validation_type_by_domain={},
|
@@ -503,6 +512,7 @@ Truemail.validate('email@black-domain.com')
|
|
503
512
|
@response_timeout=2,
|
504
513
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
505
514
|
@not_rfc_mx_lookup_flow=false,
|
515
|
+
@smtp_port=25,
|
506
516
|
@smtp_fail_fast=false,
|
507
517
|
@smtp_safe_check=false,
|
508
518
|
@validation_type_by_domain={},
|
@@ -540,6 +550,7 @@ Truemail.validate('email@somedomain.com')
|
|
540
550
|
@response_timeout=2,
|
541
551
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
542
552
|
@not_rfc_mx_lookup_flow=false,
|
553
|
+
@smtp_port=25,
|
543
554
|
@smtp_fail_fast=false,
|
544
555
|
@smtp_safe_check=false,
|
545
556
|
@validation_type_by_domain={},
|
@@ -594,6 +605,7 @@ Truemail.validate('email@example.com', with: :regex)
|
|
594
605
|
@response_timeout=2,
|
595
606
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
596
607
|
@not_rfc_mx_lookup_flow=false,
|
608
|
+
@smtp_port=25,
|
597
609
|
@smtp_fail_fast=false,
|
598
610
|
@smtp_safe_check=false,
|
599
611
|
@validation_type_by_domain={},
|
@@ -639,6 +651,7 @@ Truemail.validate('email@example.com', with: :regex)
|
|
639
651
|
@response_timeout=2,
|
640
652
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
641
653
|
@not_rfc_mx_lookup_flow=false,
|
654
|
+
@smtp_port=25,
|
642
655
|
@smtp_fail_fast=false,
|
643
656
|
@smtp_safe_check=false,
|
644
657
|
@validation_type_by_domain={},
|
@@ -695,6 +708,7 @@ Truemail.validate('email@example.com', with: :mx)
|
|
695
708
|
@response_timeout=2,
|
696
709
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
697
710
|
@not_rfc_mx_lookup_flow=false,
|
711
|
+
@smtp_port=25,
|
698
712
|
@smtp_fail_fast=false,
|
699
713
|
@smtp_safe_check=false,
|
700
714
|
@validation_type_by_domain={},
|
@@ -742,6 +756,7 @@ Truemail.validate('email@example.com', with: :mx)
|
|
742
756
|
@response_timeout=2,
|
743
757
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
744
758
|
@not_rfc_mx_lookup_flow=true,
|
759
|
+
@smtp_port=25,
|
745
760
|
@smtp_fail_fast=false,
|
746
761
|
@smtp_safe_check=false,
|
747
762
|
@validation_type_by_domain={},
|
@@ -793,6 +808,7 @@ Truemail.validate('email@example.com', with: :mx_blacklist)
|
|
793
808
|
@not_rfc_mx_lookup_flow=false,
|
794
809
|
@response_timeout=2,
|
795
810
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
811
|
+
@smtp_port=25,
|
796
812
|
@smtp_fail_fast=false,
|
797
813
|
@smtp_safe_check=false,
|
798
814
|
@validation_type_by_domain={},
|
@@ -869,6 +885,7 @@ Truemail.validate('email@example.com')
|
|
869
885
|
@not_rfc_mx_lookup_flow=false,
|
870
886
|
@response_timeout=2,
|
871
887
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
888
|
+
@smtp_port=25,
|
872
889
|
@smtp_fail_fast=true,
|
873
890
|
@smtp_safe_check=false,
|
874
891
|
@validation_type_by_domain={},
|
@@ -966,6 +983,7 @@ Truemail.validate('email@example.com')
|
|
966
983
|
@response_timeout=2,
|
967
984
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
968
985
|
@not_rfc_mx_lookup_flow=false,
|
986
|
+
@smtp_port=25,
|
969
987
|
@smtp_fail_fast=false,
|
970
988
|
@smtp_safe_check=false,
|
971
989
|
@validation_type_by_domain={},
|
@@ -1079,6 +1097,7 @@ Truemail.validate('email@example.com')
|
|
1079
1097
|
@response_timeout=2,
|
1080
1098
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
1081
1099
|
@not_rfc_mx_lookup_flow=false,
|
1100
|
+
@smtp_port=25,
|
1082
1101
|
@smtp_fail_fast=false,
|
1083
1102
|
@smtp_safe_check=false,
|
1084
1103
|
@validation_type_by_domain={},
|
@@ -1129,6 +1148,7 @@ Truemail.host_audit
|
|
1129
1148
|
@response_timeout=2,
|
1130
1149
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
1131
1150
|
@not_rfc_mx_lookup_flow=false,
|
1151
|
+
@smtp_port=25,
|
1132
1152
|
@smtp_fail_fast=false,
|
1133
1153
|
@smtp_safe_check=false,
|
1134
1154
|
@validation_type_by_domain={},
|
@@ -1158,6 +1178,7 @@ Truemail.host_audit
|
|
1158
1178
|
@response_timeout=2,
|
1159
1179
|
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
1160
1180
|
@not_rfc_mx_lookup_flow=false,
|
1181
|
+
@smtp_port=25,
|
1161
1182
|
@smtp_fail_fast=false,
|
1162
1183
|
@smtp_safe_check=false,
|
1163
1184
|
@validation_type_by_domain={},
|
@@ -1378,6 +1399,7 @@ All Truemail solutions: https://truemail-rb.org
|
|
1378
1399
|
|
1379
1400
|
| Name | Type | Description |
|
1380
1401
|
| --- | --- | --- |
|
1402
|
+
| [truemail-go](https://github.com/truemail-rb/truemail-go) | go package | Configurable Golang email validator, main core |
|
1381
1403
|
| [truemail server](https://github.com/truemail-rb/truemail-rack) | ruby app | Lightweight rack based web API wrapper for Truemail gem |
|
1382
1404
|
| [truemail-rack-docker](https://github.com/truemail-rb/truemail-rack-docker-image) | docker image | Lightweight rack based web API [dockerized image](https://hub.docker.com/r/truemail/truemail-rack) :whale: of Truemail server |
|
1383
1405
|
| [truemail-ruby-client](https://github.com/truemail-rb/truemail-ruby-client) | ruby gem | Web API Ruby client for Truemail Server |
|
@@ -6,6 +6,7 @@ module Truemail
|
|
6
6
|
DEFAULT_RESPONSE_TIMEOUT = 2
|
7
7
|
DEFAULT_CONNECTION_ATTEMPTS = 2
|
8
8
|
DEFAULT_VALIDATION_TYPE = :smtp
|
9
|
+
DEFAULT_SMTP_PORT = 25
|
9
10
|
DEFAULT_LOGGER_OPTIONS = { tracking_event: :error, stdout: false, log_absolute_path: nil }.freeze
|
10
11
|
SETTERS = %i[
|
11
12
|
email_pattern
|
@@ -17,6 +18,7 @@ module Truemail
|
|
17
18
|
blacklisted_domains
|
18
19
|
blacklisted_mx_ip_addresses
|
19
20
|
dns
|
21
|
+
smtp_port
|
20
22
|
].freeze
|
21
23
|
|
22
24
|
attr_reader :verifier_email,
|
@@ -96,6 +98,7 @@ module Truemail
|
|
96
98
|
response_timeout: Truemail::Configuration::DEFAULT_RESPONSE_TIMEOUT,
|
97
99
|
connection_attempts: Truemail::Configuration::DEFAULT_CONNECTION_ATTEMPTS,
|
98
100
|
default_validation_type: Truemail::Configuration::DEFAULT_VALIDATION_TYPE,
|
101
|
+
smtp_port: Truemail::Configuration::DEFAULT_SMTP_PORT,
|
99
102
|
validation_type_by_domain: {},
|
100
103
|
whitelisted_domains: [],
|
101
104
|
whitelist_validation: false,
|
@@ -4,7 +4,6 @@ module Truemail
|
|
4
4
|
module Validate
|
5
5
|
class Smtp
|
6
6
|
class Request
|
7
|
-
SMTP_PORT = 25
|
8
7
|
CONNECTION_TIMEOUT_ERROR = 'connection timed out'
|
9
8
|
RESPONSE_TIMEOUT_ERROR = 'server response timeout'
|
10
9
|
CONNECTION_DROPPED = 'server dropped connection after response'
|
@@ -23,7 +22,7 @@ module Truemail
|
|
23
22
|
def check_port
|
24
23
|
response.port_opened = ::Socket.tcp(
|
25
24
|
host,
|
26
|
-
|
25
|
+
configuration.smtp_port,
|
27
26
|
connect_timeout: configuration.connection_timeout,
|
28
27
|
&port_open_status
|
29
28
|
)
|
@@ -42,7 +41,7 @@ module Truemail
|
|
42
41
|
private
|
43
42
|
|
44
43
|
class Configuration
|
45
|
-
REQUEST_PARAMS = %i[connection_timeout response_timeout verifier_domain verifier_email].freeze
|
44
|
+
REQUEST_PARAMS = %i[smtp_port connection_timeout response_timeout verifier_domain verifier_email].freeze
|
46
45
|
|
47
46
|
def initialize(configuration)
|
48
47
|
Truemail::Validate::Smtp::Request::Configuration::REQUEST_PARAMS.each do |attribute|
|
@@ -96,7 +95,7 @@ module Truemail
|
|
96
95
|
def session
|
97
96
|
Truemail::Validate::Smtp::Request::Session.new(
|
98
97
|
host,
|
99
|
-
|
98
|
+
configuration.smtp_port,
|
100
99
|
configuration.connection_timeout,
|
101
100
|
configuration.response_timeout
|
102
101
|
)
|
data/lib/truemail/version.rb
CHANGED
data/truemail.gemspec
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'truemail/version'
|
3
|
+
require_relative 'lib/truemail/version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'truemail'
|
@@ -31,23 +29,15 @@ Gem::Specification.new do |spec|
|
|
31
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
|
32
30
|
spec.require_paths = ['lib']
|
33
31
|
|
34
|
-
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
35
32
|
spec.add_runtime_dependency 'net-smtp', '~> 0.3.1' if ::RUBY_VERSION >= '3.1.0'
|
33
|
+
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
36
34
|
|
37
|
-
spec.add_development_dependency '
|
38
|
-
spec.add_development_dependency '
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
41
|
-
spec.add_development_dependency '
|
42
|
-
spec.add_development_dependency '
|
43
|
-
spec.add_development_dependency '
|
44
|
-
spec.add_development_dependency '
|
45
|
-
spec.add_development_dependency 'reek'
|
46
|
-
spec.add_development_dependency 'rspec'
|
47
|
-
spec.add_development_dependency 'rubocop'
|
48
|
-
spec.add_development_dependency 'rubocop-performance'
|
49
|
-
spec.add_development_dependency 'rubocop-rspec'
|
50
|
-
spec.add_development_dependency 'smtp_mock'
|
51
|
-
spec.add_development_dependency 'truemail-rspec'
|
52
|
-
spec.add_development_dependency 'webmock'
|
35
|
+
spec.add_development_dependency 'dns_mock', '~> 1.5', '>= 1.5.1'
|
36
|
+
spec.add_development_dependency 'ffaker', '~> 2.20'
|
37
|
+
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
|
38
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
39
|
+
spec.add_development_dependency 'rspec', '~> 3.11'
|
40
|
+
spec.add_development_dependency 'smtp_mock', '~> 1.0'
|
41
|
+
spec.add_development_dependency 'truemail-rspec', '~> 0.9.1'
|
42
|
+
spec.add_development_dependency 'webmock', '~> 3.14'
|
53
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: 2.
|
4
|
+
version: 2.7.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: 2022-02
|
11
|
+
date: 2022-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simpleidn
|
@@ -24,230 +24,130 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.2.1
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler-audit
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: dns_mock
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
31
|
+
- - "~>"
|
53
32
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: fasterer
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
33
|
+
version: '1.5'
|
59
34
|
- - ">="
|
60
35
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
36
|
+
version: 1.5.1
|
62
37
|
type: :development
|
63
38
|
prerelease: false
|
64
39
|
version_requirements: !ruby/object:Gem::Requirement
|
65
40
|
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.5'
|
66
44
|
- - ">="
|
67
45
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
46
|
+
version: 1.5.1
|
69
47
|
- !ruby/object:Gem::Dependency
|
70
48
|
name: ffaker
|
71
49
|
requirement: !ruby/object:Gem::Requirement
|
72
50
|
requirements:
|
73
|
-
- - "
|
51
|
+
- - "~>"
|
74
52
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
53
|
+
version: '2.20'
|
76
54
|
type: :development
|
77
55
|
prerelease: false
|
78
56
|
version_requirements: !ruby/object:Gem::Requirement
|
79
57
|
requirements:
|
80
|
-
- - "
|
58
|
+
- - "~>"
|
81
59
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
60
|
+
version: '2.20'
|
83
61
|
- !ruby/object:Gem::Dependency
|
84
62
|
name: json_matchers
|
85
63
|
requirement: !ruby/object:Gem::Requirement
|
86
64
|
requirements:
|
87
|
-
- - "
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: overcommit
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry-byebug
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
65
|
+
- - "~>"
|
116
66
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
67
|
+
version: 0.11.1
|
118
68
|
type: :development
|
119
69
|
prerelease: false
|
120
70
|
version_requirements: !ruby/object:Gem::Requirement
|
121
71
|
requirements:
|
122
|
-
- - "
|
72
|
+
- - "~>"
|
123
73
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
74
|
+
version: 0.11.1
|
125
75
|
- !ruby/object:Gem::Dependency
|
126
76
|
name: rake
|
127
77
|
requirement: !ruby/object:Gem::Requirement
|
128
78
|
requirements:
|
129
|
-
- - "
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: reek
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rspec
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
79
|
+
- - "~>"
|
165
80
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: rubocop
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
81
|
+
version: '13.0'
|
171
82
|
- - ">="
|
172
83
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
84
|
+
version: 13.0.6
|
174
85
|
type: :development
|
175
86
|
prerelease: false
|
176
87
|
version_requirements: !ruby/object:Gem::Requirement
|
177
88
|
requirements:
|
178
|
-
- - "
|
89
|
+
- - "~>"
|
179
90
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rubocop-performance
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
91
|
+
version: '13.0'
|
185
92
|
- - ">="
|
186
93
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
94
|
+
version: 13.0.6
|
195
95
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
96
|
+
name: rspec
|
197
97
|
requirement: !ruby/object:Gem::Requirement
|
198
98
|
requirements:
|
199
|
-
- - "
|
99
|
+
- - "~>"
|
200
100
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
101
|
+
version: '3.11'
|
202
102
|
type: :development
|
203
103
|
prerelease: false
|
204
104
|
version_requirements: !ruby/object:Gem::Requirement
|
205
105
|
requirements:
|
206
|
-
- - "
|
106
|
+
- - "~>"
|
207
107
|
- !ruby/object:Gem::Version
|
208
|
-
version: '
|
108
|
+
version: '3.11'
|
209
109
|
- !ruby/object:Gem::Dependency
|
210
110
|
name: smtp_mock
|
211
111
|
requirement: !ruby/object:Gem::Requirement
|
212
112
|
requirements:
|
213
|
-
- - "
|
113
|
+
- - "~>"
|
214
114
|
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
115
|
+
version: '1.0'
|
216
116
|
type: :development
|
217
117
|
prerelease: false
|
218
118
|
version_requirements: !ruby/object:Gem::Requirement
|
219
119
|
requirements:
|
220
|
-
- - "
|
120
|
+
- - "~>"
|
221
121
|
- !ruby/object:Gem::Version
|
222
|
-
version: '0'
|
122
|
+
version: '1.0'
|
223
123
|
- !ruby/object:Gem::Dependency
|
224
124
|
name: truemail-rspec
|
225
125
|
requirement: !ruby/object:Gem::Requirement
|
226
126
|
requirements:
|
227
|
-
- - "
|
127
|
+
- - "~>"
|
228
128
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
129
|
+
version: 0.9.1
|
230
130
|
type: :development
|
231
131
|
prerelease: false
|
232
132
|
version_requirements: !ruby/object:Gem::Requirement
|
233
133
|
requirements:
|
234
|
-
- - "
|
134
|
+
- - "~>"
|
235
135
|
- !ruby/object:Gem::Version
|
236
|
-
version:
|
136
|
+
version: 0.9.1
|
237
137
|
- !ruby/object:Gem::Dependency
|
238
138
|
name: webmock
|
239
139
|
requirement: !ruby/object:Gem::Requirement
|
240
140
|
requirements:
|
241
|
-
- - "
|
141
|
+
- - "~>"
|
242
142
|
- !ruby/object:Gem::Version
|
243
|
-
version: '
|
143
|
+
version: '3.14'
|
244
144
|
type: :development
|
245
145
|
prerelease: false
|
246
146
|
version_requirements: !ruby/object:Gem::Requirement
|
247
147
|
requirements:
|
248
|
-
- - "
|
148
|
+
- - "~>"
|
249
149
|
- !ruby/object:Gem::Version
|
250
|
-
version: '
|
150
|
+
version: '3.14'
|
251
151
|
description: Configurable framework agnostic plain Ruby email validator. Verify email
|
252
152
|
via Regex, DNS, SMTP and even more.
|
253
153
|
email:
|
@@ -261,6 +161,7 @@ files:
|
|
261
161
|
- ".circleci/gemspec_latest"
|
262
162
|
- ".codeclimate.yml"
|
263
163
|
- ".github/BRANCH_NAMING_CONVENTION.md"
|
164
|
+
- ".github/DEVELOPMENT_ENVIRONMENT_GUIDE.md"
|
264
165
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
265
166
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
266
167
|
- ".github/ISSUE_TEMPLATE/issue_report.md"
|
@@ -338,7 +239,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
338
239
|
- !ruby/object:Gem::Version
|
339
240
|
version: '0'
|
340
241
|
requirements: []
|
341
|
-
|
242
|
+
rubyforge_project:
|
243
|
+
rubygems_version: 2.7.3
|
342
244
|
signing_key:
|
343
245
|
specification_version: 4
|
344
246
|
summary: truemail
|