truemail 2.3.2 → 2.4.2

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: 1810c473b2fc5918103193380085cdd3ac47a0fb2d053a1a84686bcff28b55eb
4
- data.tar.gz: f2d5a0ac0270bf1e1af6dfd972297db547d8c0c692cc78c13eb93ac2da4fb3b5
3
+ metadata.gz: 7de00f2ec17132cbe9de210b829968c07825131743274a4f001116a13c4997f5
4
+ data.tar.gz: 2d0486413d882a316321294bec7966705f0f9c49de35a69afb9ffd10bfeb70ec
5
5
  SHA512:
6
- metadata.gz: 966501578ad1e870b14abe32254ed2f8faecec5093aa095052c61a24ac7b2acab4d2abdf6c804735c404057fe66fbcc333ca83d9b069e0bae5d28aa34849eb7c
7
- data.tar.gz: 8c9afb6e1b5f150ce310d29250d5bf8cdfe9300f3bbd794665b11867aa088dcbc0323f099c68a8a9ddefe3955e47c2cca98abe05e80d30163768324e8ef340da
6
+ metadata.gz: a9b3f751d260826db1b1d514cde240b895db31df9e167e41ddb2deae2195c5196c1d1bfac23c58fcd969ba01f3a7fb4299a18a50acb389ecc9806f7dc99e8bee
7
+ data.tar.gz: c32d079752ac963c8574d579809030f4ed0d98e0045aef97ca9e6cba11d90abe156ddb7995f226260474ff8d51166b4368287fc4a5c9f009ce4805c54ef5147f
data/.circleci/config.yml CHANGED
@@ -1,11 +1,21 @@
1
+ version: 2.1
2
+
1
3
  defaults: &defaults
2
4
  working_directory: ~/truemail
3
5
  docker:
4
- - image: circleci/ruby:2.5.0-node
6
+ - image: cimg/ruby:<< parameters.ruby-version >>
5
7
  environment:
6
8
  CC_TEST_REPORTER_ID: 693272a1328521f6f7c09d7ffd419b21c00410da26e98e94c687fdd38b26e2cb
7
9
 
10
+ orbs:
11
+ ruby: circleci/ruby@1.1.3
12
+
8
13
  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
+
9
19
  restore_bundle_cache: &restore_bundle_cache
10
20
  restore_cache:
11
21
  keys:
@@ -24,66 +34,97 @@ references:
24
34
 
25
35
  install_codeclimate_reporter: &install_codeclimate_reporter
26
36
  run:
27
- name: Install Code Climate Test Reporter
37
+ name: Installing CodeClimate test reporter
28
38
  command: |
29
39
  curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
30
40
  chmod +x ./cc-test-reporter
31
41
 
32
- version: 2
33
42
  jobs:
34
- linters:
43
+ linters-ruby:
44
+ parameters:
45
+ ruby-version:
46
+ type: string
47
+
35
48
  <<: *defaults
36
49
 
37
50
  steps:
38
51
  - checkout
39
52
 
53
+ - <<: *install_bundler
40
54
  - <<: *restore_bundle_cache
41
55
  - <<: *bundle_install
42
56
  - <<: *save_bundle_cache
43
57
 
44
58
  - run:
45
- name: Running overcommit
59
+ name: Running Overcommit
46
60
  command: |
47
61
  bundle exec overcommit -s
48
62
  SKIP=AuthorEmail,AuthorName bundle exec overcommit -r
49
63
 
50
- tests:
64
+ tests-ruby:
65
+ parameters:
66
+ ruby-version:
67
+ type: string
68
+
51
69
  <<: *defaults
52
70
 
53
71
  steps:
54
72
  - checkout
55
73
 
74
+ - <<: *install_bundler
56
75
  - <<: *restore_bundle_cache
57
76
  - <<: *bundle_install
58
77
  - <<: *save_bundle_cache
59
78
  - <<: *install_codeclimate_reporter
60
79
 
61
80
  - run:
62
- name: Running tests
81
+ name: Running RSpec
63
82
  command: |
64
- mkdir /tmp/test-results
65
83
  ./cc-test-reporter before-build
66
84
  bundle exec rspec
67
85
 
68
86
  - run:
69
- name: Code Climate Test Coverage
87
+ name: Creating CodeClimate test coverage report
70
88
  command: |
71
89
  ./cc-test-reporter format-coverage -t simplecov -o "coverage/codeclimate.$CIRCLE_NODE_INDEX.json"
72
90
 
73
- - store_test_results:
74
- path: /tmp/test-results
75
-
76
91
  - store_artifacts:
77
- path: /tmp/test-results
78
- destination: test-results
92
+ name: Saving Simplecov coverage artifacts
93
+ path: ~/truemail/coverage
94
+ destination: coverage
79
95
 
80
96
  - deploy:
97
+ name: Uploading CodeClimate test coverage report
81
98
  command: |
82
99
  ./cc-test-reporter sum-coverage --output - --parts $CIRCLE_NODE_TOTAL coverage/codeclimate.*.json | ./cc-test-reporter upload-coverage --debug --input -
83
100
 
101
+ compatibility-ruby:
102
+ parameters:
103
+ ruby-version:
104
+ type: string
105
+ docker:
106
+ - image: cimg/ruby:<< parameters.ruby-version >>
107
+ steps:
108
+ - checkout
109
+ - ruby/install-deps:
110
+ with-cache: false
111
+ path: './vendor/custom_bundle'
112
+ - run:
113
+ name: Running compatibility tests
114
+ command: bundle exec rspec
115
+
84
116
  workflows:
85
- version: 2
86
- build:
117
+ build_and_test:
87
118
  jobs:
88
- - linters
89
- - tests
119
+ - linters-ruby:
120
+ matrix:
121
+ parameters:
122
+ ruby-version: ["2.5"]
123
+ - tests-ruby:
124
+ matrix:
125
+ parameters:
126
+ ruby-version: ["2.5"]
127
+ - compatibility-ruby:
128
+ matrix:
129
+ parameters:
130
+ ruby-version: ["2.6", "2.7", "3.0"]
data/.codeclimate.yml CHANGED
@@ -7,7 +7,7 @@ checks:
7
7
  plugins:
8
8
  rubocop:
9
9
  enabled: true
10
- channel: rubocop-1-11
10
+ channel: rubocop-1-14
11
11
 
12
12
  reek:
13
13
  enabled: true
data/.reek.yml CHANGED
@@ -34,18 +34,19 @@ detectors:
34
34
 
35
35
  UtilityFunction:
36
36
  exclude:
37
- - Truemail::Validate::Smtp::Request#compose_from
38
- - Truemail::Validator#select_validation_type
39
- - Truemail::Validate::Base#configuration
40
- - Truemail::Validate::Mx#null_mx?
41
- - Truemail::Validate::Mx#a_record
42
37
  - Truemail::Audit::Base#verifier_domain
43
- - Truemail::Configuration#domain_matcher
44
38
  - Truemail::Configuration#logger_options
39
+ - Truemail::Configuration#match_regex?
40
+ - Truemail::Configuration#regex_by_method
41
+ - Truemail::Dns::Worker#nameserver_port
45
42
  - Truemail::Log::Serializer::Base#errors
46
43
  - Truemail::Log::Serializer::ValidatorBase#replace_invalid_chars
47
- - Truemail::Dns::Worker#nameserver_port
48
- - Truemail::Configuration#check_dns_settings
44
+ - Truemail::Validator#select_validation_type
45
+ - Truemail::Validator#constantize
46
+ - Truemail::Validate::Base#configuration
47
+ - Truemail::Validate::Mx#null_mx?
48
+ - Truemail::Validate::Mx#a_record
49
+ - Truemail::Validate::Smtp::Request#compose_from
49
50
 
50
51
  ControlParameter:
51
52
  exclude:
data/.rubocop.yml CHANGED
@@ -151,6 +151,9 @@ Style/IfWithBooleanLiteralBranches:
151
151
  Style/HashConversion:
152
152
  Enabled: true
153
153
 
154
+ Style/StringChars:
155
+ Enabled: true
156
+
154
157
  Layout/LineLength:
155
158
  Max: 140
156
159
 
@@ -353,6 +356,9 @@ Performance/RedundantEqualityComparisonBlock:
353
356
  Performance/RedundantSplitRegexpArgument:
354
357
  Enabled: true
355
358
 
359
+ Performance/MapCompact:
360
+ Enabled: true
361
+
356
362
  RSpec/ExampleLength:
357
363
  Enabled: false
358
364
 
data/CHANGELOG.md CHANGED
@@ -2,14 +2,79 @@
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.3.2] - 2020.03.08
5
+ ## [2.4.2] - 2021.05.13
6
+
7
+ ### Fixed
8
+
9
+ - Fixed security vulnerability for bundler ([CVE-2019-3881](https://github.com/advisories/GHSA-g98m-96g9-wfjq))
10
+ - Fixed test coverage issues
11
+
12
+ ### Updated
13
+
14
+ - Updated gem development dependencies
15
+ - Updated simplecov/CircleCi config
16
+ - Updated gem documentation, version
17
+
18
+ ## [2.4.1] - 2021.05.05
19
+
20
+ ### Updated
21
+
22
+ - `Truemail::Validate::MxBlacklist`, tests
23
+ - Updated gem development dependencies
24
+ - Updated gem documentation, version
25
+
26
+ ## [2.4.0] - 2021.04.28
27
+
28
+ ### Added
29
+
30
+ - Implemented `MxBlacklist` validation. This layer provides checking mail servers with predefined blacklisted IP addresses list and can be used as a part of DEA ([disposable email address](https://en.wikipedia.org/wiki/Disposable_email_address)) validations.
31
+
32
+ ```ruby
33
+ Truemail.configure do |config|
34
+ # Optional parameter. With this option Truemail will filter out unwanted mx servers via
35
+ # predefined list of ip addresses. It can be used as a part of DEA (disposable email
36
+ # address) validations. It is equal to empty array by default.
37
+ config.blacklisted_mx_ip_addresses = ['1.1.1.1', '2.2.2.2']
38
+ end
39
+ ```
40
+
41
+ ### Changed
42
+
43
+ - Updated `Truemail::Core`, tests
44
+ - Updated `Truemail::Configuration`, tests
45
+ - Updated `Truemail::Validator`
46
+ - Updated `Truemail::Validate::Smtp`, tests
47
+ - Updated `Truemail::Log::Serializer::Base`, dependent tests
48
+ - Updated `Truemail::Log::Serializer::ValidatorText`, tests
49
+ - Updated gem development dependencies
50
+ - Updated gem documentation, changelog, version
51
+
52
+ ## [2.3.4] - 2021.04.16
53
+
54
+ ### Fixed
55
+
56
+ Fixed bug with impossibility to use valid dns port number. Now validation for dns port for range `1..65535` works as expected.
57
+
58
+ - Updated `Truemail::RegexConstant::REGEX_PORT_NUMBER`, tests
59
+ - Updated gem documentation
60
+ - CircleCI config moved to `.circleci/config.yml`
61
+
62
+ ## [2.3.3] - 2021.04.14
63
+
64
+ ### Changed
65
+
66
+ - Updated gem development dependencies
67
+ - Updated rubocop/codeclimate config
68
+ - Updated CircleCI config
69
+
70
+ ## [2.3.2] - 2021.03.08
6
71
 
7
72
  ### Changed
8
73
 
9
74
  - Updated gem development dependencies
10
75
  - Updated rubocop/codeclimate config
11
76
 
12
- ## [2.3.1] - 2020.02.26
77
+ ## [2.3.1] - 2021.02.26
13
78
 
14
79
  ### Changed
15
80
 
@@ -17,7 +82,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
17
82
  - Updated rubocop/codeclimate config
18
83
  - Updated tests
19
84
 
20
- ## [2.3.0] - 2020.02.05
85
+ ## [2.3.0] - 2021.02.05
21
86
 
22
87
  ### Added
23
88
 
@@ -50,7 +115,7 @@ end
50
115
  - Updated gem runtime/development dependencies
51
116
  - Updated gem documentation, changelog, version
52
117
 
53
- ## [2.2.3] - 2020.01.12
118
+ ## [2.2.3] - 2021.01.12
54
119
 
55
120
  ### Fixed
56
121
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- truemail (2.3.2)
4
+ truemail (2.4.2)
5
5
  simpleidn (~> 0.2.1)
6
6
 
7
7
  GEM
@@ -10,9 +10,9 @@ GEM
10
10
  addressable (2.7.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
12
  ast (2.4.2)
13
- bundler-audit (0.7.0.1)
13
+ bundler-audit (0.8.0)
14
14
  bundler (>= 1.2.0, < 3)
15
- thor (>= 0.18, < 2)
15
+ thor (~> 1.0)
16
16
  byebug (11.1.3)
17
17
  childprocess (4.0.0)
18
18
  coderay (1.1.3)
@@ -21,15 +21,15 @@ GEM
21
21
  crack (0.4.5)
22
22
  rexml
23
23
  diff-lcs (1.4.4)
24
- dns_mock (1.2.0)
25
- docile (1.3.5)
26
- faker (2.16.0)
24
+ dns_mock (1.2.3)
25
+ docile (1.4.0)
26
+ faker (2.17.0)
27
27
  i18n (>= 1.6, < 2)
28
28
  fasterer (0.9.0)
29
29
  colorize (~> 0.7)
30
30
  ruby_parser (>= 3.14.1)
31
31
  hashdiff (1.0.1)
32
- i18n (1.8.9)
32
+ i18n (1.8.10)
33
33
  concurrent-ruby (~> 1.0)
34
34
  iniparse (1.5.0)
35
35
  json (2.5.1)
@@ -42,7 +42,7 @@ GEM
42
42
  childprocess (>= 0.6.3, < 5)
43
43
  iniparse (~> 1.4)
44
44
  parallel (1.20.1)
45
- parser (3.0.0.0)
45
+ parser (3.0.1.1)
46
46
  ast (~> 2.4.1)
47
47
  pry (0.13.1)
48
48
  coderay (~> 1.1)
@@ -54,13 +54,13 @@ GEM
54
54
  public_suffix (4.0.6)
55
55
  rainbow (3.0.0)
56
56
  rake (13.0.3)
57
- reek (6.0.3)
57
+ reek (6.0.4)
58
58
  kwalify (~> 0.7.0)
59
59
  parser (~> 3.0.0)
60
60
  psych (~> 3.1)
61
61
  rainbow (>= 2.0, < 4.0)
62
62
  regexp_parser (2.1.1)
63
- rexml (3.2.4)
63
+ rexml (3.2.5)
64
64
  rspec (3.10.0)
65
65
  rspec-core (~> 3.10.0)
66
66
  rspec-expectations (~> 3.10.0)
@@ -74,21 +74,21 @@ GEM
74
74
  diff-lcs (>= 1.2.0, < 2.0)
75
75
  rspec-support (~> 3.10.0)
76
76
  rspec-support (3.10.2)
77
- rubocop (1.11.0)
77
+ rubocop (1.14.0)
78
78
  parallel (~> 1.10)
79
79
  parser (>= 3.0.0.0)
80
80
  rainbow (>= 2.2.2, < 4.0)
81
81
  regexp_parser (>= 1.8, < 3.0)
82
82
  rexml
83
- rubocop-ast (>= 1.2.0, < 2.0)
83
+ rubocop-ast (>= 1.5.0, < 2.0)
84
84
  ruby-progressbar (~> 1.7)
85
85
  unicode-display_width (>= 1.4.0, < 3.0)
86
- rubocop-ast (1.4.1)
87
- parser (>= 2.7.1.5)
88
- rubocop-performance (1.10.1)
89
- rubocop (>= 0.90.0, < 2.0)
86
+ rubocop-ast (1.5.0)
87
+ parser (>= 3.0.1.1)
88
+ rubocop-performance (1.11.3)
89
+ rubocop (>= 1.7.0, < 2.0)
90
90
  rubocop-ast (>= 0.4.0)
91
- rubocop-rspec (2.2.0)
91
+ rubocop-rspec (2.3.0)
92
92
  rubocop (~> 1.0)
93
93
  rubocop-ast (>= 1.1.0)
94
94
  ruby-progressbar (1.11.0)
@@ -103,41 +103,41 @@ GEM
103
103
  simpleidn (0.2.1)
104
104
  unf (~> 0.1.4)
105
105
  thor (1.1.0)
106
- truemail-rspec (0.4.0)
107
- faker (~> 2.16)
106
+ truemail-rspec (0.6.0)
107
+ faker (~> 2.17)
108
108
  rspec (~> 3.10)
109
- truemail (>= 2.3)
109
+ truemail (>= 2.4)
110
110
  unf (0.1.4)
111
111
  unf_ext
112
112
  unf_ext (0.0.7.7)
113
113
  unicode-display_width (2.0.0)
114
- webmock (3.12.1)
114
+ webmock (3.12.2)
115
115
  addressable (>= 2.3.6)
116
116
  crack (>= 0.3.2)
117
117
  hashdiff (>= 0.4.0, < 2.0.0)
118
118
 
119
119
  PLATFORMS
120
- ruby
120
+ x86_64-darwin-19
121
121
 
122
122
  DEPENDENCIES
123
- bundler (~> 1.16)
124
- bundler-audit (~> 0.7.0.1)
125
- dns_mock (~> 1.2)
126
- faker (~> 2.16)
123
+ bundler (~> 2.2, >= 2.2.17)
124
+ bundler-audit (~> 0.8.0)
125
+ dns_mock (~> 1.2, >= 1.2.3)
126
+ faker (~> 2.17)
127
127
  fasterer (~> 0.9.0)
128
128
  json_matchers (~> 0.11.1)
129
129
  overcommit (~> 0.57.0)
130
130
  pry-byebug (~> 3.9)
131
131
  rake (~> 13.0, >= 13.0.3)
132
- reek (~> 6.0, >= 6.0.3)
132
+ reek (~> 6.0, >= 6.0.4)
133
133
  rspec (~> 3.10)
134
- rubocop (~> 1.11)
135
- rubocop-performance (~> 1.10, >= 1.10.1)
136
- rubocop-rspec (~> 2.2)
134
+ rubocop (~> 1.14)
135
+ rubocop-performance (~> 1.11, >= 1.11.3)
136
+ rubocop-rspec (~> 2.3)
137
137
  simplecov (~> 0.17.1)
138
138
  truemail!
139
- truemail-rspec (~> 0.4)
140
- webmock (~> 3.12, >= 3.12.1)
139
+ truemail-rspec (~> 0.6)
140
+ webmock (~> 3.12, >= 3.12.2)
141
141
 
142
142
  BUNDLED WITH
143
- 1.16.6
143
+ 2.2.17