truemail 2.4.1 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90972be73db5cfcfdfe9c268d8b1ead6fc392ea2a16f230cd169600ee120a24e
4
- data.tar.gz: c023197b5e157d53984acf19077f251e5bde284f5e9056878496495922b8ed0a
3
+ metadata.gz: 7de00f2ec17132cbe9de210b829968c07825131743274a4f001116a13c4997f5
4
+ data.tar.gz: 2d0486413d882a316321294bec7966705f0f9c49de35a69afb9ffd10bfeb70ec
5
5
  SHA512:
6
- metadata.gz: 8eded88982cad9f59d13e3133a547e26963e9c8687ec268032b26229b8840843ed0b93fd152449cba7f376cab3d5eef592ece213e84b739b536c251cb7e28c36
7
- data.tar.gz: dbac7df7e1414b69999fc178da524367c93d5848ba98abf08a8df8bd5ea6528d6bb416139ecd4d96e7e528d7a97d9261b538c77c8d3761e095648cea03419a21
6
+ metadata.gz: a9b3f751d260826db1b1d514cde240b895db31df9e167e41ddb2deae2195c5196c1d1bfac23c58fcd969ba01f3a7fb4299a18a50acb389ecc9806f7dc99e8bee
7
+ data.tar.gz: c32d079752ac963c8574d579809030f4ed0d98e0045aef97ca9e6cba11d90abe156ddb7995f226260474ff8d51166b4368287fc4a5c9f009ce4805c54ef5147f
data/.circleci/config.yml CHANGED
@@ -3,14 +3,19 @@ version: 2.1
3
3
  defaults: &defaults
4
4
  working_directory: ~/truemail
5
5
  docker:
6
- - image: circleci/ruby:2.5.0-node
6
+ - image: cimg/ruby:<< parameters.ruby-version >>
7
7
  environment:
8
8
  CC_TEST_REPORTER_ID: 693272a1328521f6f7c09d7ffd419b21c00410da26e98e94c687fdd38b26e2cb
9
9
 
10
10
  orbs:
11
- ruby: circleci/ruby@1.1.2
11
+ ruby: circleci/ruby@1.1.3
12
12
 
13
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
+
14
19
  restore_bundle_cache: &restore_bundle_cache
15
20
  restore_cache:
16
21
  keys:
@@ -29,63 +34,71 @@ references:
29
34
 
30
35
  install_codeclimate_reporter: &install_codeclimate_reporter
31
36
  run:
32
- name: Install Code Climate Test Reporter
37
+ name: Installing CodeClimate test reporter
33
38
  command: |
34
39
  curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
35
40
  chmod +x ./cc-test-reporter
36
41
 
37
42
  jobs:
38
- linters:
43
+ linters-ruby:
44
+ parameters:
45
+ ruby-version:
46
+ type: string
47
+
39
48
  <<: *defaults
40
49
 
41
50
  steps:
42
51
  - checkout
43
52
 
53
+ - <<: *install_bundler
44
54
  - <<: *restore_bundle_cache
45
55
  - <<: *bundle_install
46
56
  - <<: *save_bundle_cache
47
57
 
48
58
  - run:
49
- name: Running overcommit
59
+ name: Running Overcommit
50
60
  command: |
51
61
  bundle exec overcommit -s
52
62
  SKIP=AuthorEmail,AuthorName bundle exec overcommit -r
53
63
 
54
- tests:
64
+ tests-ruby:
65
+ parameters:
66
+ ruby-version:
67
+ type: string
68
+
55
69
  <<: *defaults
56
70
 
57
71
  steps:
58
72
  - checkout
59
73
 
74
+ - <<: *install_bundler
60
75
  - <<: *restore_bundle_cache
61
76
  - <<: *bundle_install
62
77
  - <<: *save_bundle_cache
63
78
  - <<: *install_codeclimate_reporter
64
79
 
65
80
  - run:
66
- name: Running tests
81
+ name: Running RSpec
67
82
  command: |
68
- mkdir /tmp/test-results
69
83
  ./cc-test-reporter before-build
70
84
  bundle exec rspec
71
85
 
72
86
  - run:
73
- name: Code Climate Test Coverage
87
+ name: Creating CodeClimate test coverage report
74
88
  command: |
75
89
  ./cc-test-reporter format-coverage -t simplecov -o "coverage/codeclimate.$CIRCLE_NODE_INDEX.json"
76
90
 
77
- - store_test_results:
78
- path: /tmp/test-results
79
-
80
91
  - store_artifacts:
81
- path: /tmp/test-results
82
- destination: test-results
92
+ name: Saving Simplecov coverage artifacts
93
+ path: ~/truemail/coverage
94
+ destination: coverage
83
95
 
84
96
  - deploy:
97
+ name: Uploading CodeClimate test coverage report
85
98
  command: |
86
99
  ./cc-test-reporter sum-coverage --output - --parts $CIRCLE_NODE_TOTAL coverage/codeclimate.*.json | ./cc-test-reporter upload-coverage --debug --input -
87
100
 
88
- compatibility-with-ruby:
101
+ compatibility-ruby:
89
102
  parameters:
90
103
  ruby-version:
91
104
  type: string
@@ -94,7 +107,6 @@ jobs:
94
107
  steps:
95
108
  - checkout
96
109
  - ruby/install-deps:
97
- bundler-version: '1.16.6'
98
110
  with-cache: false
99
111
  path: './vendor/custom_bundle'
100
112
  - run:
@@ -104,9 +116,15 @@ jobs:
104
116
  workflows:
105
117
  build_and_test:
106
118
  jobs:
107
- - linters
108
- - tests
109
- - compatibility-with-ruby:
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:
110
128
  matrix:
111
129
  parameters:
112
130
  ruby-version: ["2.6", "2.7", "3.0"]
data/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
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.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
+
5
18
  ## [2.4.1] - 2021.05.05
6
19
 
7
20
  ### Updated
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- truemail (2.4.1)
4
+ truemail (2.4.2)
5
5
  simpleidn (~> 0.2.1)
6
6
 
7
7
  GEM
@@ -21,8 +21,8 @@ GEM
21
21
  crack (0.4.5)
22
22
  rexml
23
23
  diff-lcs (1.4.4)
24
- dns_mock (1.2.1)
25
- docile (1.3.5)
24
+ dns_mock (1.2.3)
25
+ docile (1.4.0)
26
26
  faker (2.17.0)
27
27
  i18n (>= 1.6, < 2)
28
28
  fasterer (0.9.0)
@@ -85,7 +85,7 @@ GEM
85
85
  unicode-display_width (>= 1.4.0, < 3.0)
86
86
  rubocop-ast (1.5.0)
87
87
  parser (>= 3.0.1.1)
88
- rubocop-performance (1.11.2)
88
+ rubocop-performance (1.11.3)
89
89
  rubocop (>= 1.7.0, < 2.0)
90
90
  rubocop-ast (>= 0.4.0)
91
91
  rubocop-rspec (2.3.0)
@@ -103,10 +103,10 @@ GEM
103
103
  simpleidn (0.2.1)
104
104
  unf (~> 0.1.4)
105
105
  thor (1.1.0)
106
- truemail-rspec (0.5.0)
106
+ truemail-rspec (0.6.0)
107
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)
@@ -117,12 +117,12 @@ GEM
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)
123
+ bundler (~> 2.2, >= 2.2.17)
124
124
  bundler-audit (~> 0.8.0)
125
- dns_mock (~> 1.2, >= 1.2.1)
125
+ dns_mock (~> 1.2, >= 1.2.3)
126
126
  faker (~> 2.17)
127
127
  fasterer (~> 0.9.0)
128
128
  json_matchers (~> 0.11.1)
@@ -132,12 +132,12 @@ DEPENDENCIES
132
132
  reek (~> 6.0, >= 6.0.4)
133
133
  rspec (~> 3.10)
134
134
  rubocop (~> 1.14)
135
- rubocop-performance (~> 1.11, >= 1.11.2)
135
+ rubocop-performance (~> 1.11, >= 1.11.3)
136
136
  rubocop-rspec (~> 2.3)
137
137
  simplecov (~> 0.17.1)
138
138
  truemail!
139
- truemail-rspec (~> 0.5)
139
+ truemail-rspec (~> 0.6)
140
140
  webmock (~> 3.12, >= 3.12.2)
141
141
 
142
142
  BUNDLED WITH
143
- 1.16.6
143
+ 2.2.17
data/README.md CHANGED
@@ -178,11 +178,12 @@ Truemail.configure do |config|
178
178
 
179
179
  # Optional parameter. You can predefine default validation type for
180
180
  # Truemail.validate('email@email.com') call without with-parameter
181
- # Available validation types: :regex, :mx, :smtp
181
+ # Available validation types: :regex, :mx, :mx_blacklist, :smtp
182
182
  config.default_validation_type = :mx
183
183
 
184
184
  # Optional parameter. You can predefine which type of validation will be used for domains.
185
- # Also you can skip validation by domain. Available validation types: :regex, :mx, :smtp
185
+ # Also you can skip validation by domain.
186
+ # Available validation types: :regex, :mx, :mx_blacklist, :smtp
186
187
  # This configuration will be used over current or default validation type parameter
187
188
  # All of validations for 'somedomain.com' will be processed with regex validation only.
188
189
  # And all of validations for 'otherdomain.com' will be processed with mx validation only.
@@ -222,7 +223,7 @@ Truemail.configure do |config|
222
223
  config.not_rfc_mx_lookup_flow = true
223
224
 
224
225
  # Optional parameter. This option will provide to use smtp fail fast behaviour. When
225
- # smtp_fail_fast = true it means that truemail ends smtp validation session after first
226
+ # smtp_fail_fast = true it means that Truemail ends smtp validation session after first
226
227
  # attempt on the first mx server in any fail cases (network connection/timeout error,
227
228
  # smtp validation error). This feature helps to reduce total time of SMTP validation
228
229
  # session up to 1 second. By default this option is disabled.
@@ -40,20 +40,20 @@ module Truemail
40
40
 
41
41
  Truemail::Log::Serializer::Base::CONFIGURATION_ARRAY_ATTRS.each do |method|
42
42
  define_method(method) do
43
- value = executor_configuration.public_send(method)
44
- return if value.empty?
45
- value
43
+ executor_configuration_attr = executor_configuration.public_send(method)
44
+ return if executor_configuration_attr.empty?
45
+ executor_configuration_attr
46
46
  end
47
47
  end
48
48
 
49
49
  Truemail::Log::Serializer::Base::CONFIGURATION_REGEX_ATTRS.each do |method|
50
50
  define_method(method) do
51
- value = executor_configuration.public_send(method)
51
+ executor_configuration_attr = executor_configuration.public_send(method)
52
52
  default_pattern = Truemail::RegexConstant.const_get(
53
53
  (method.eql?(:email_pattern) ? :regex_email_pattern : :regex_smtp_error_body_pattern).upcase
54
54
  )
55
- return Truemail::Log::Serializer::Base::DEFAULT_GEM_VALUE if value.eql?(default_pattern)
56
- value
55
+ return Truemail::Log::Serializer::Base::DEFAULT_GEM_VALUE if executor_configuration_attr.eql?(default_pattern)
56
+ executor_configuration_attr
57
57
  end
58
58
  end
59
59
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '2.4.1'
4
+ VERSION = '2.4.2'
5
5
  end
data/truemail.gemspec CHANGED
@@ -33,9 +33,9 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
35
35
 
36
- spec.add_development_dependency 'bundler', '~> 1.16'
36
+ spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.17'
37
37
  spec.add_development_dependency 'bundler-audit', '~> 0.8.0'
38
- spec.add_development_dependency 'dns_mock', '~> 1.2', '>= 1.2.1'
38
+ spec.add_development_dependency 'dns_mock', '~> 1.2', '>= 1.2.3'
39
39
  spec.add_development_dependency 'faker', '~> 2.17'
40
40
  spec.add_development_dependency 'fasterer', '~> 0.9.0'
41
41
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
@@ -45,9 +45,9 @@ Gem::Specification.new do |spec|
45
45
  spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.4'
46
46
  spec.add_development_dependency 'rspec', '~> 3.10'
47
47
  spec.add_development_dependency 'rubocop', '~> 1.14'
48
- spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.2'
48
+ spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.3'
49
49
  spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
50
50
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
51
- spec.add_development_dependency 'truemail-rspec', '~> 0.5'
51
+ spec.add_development_dependency 'truemail-rspec', '~> 0.6'
52
52
  spec.add_development_dependency 'webmock', '~> 3.12', '>= 3.12.2'
53
53
  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.1
4
+ version: 2.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-05 00:00:00.000000000 Z
11
+ date: 2021-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -30,14 +30,20 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.16'
33
+ version: '2.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.2.17
34
37
  type: :development
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: '1.16'
43
+ version: '2.2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 2.2.17
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler-audit
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -61,7 +67,7 @@ dependencies:
61
67
  version: '1.2'
62
68
  - - ">="
63
69
  - !ruby/object:Gem::Version
64
- version: 1.2.1
70
+ version: 1.2.3
65
71
  type: :development
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +77,7 @@ dependencies:
71
77
  version: '1.2'
72
78
  - - ">="
73
79
  - !ruby/object:Gem::Version
74
- version: 1.2.1
80
+ version: 1.2.3
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: faker
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +225,7 @@ dependencies:
219
225
  version: '1.11'
220
226
  - - ">="
221
227
  - !ruby/object:Gem::Version
222
- version: 1.11.2
228
+ version: 1.11.3
223
229
  type: :development
224
230
  prerelease: false
225
231
  version_requirements: !ruby/object:Gem::Requirement
@@ -229,7 +235,7 @@ dependencies:
229
235
  version: '1.11'
230
236
  - - ">="
231
237
  - !ruby/object:Gem::Version
232
- version: 1.11.2
238
+ version: 1.11.3
233
239
  - !ruby/object:Gem::Dependency
234
240
  name: rubocop-rspec
235
241
  requirement: !ruby/object:Gem::Requirement
@@ -264,14 +270,14 @@ dependencies:
264
270
  requirements:
265
271
  - - "~>"
266
272
  - !ruby/object:Gem::Version
267
- version: '0.5'
273
+ version: '0.6'
268
274
  type: :development
269
275
  prerelease: false
270
276
  version_requirements: !ruby/object:Gem::Requirement
271
277
  requirements:
272
278
  - - "~>"
273
279
  - !ruby/object:Gem::Version
274
- version: '0.5'
280
+ version: '0.6'
275
281
  - !ruby/object:Gem::Dependency
276
282
  name: webmock
277
283
  requirement: !ruby/object:Gem::Requirement