truemail 2.5.3 → 2.6.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: f4489970da0eb47e0577b29a6dd696d7a89d4c74b977a383d690e0b33e510e61
4
- data.tar.gz: d3e3868b250db8d306ca42092703a2fd85576afed9657b998992b4c509651f86
3
+ metadata.gz: c2d1eb7e3641235b998ef48c2f46bddf3d68424aa712ae23202487df93c39c2e
4
+ data.tar.gz: bb8e8d1ebb6c10e587684d93f7ce2dccdf138bdcbc2d7c4d089f13a18f73c372
5
5
  SHA512:
6
- metadata.gz: e6086d5f8e6700ede8b26db492c5fbe3fe4e56ecf844f9461364af755f945210de4856f4ec5b255602571ce46dd166dc4739b53b9c00431bcd9b3817d16afa5e
7
- data.tar.gz: a626ff47ae105cd13c8659522e8e354e7ec8cf35533930901c34a23378cb15c90dac591294186ec260ba1e4adffca5db00abd3374cf6e2b5ee35f35c6c537828
6
+ metadata.gz: 71f59607b8039bb17fa4a6f0bd2a756bae53738f7dfadb27dfdcf0073a93e8226eae280827e8031a9a234de2f6edde4f8fa7311423f80fcef755f40d53635d9b
7
+ data.tar.gz: e794657e7fc2e723a7243f6ce72451f9fb91bfadcfd4239cdec45b8a610a1ddee09a62848bd65452946e46594565c64ebc158309c1aa7e8f1309f41156b04ebf
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.1.3
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: bundle install --path vendor/bundle
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
@@ -50,7 +51,6 @@ jobs:
50
51
  steps:
51
52
  - checkout
52
53
 
53
- - <<: *install_bundler
54
54
  - <<: *restore_bundle_cache
55
55
  - <<: *bundle_install
56
56
  - <<: *save_bundle_cache
@@ -71,10 +71,10 @@ jobs:
71
71
  steps:
72
72
  - checkout
73
73
 
74
- - <<: *install_bundler
75
74
  - <<: *restore_bundle_cache
76
75
  - <<: *bundle_install
77
76
  - <<: *save_bundle_cache
77
+ - <<: *system_dependencies
78
78
  - <<: *install_codeclimate_reporter
79
79
 
80
80
  - run:
@@ -107,8 +107,10 @@ jobs:
107
107
  steps:
108
108
  - checkout
109
109
  - ruby/install-deps:
110
+ bundler-version: "2.3.5"
110
111
  with-cache: false
111
112
  path: './vendor/custom_bundle'
113
+ - <<: *system_dependencies
112
114
  - run:
113
115
  name: Running compatibility tests
114
116
  command: bundle exec rspec
@@ -127,4 +129,4 @@ workflows:
127
129
  - compatibility-ruby:
128
130
  matrix:
129
131
  parameters:
130
- ruby-version: ["2.6", "2.7", "3.0"]
132
+ ruby-version: ["2.6", "2.7", "3.0", "3.1"]
data/.codeclimate.yml CHANGED
@@ -7,7 +7,7 @@ checks:
7
7
  plugins:
8
8
  rubocop:
9
9
  enabled: true
10
- channel: rubocop-1-22
10
+ channel: rubocop-1-24
11
11
 
12
12
  reek:
13
13
  enabled: true
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  /.rspec_status
2
2
  /pkg
3
3
  /coverage/
4
+ Gemfile.lock
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
 
@@ -407,6 +431,9 @@ Performance/MapCompact:
407
431
  Performance/ConcurrentMonotonicTime:
408
432
  Enabled: true
409
433
 
434
+ Performance/StringIdentifierArgument:
435
+ Enabled: true
436
+
410
437
  RSpec/ExampleLength:
411
438
  Enabled: false
412
439
 
@@ -448,3 +475,6 @@ RSpec/ExcessiveDocstringSpacing:
448
475
 
449
476
  RSpec/SubjectDeclaration:
450
477
  Enabled: true
478
+
479
+ RSpec/FactoryBot/SyntaxMethods:
480
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -2,11 +2,58 @@
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.2] - 2022.01.19
6
+
7
+ ### Updated
8
+
9
+ - Updated tests
10
+ - Updated gem development dependencies
11
+ - Updated gem version
12
+
13
+ ## [2.6.1] - 2022.01.04
14
+
15
+ ### Fixed
16
+
17
+ - Fixed redefining builtin implementations caused using stdlib as external dependencies. Thanks [@allard](https://github.com/allard) for report.
18
+
19
+ ### Updated
20
+
21
+ - Updated `Truemail::Validate::Smtp::Request::Session#initialize`, `Truemail::Validate::Smtp::Request::Session#start`, tests
22
+ - Updated rubocop/reek configs
23
+ - Updated gem docs, version
24
+
25
+ ## [2.6.0] - 2021.12.28
26
+
27
+ ### Added
28
+
29
+ - Added Ruby 3.1.x compatibility
30
+ - Added `Truemail::Validate::Smtp::Request::Session` - `Net::SMTP` wrapper, tests
31
+
32
+ ### Updated
33
+
34
+ - Updated `Truemail::Validate::Smtp::Request#session`, `Truemail::Validate::Smtp::Request#run`, tests
35
+ - Updated rubocop/reek/codeclimate/circleci configs
36
+ - Updated gem runtime/development dependencies
37
+ - Updated gem docs, version
38
+
39
+ ## [2.5.4] - 2021.12.03
40
+
41
+ ### Fixed
42
+
43
+ - `Net::SMTP#start` Ruby 2.x compatibility. Thanks [@evserykh](https://github.com/evserykh) for bug report.
44
+
45
+ ### Updated
46
+
47
+ - Updated `Truemail::Validate::Smtp::Request#run`
48
+ - Updated rubocop/codeclimate configs
49
+ - Updated gem development dependencies
50
+ - Updated gem docs, version
51
+
5
52
  ## [2.5.3] - 2021.11.08
6
53
 
7
54
  ### Fixed
8
55
 
9
- - 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.
56
+ - 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.
10
57
 
11
58
  ### Updated
12
59
 
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2019-2021 Vladislav Trotsenko
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
@@ -5,7 +5,7 @@
5
5
  [![CircleCI](https://circleci.com/gh/truemail-rb/truemail/tree/master.svg?style=svg)](https://circleci.com/gh/truemail-rb/truemail/tree/master)
6
6
  [![Gem Version](https://badge.fury.io/rb/truemail.svg)](https://badge.fury.io/rb/truemail)
7
7
  [![Downloads](https://img.shields.io/gem/dt/truemail.svg?colorA=004d99&colorB=0073e6)](https://rubygems.org/gems/truemail)
8
- [![SemVer compatibility](https://api.dependabot.com/badges/compatibility_score?dependency-name=truemail&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=truemail&package-manager=bundler&version-scheme=semver)
8
+ [![In Awesome Ruby](https://raw.githubusercontent.com/sindresorhus/awesome/main/media/mentioned-badge.svg)](https://github.com/markets/awesome-ruby)
9
9
  [![Gitter](https://badges.gitter.im/truemail-rb/community.svg)](https://gitter.im/truemail-rb/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
10
10
  [![GitHub](https://img.shields.io/github/license/truemail-rb/truemail)](LICENSE.txt)
11
11
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](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(configuration.verifier_domain, **(::RUBY_VERSION[/\A3\..+\z/] ? { tls_verify: false } : {})) do |smtp_request|
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
- ::Net::SMTP.new(host, Truemail::Validate::Smtp::Request::SMTP_PORT).tap do |settings|
69
- settings.open_timeout = configuration.connection_timeout
70
- settings.read_timeout = configuration.response_timeout
71
- end
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))
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '2.5.3'
4
+ VERSION = '2.6.2'
5
5
  end
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.31'
37
37
  spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
38
- spec.add_development_dependency 'dns_mock', '~> 1.4', '>= 1.4.3'
38
+ spec.add_development_dependency 'dns_mock', '~> 1.5'
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,10 +44,11 @@ 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.22', '>= 1.22.3'
48
- spec.add_development_dependency 'rubocop-performance', '~> 1.12'
49
- spec.add_development_dependency 'rubocop-rspec', '~> 2.6'
47
+ spec.add_development_dependency 'rubocop', '~> 1.24', '>= 1.24.1'
48
+ spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.2'
49
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.7'
50
50
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
51
+ spec.add_development_dependency 'smtp_mock', '~> 0.1.1'
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.3
4
+ version: 2.6.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-11-08 00:00:00.000000000 Z
11
+ date: 2022-01-19 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.31
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.31
47
27
  - !ruby/object:Gem::Dependency
48
28
  name: bundler-audit
49
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,20 +44,14 @@ dependencies:
64
44
  requirements:
65
45
  - - "~>"
66
46
  - !ruby/object:Gem::Version
67
- version: '1.4'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 1.4.3
47
+ version: '1.5'
71
48
  type: :development
72
49
  prerelease: false
73
50
  version_requirements: !ruby/object:Gem::Requirement
74
51
  requirements:
75
52
  - - "~>"
76
53
  - !ruby/object:Gem::Version
77
- version: '1.4'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 1.4.3
54
+ version: '1.5'
81
55
  - !ruby/object:Gem::Dependency
82
56
  name: fasterer
83
57
  requirement: !ruby/object:Gem::Requirement
@@ -208,48 +182,54 @@ dependencies:
208
182
  requirements:
209
183
  - - "~>"
210
184
  - !ruby/object:Gem::Version
211
- version: '1.22'
185
+ version: '1.24'
212
186
  - - ">="
213
187
  - !ruby/object:Gem::Version
214
- version: 1.22.3
188
+ version: 1.24.1
215
189
  type: :development
216
190
  prerelease: false
217
191
  version_requirements: !ruby/object:Gem::Requirement
218
192
  requirements:
219
193
  - - "~>"
220
194
  - !ruby/object:Gem::Version
221
- version: '1.22'
195
+ version: '1.24'
222
196
  - - ">="
223
197
  - !ruby/object:Gem::Version
224
- version: 1.22.3
198
+ version: 1.24.1
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.12'
205
+ version: '1.13'
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 1.13.2
232
209
  type: :development
233
210
  prerelease: false
234
211
  version_requirements: !ruby/object:Gem::Requirement
235
212
  requirements:
236
213
  - - "~>"
237
214
  - !ruby/object:Gem::Version
238
- version: '1.12'
215
+ version: '1.13'
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: 1.13.2
239
219
  - !ruby/object:Gem::Dependency
240
220
  name: rubocop-rspec
241
221
  requirement: !ruby/object:Gem::Requirement
242
222
  requirements:
243
223
  - - "~>"
244
224
  - !ruby/object:Gem::Version
245
- version: '2.6'
225
+ version: '2.7'
246
226
  type: :development
247
227
  prerelease: false
248
228
  version_requirements: !ruby/object:Gem::Requirement
249
229
  requirements:
250
230
  - - "~>"
251
231
  - !ruby/object:Gem::Version
252
- version: '2.6'
232
+ version: '2.7'
253
233
  - !ruby/object:Gem::Dependency
254
234
  name: simplecov
255
235
  requirement: !ruby/object:Gem::Requirement
@@ -264,6 +244,20 @@ dependencies:
264
244
  - - "~>"
265
245
  - !ruby/object:Gem::Version
266
246
  version: 0.17.1
247
+ - !ruby/object:Gem::Dependency
248
+ name: smtp_mock
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - "~>"
252
+ - !ruby/object:Gem::Version
253
+ version: 0.1.1
254
+ type: :development
255
+ prerelease: false
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - "~>"
259
+ - !ruby/object:Gem::Version
260
+ version: 0.1.1
267
261
  - !ruby/object:Gem::Dependency
268
262
  name: truemail-rspec
269
263
  requirement: !ruby/object:Gem::Requirement
@@ -319,7 +313,6 @@ files:
319
313
  - CODE_OF_CONDUCT.md
320
314
  - CONTRIBUTING.md
321
315
  - Gemfile
322
- - Gemfile.lock
323
316
  - LICENSE.txt
324
317
  - README.md
325
318
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,138 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- truemail (2.5.3)
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.3)
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.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.3)
73
- rubocop (1.22.3)
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.13.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.0)
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.31)
119
- bundler-audit (~> 0.9.0.1)
120
- dns_mock (~> 1.4, >= 1.4.3)
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.3)
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.31