truemail-rspec 0.3.3 → 0.7.0
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 +59 -18
- data/.codeclimate.yml +1 -1
- data/.reek.yml +6 -0
- data/.rubocop.yml +78 -0
- data/CHANGELOG.md +116 -0
- data/Gemfile.lock +55 -58
- data/README.md +4 -3
- data/lib/truemail/rspec.rb +1 -1
- data/lib/truemail/rspec/auditor_helper.rb +1 -1
- data/lib/truemail/rspec/configuration_helper.rb +1 -1
- data/lib/truemail/rspec/validator_helper.rb +26 -13
- data/lib/truemail/rspec/version.rb +1 -1
- data/truemail-rspec.gemspec +12 -12
- metadata +42 -55
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 62f9d48df15c7bc13405bd109dc90b7852767be6f00382681c753f0639b32775
|
|
4
|
+
data.tar.gz: d8ebe57fa3508fb86945a0d25352bf365896661d8b4977ce06a7c40766f87223
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ac6f480559c60ba9ce90aa2facd6e09ca374171670706fab67bd647bbc3a8ad57c4402c8ae2faee8424741ebb77ab577d747fa5378fdcbd13d377b5bc13889e
|
|
7
|
+
data.tar.gz: e9f278a1e6f12f73968416cd971cf63c411e3cd862e446d9f8ba5e58ba9504e4f86f82dbc4a367e342e62d9c491b84b83dd3262e79e6a36ed2ba5b68a0087201
|
data/.circleci/config.yml
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
+
version: 2.1
|
|
2
|
+
|
|
1
3
|
defaults: &defaults
|
|
2
4
|
working_directory: ~/truemail-rspec
|
|
3
5
|
docker:
|
|
4
|
-
- image:
|
|
6
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
|
5
7
|
environment:
|
|
6
8
|
CC_TEST_REPORTER_ID: 889fa37782e4f5d0f81705f0d869a9c907f04151faae8260dde55d3f74e65606
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
78
|
-
|
|
92
|
+
name: Saving Simplecov coverage artifacts
|
|
93
|
+
path: ~/truemail-rspec/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
|
-
|
|
86
|
-
build:
|
|
117
|
+
build_and_test:
|
|
87
118
|
jobs:
|
|
88
|
-
- linters
|
|
89
|
-
|
|
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
data/.reek.yml
CHANGED
|
@@ -11,6 +11,7 @@ detectors:
|
|
|
11
11
|
ControlParameter:
|
|
12
12
|
exclude:
|
|
13
13
|
- Truemail::RSpec::AuditorHelper#create_auditor
|
|
14
|
+
- Truemail::RSpec::ValidatorHelper#create_servers_list
|
|
14
15
|
|
|
15
16
|
NestedIterators:
|
|
16
17
|
exclude:
|
|
@@ -24,9 +25,14 @@ detectors:
|
|
|
24
25
|
DuplicateMethodCall:
|
|
25
26
|
exclude:
|
|
26
27
|
- Truemail::RSpec::ValidatorHelper#mx_layer
|
|
28
|
+
- Truemail::RSpec::ValidatorHelper#mx_blacklist_layer
|
|
27
29
|
- Truemail::RSpec::ValidatorHelper#smtp_layer
|
|
28
30
|
- Truemail::RSpec::ValidatorHelper#unstub_validation_layers
|
|
29
31
|
|
|
32
|
+
TooManyInstanceVariables:
|
|
33
|
+
exclude:
|
|
34
|
+
- Truemail::RSpec::ValidatorHelper::ValidatorFactory
|
|
35
|
+
|
|
30
36
|
LongParameterList:
|
|
31
37
|
enabled: false
|
|
32
38
|
|
data/.rubocop.yml
CHANGED
|
@@ -28,6 +28,9 @@ Naming/VariableNumber:
|
|
|
28
28
|
Naming/RescuedExceptionsVariableName:
|
|
29
29
|
Enabled: false
|
|
30
30
|
|
|
31
|
+
Naming/InclusiveLanguage:
|
|
32
|
+
Enabled: false
|
|
33
|
+
|
|
31
34
|
Style/Documentation:
|
|
32
35
|
Enabled: false
|
|
33
36
|
|
|
@@ -124,6 +127,30 @@ Style/RedundantArgument:
|
|
|
124
127
|
Style/SwapValues:
|
|
125
128
|
Enabled: true
|
|
126
129
|
|
|
130
|
+
Style/EndlessMethod:
|
|
131
|
+
Enabled: true
|
|
132
|
+
|
|
133
|
+
Style/HashConversion:
|
|
134
|
+
Enabled: true
|
|
135
|
+
|
|
136
|
+
Style/HashExcept:
|
|
137
|
+
Enabled: true
|
|
138
|
+
|
|
139
|
+
Style/IfWithBooleanLiteralBranches:
|
|
140
|
+
Enabled: true
|
|
141
|
+
|
|
142
|
+
Style/StringChars:
|
|
143
|
+
Enabled: true
|
|
144
|
+
|
|
145
|
+
Style/InPatternThen:
|
|
146
|
+
Enabled: true
|
|
147
|
+
|
|
148
|
+
Style/MultilineInPatternThen:
|
|
149
|
+
Enabled: true
|
|
150
|
+
|
|
151
|
+
Style/QuotedSymbols:
|
|
152
|
+
Enabled: true
|
|
153
|
+
|
|
127
154
|
Layout/EmptyLinesAroundAttributeAccessor:
|
|
128
155
|
Enabled: true
|
|
129
156
|
|
|
@@ -152,6 +179,12 @@ Layout/ClassStructure:
|
|
|
152
179
|
Layout/EmptyLineAfterGuardClause:
|
|
153
180
|
Enabled: false
|
|
154
181
|
|
|
182
|
+
Layout/SpaceBeforeBrackets:
|
|
183
|
+
Enabled: true
|
|
184
|
+
|
|
185
|
+
Layout/LineEndStringConcatenationIndentation:
|
|
186
|
+
Enabled: true
|
|
187
|
+
|
|
155
188
|
Lint/NonDeterministicRequireOrder:
|
|
156
189
|
Enabled: false
|
|
157
190
|
|
|
@@ -221,6 +254,36 @@ Lint/UnexpectedBlockArity:
|
|
|
221
254
|
Lint/UnmodifiedReduceAccumulator:
|
|
222
255
|
Enabled: true
|
|
223
256
|
|
|
257
|
+
Lint/AmbiguousAssignment:
|
|
258
|
+
Enabled: true
|
|
259
|
+
|
|
260
|
+
Lint/DeprecatedConstants:
|
|
261
|
+
Enabled: true
|
|
262
|
+
|
|
263
|
+
Lint/LambdaWithoutLiteralBlock:
|
|
264
|
+
Enabled: true
|
|
265
|
+
|
|
266
|
+
Lint/NumberedParameterAssignment:
|
|
267
|
+
Enabled: true
|
|
268
|
+
|
|
269
|
+
Lint/OrAssignmentToConstant:
|
|
270
|
+
Enabled: true
|
|
271
|
+
|
|
272
|
+
Lint/RedundantDirGlobSort:
|
|
273
|
+
Enabled: true
|
|
274
|
+
|
|
275
|
+
Lint/SymbolConversion:
|
|
276
|
+
Enabled: true
|
|
277
|
+
|
|
278
|
+
Lint/TripleQuotes:
|
|
279
|
+
Enabled: true
|
|
280
|
+
|
|
281
|
+
Lint/EmptyInPattern:
|
|
282
|
+
Enabled: true
|
|
283
|
+
|
|
284
|
+
Gemspec/DateAssignment:
|
|
285
|
+
Enabled: true
|
|
286
|
+
|
|
224
287
|
Performance/AncestorsInclude:
|
|
225
288
|
Enabled: true
|
|
226
289
|
|
|
@@ -260,6 +323,15 @@ Performance/MethodObjectAsBlock:
|
|
|
260
323
|
Performance/Sum:
|
|
261
324
|
Enabled: true
|
|
262
325
|
|
|
326
|
+
Performance/MapCompact:
|
|
327
|
+
Enabled: true
|
|
328
|
+
|
|
329
|
+
Performance/RedundantEqualityComparisonBlock:
|
|
330
|
+
Enabled: true
|
|
331
|
+
|
|
332
|
+
Performance/RedundantSplitRegexpArgument:
|
|
333
|
+
Enabled: true
|
|
334
|
+
|
|
263
335
|
RSpec/ExampleLength:
|
|
264
336
|
Enabled: false
|
|
265
337
|
|
|
@@ -286,3 +358,9 @@ RSpec/MultipleDescribes:
|
|
|
286
358
|
|
|
287
359
|
RSpec/MultipleMemoizedHelpers:
|
|
288
360
|
Enabled: false
|
|
361
|
+
|
|
362
|
+
RSpec/IdenticalEqualityAssertion:
|
|
363
|
+
Enabled: true
|
|
364
|
+
|
|
365
|
+
RSpec/Rails/AvoidSetupHook:
|
|
366
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,122 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
|
|
2
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).
|
|
3
4
|
|
|
5
|
+
## [0.7.0] - 2021-08-11
|
|
6
|
+
|
|
7
|
+
### Updated
|
|
8
|
+
|
|
9
|
+
- gem runtime dependencies
|
|
10
|
+
- gem development dependencies
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- `faker` to `ffaker` dependency
|
|
15
|
+
|
|
16
|
+
## [0.6.0] - 2021-05-13
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
# Truemail::Validator instance, successful case
|
|
22
|
+
create_validator(:mx_blacklist)
|
|
23
|
+
=> #<Truemail::Validator:0x00007fea91a1d528
|
|
24
|
+
@result=
|
|
25
|
+
#<struct Truemail::Validator::Result
|
|
26
|
+
success=true,
|
|
27
|
+
email="danyell@brakus-dooley.co",
|
|
28
|
+
domain="brakus-dooley.co",
|
|
29
|
+
mail_servers=["175.244.212.125", "69.106.253.221", "7.125.70.85", "152.249.195.7"],
|
|
30
|
+
errors={},
|
|
31
|
+
smtp_debug=nil,
|
|
32
|
+
configuration=
|
|
33
|
+
#<Truemail::Configuration:0x00007fea98977248
|
|
34
|
+
@blacklisted_domains=[],
|
|
35
|
+
@blacklisted_mx_ip_addresses=[],
|
|
36
|
+
@connection_attempts=2,
|
|
37
|
+
@connection_timeout=2,
|
|
38
|
+
@default_validation_type=:smtp,
|
|
39
|
+
@dns=[],
|
|
40
|
+
@email_pattern=/(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w|\-.+]*)@((?i-mx:[\p{L}0-9]+([\-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}))\z)/,
|
|
41
|
+
@not_rfc_mx_lookup_flow=false,
|
|
42
|
+
@response_timeout=2,
|
|
43
|
+
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
|
44
|
+
@smtp_fail_fast=false,
|
|
45
|
+
@smtp_safe_check=false,
|
|
46
|
+
@validation_type_by_domain={},
|
|
47
|
+
@verifier_domain="lubowitz.com",
|
|
48
|
+
@verifier_email="shante.keeling@lubowitz.com",
|
|
49
|
+
@whitelist_validation=false,
|
|
50
|
+
@whitelisted_domains=[]>>,
|
|
51
|
+
@validation_type=:mx_blacklist>
|
|
52
|
+
|
|
53
|
+
# Truemail::Validator instance, failure case
|
|
54
|
+
create_validator(:mx_blacklist, success: false)
|
|
55
|
+
=> #<Truemail::Validator:0x00007fea988cfd18
|
|
56
|
+
@result=
|
|
57
|
+
#<struct Truemail::Validator::Result
|
|
58
|
+
success=false,
|
|
59
|
+
email="mike.treutel@heathcote.biz",
|
|
60
|
+
domain="heathcote.biz",
|
|
61
|
+
mail_servers=["212.76.177.170", "253.244.87.72", "144.225.110.224"],
|
|
62
|
+
errors={:mx_blacklist=>"blacklisted mx server ip address"},
|
|
63
|
+
smtp_debug=nil,
|
|
64
|
+
configuration=
|
|
65
|
+
#<Truemail::Configuration:0x00007fea988ee150
|
|
66
|
+
@blacklisted_domains=[],
|
|
67
|
+
@blacklisted_mx_ip_addresses=["212.76.177.170", "253.244.87.72", "144.225.110.224"],
|
|
68
|
+
@connection_attempts=2,
|
|
69
|
+
@connection_timeout=2,
|
|
70
|
+
@default_validation_type=:smtp,
|
|
71
|
+
@dns=[],
|
|
72
|
+
@email_pattern=/(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w|\-.+]*)@((?i-mx:[\p{L}0-9]+([\-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}))\z)/,
|
|
73
|
+
@not_rfc_mx_lookup_flow=false,
|
|
74
|
+
@response_timeout=2,
|
|
75
|
+
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
|
76
|
+
@smtp_fail_fast=false,
|
|
77
|
+
@smtp_safe_check=false,
|
|
78
|
+
@validation_type_by_domain={},
|
|
79
|
+
@verifier_domain="grant-flatley.org",
|
|
80
|
+
@verifier_email="mariano@grant-flatley.org",
|
|
81
|
+
@whitelist_validation=false,
|
|
82
|
+
@whitelisted_domains=[]>>,
|
|
83
|
+
@validation_type=:mx_blacklist>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
- Ability to create `Truemail::Validator` instance for `MxBlacklist` validation layer
|
|
87
|
+
- Stub for `MxBlacklist` validation layer
|
|
88
|
+
- CircleCI config for using multiple Ruby versions
|
|
89
|
+
|
|
90
|
+
### Updated
|
|
91
|
+
|
|
92
|
+
- Updated gem development dependencies
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
|
|
96
|
+
- Simplecov coverage issues
|
|
97
|
+
|
|
98
|
+
## [0.5.0] - 2021-05-05
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
|
|
102
|
+
- Ability to set size for servers list
|
|
103
|
+
|
|
104
|
+
```ruby
|
|
105
|
+
create_servers_list(42) # => returns array with 42 random ip addresses
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Updated
|
|
109
|
+
|
|
110
|
+
- gem runtime dependencies
|
|
111
|
+
- gem development dependencies
|
|
112
|
+
|
|
113
|
+
## [0.4.0] - 2021-02-24
|
|
114
|
+
|
|
115
|
+
### Updated
|
|
116
|
+
|
|
117
|
+
- gem runtime dependencies
|
|
118
|
+
- gem development dependencies
|
|
119
|
+
|
|
4
120
|
## [0.3.3] - 2020-12-06
|
|
5
121
|
|
|
6
122
|
### Added
|
data/Gemfile.lock
CHANGED
|
@@ -1,41 +1,38 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
truemail-rspec (0.
|
|
5
|
-
|
|
4
|
+
truemail-rspec (0.7.0)
|
|
5
|
+
ffaker (~> 2.18)
|
|
6
6
|
rspec (~> 3.10)
|
|
7
|
-
truemail (
|
|
7
|
+
truemail (>= 2.4)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
ast (2.4.
|
|
13
|
-
bundler-audit (0.
|
|
12
|
+
ast (2.4.2)
|
|
13
|
+
bundler-audit (0.8.0)
|
|
14
14
|
bundler (>= 1.2.0, < 3)
|
|
15
|
-
thor (
|
|
15
|
+
thor (~> 1.0)
|
|
16
16
|
byebug (11.1.3)
|
|
17
|
-
childprocess (4.
|
|
17
|
+
childprocess (4.1.0)
|
|
18
18
|
coderay (1.1.3)
|
|
19
19
|
colorize (0.8.1)
|
|
20
|
-
concurrent-ruby (1.1.7)
|
|
21
20
|
diff-lcs (1.4.4)
|
|
22
|
-
docile (1.
|
|
23
|
-
|
|
24
|
-
i18n (>= 1.6, < 2)
|
|
25
|
-
fasterer (0.8.3)
|
|
21
|
+
docile (1.4.0)
|
|
22
|
+
fasterer (0.9.0)
|
|
26
23
|
colorize (~> 0.7)
|
|
27
24
|
ruby_parser (>= 3.14.1)
|
|
28
|
-
|
|
29
|
-
concurrent-ruby (~> 1.0)
|
|
25
|
+
ffaker (2.18.0)
|
|
30
26
|
iniparse (1.5.0)
|
|
31
|
-
json (2.
|
|
27
|
+
json (2.5.1)
|
|
32
28
|
kwalify (0.7.2)
|
|
33
29
|
method_source (1.0.0)
|
|
34
|
-
overcommit (0.
|
|
30
|
+
overcommit (0.58.0)
|
|
35
31
|
childprocess (>= 0.6.3, < 5)
|
|
36
32
|
iniparse (~> 1.4)
|
|
33
|
+
rexml (~> 3.2)
|
|
37
34
|
parallel (1.20.1)
|
|
38
|
-
parser (
|
|
35
|
+
parser (3.0.2.0)
|
|
39
36
|
ast (~> 2.4.1)
|
|
40
37
|
pry (0.13.1)
|
|
41
38
|
coderay (~> 1.1)
|
|
@@ -43,83 +40,83 @@ GEM
|
|
|
43
40
|
pry-byebug (3.9.0)
|
|
44
41
|
byebug (~> 11.0)
|
|
45
42
|
pry (~> 0.13.0)
|
|
46
|
-
psych (
|
|
43
|
+
psych (4.0.1)
|
|
47
44
|
rainbow (3.0.0)
|
|
48
|
-
rake (13.0.
|
|
49
|
-
reek (6.0.
|
|
45
|
+
rake (13.0.6)
|
|
46
|
+
reek (6.0.5)
|
|
50
47
|
kwalify (~> 0.7.0)
|
|
51
|
-
parser (
|
|
52
|
-
psych (
|
|
48
|
+
parser (~> 3.0.0)
|
|
49
|
+
psych (>= 3.1, < 5.0)
|
|
53
50
|
rainbow (>= 2.0, < 4.0)
|
|
54
|
-
regexp_parser (2.
|
|
55
|
-
rexml (3.2.
|
|
51
|
+
regexp_parser (2.1.1)
|
|
52
|
+
rexml (3.2.5)
|
|
56
53
|
rspec (3.10.0)
|
|
57
54
|
rspec-core (~> 3.10.0)
|
|
58
55
|
rspec-expectations (~> 3.10.0)
|
|
59
56
|
rspec-mocks (~> 3.10.0)
|
|
60
|
-
rspec-core (3.10.
|
|
57
|
+
rspec-core (3.10.1)
|
|
61
58
|
rspec-support (~> 3.10.0)
|
|
62
|
-
rspec-expectations (3.10.
|
|
59
|
+
rspec-expectations (3.10.1)
|
|
63
60
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
64
61
|
rspec-support (~> 3.10.0)
|
|
65
|
-
rspec-mocks (3.10.
|
|
62
|
+
rspec-mocks (3.10.2)
|
|
66
63
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
64
|
rspec-support (~> 3.10.0)
|
|
68
|
-
rspec-support (3.10.
|
|
69
|
-
rubocop (1.
|
|
65
|
+
rspec-support (3.10.2)
|
|
66
|
+
rubocop (1.18.4)
|
|
70
67
|
parallel (~> 1.10)
|
|
71
|
-
parser (>=
|
|
68
|
+
parser (>= 3.0.0.0)
|
|
72
69
|
rainbow (>= 2.2.2, < 4.0)
|
|
73
70
|
regexp_parser (>= 1.8, < 3.0)
|
|
74
71
|
rexml
|
|
75
|
-
rubocop-ast (>= 1.
|
|
72
|
+
rubocop-ast (>= 1.8.0, < 2.0)
|
|
76
73
|
ruby-progressbar (~> 1.7)
|
|
77
|
-
unicode-display_width (>= 1.4.0, <
|
|
78
|
-
rubocop-ast (1.
|
|
79
|
-
parser (>=
|
|
80
|
-
rubocop-performance (1.
|
|
81
|
-
rubocop (>=
|
|
74
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
75
|
+
rubocop-ast (1.9.1)
|
|
76
|
+
parser (>= 3.0.1.1)
|
|
77
|
+
rubocop-performance (1.11.4)
|
|
78
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
82
79
|
rubocop-ast (>= 0.4.0)
|
|
83
|
-
rubocop-rspec (2.0
|
|
80
|
+
rubocop-rspec (2.4.0)
|
|
84
81
|
rubocop (~> 1.0)
|
|
85
82
|
rubocop-ast (>= 1.1.0)
|
|
86
|
-
ruby-progressbar (1.
|
|
87
|
-
ruby_parser (3.
|
|
88
|
-
sexp_processor (~> 4.
|
|
89
|
-
sexp_processor (4.15.
|
|
83
|
+
ruby-progressbar (1.11.0)
|
|
84
|
+
ruby_parser (3.17.0)
|
|
85
|
+
sexp_processor (~> 4.15, >= 4.15.1)
|
|
86
|
+
sexp_processor (4.15.3)
|
|
90
87
|
simplecov (0.17.1)
|
|
91
88
|
docile (~> 1.1)
|
|
92
89
|
json (>= 1.8, < 3)
|
|
93
90
|
simplecov-html (~> 0.10.0)
|
|
94
91
|
simplecov-html (0.10.2)
|
|
95
|
-
simpleidn (0.
|
|
92
|
+
simpleidn (0.2.1)
|
|
96
93
|
unf (~> 0.1.4)
|
|
97
|
-
thor (1.0
|
|
98
|
-
truemail (2.
|
|
99
|
-
simpleidn (~> 0.
|
|
94
|
+
thor (1.1.0)
|
|
95
|
+
truemail (2.4.7)
|
|
96
|
+
simpleidn (~> 0.2.1)
|
|
100
97
|
unf (0.1.4)
|
|
101
98
|
unf_ext
|
|
102
99
|
unf_ext (0.0.7.7)
|
|
103
|
-
unicode-display_width (
|
|
100
|
+
unicode-display_width (2.0.0)
|
|
104
101
|
|
|
105
102
|
PLATFORMS
|
|
106
|
-
|
|
103
|
+
x86_64-darwin-20
|
|
107
104
|
|
|
108
105
|
DEPENDENCIES
|
|
109
|
-
bundler (~>
|
|
110
|
-
bundler-audit (~> 0.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
overcommit (~> 0.
|
|
106
|
+
bundler (~> 2.2, >= 2.2.25)
|
|
107
|
+
bundler-audit (~> 0.8.0)
|
|
108
|
+
fasterer (~> 0.9.0)
|
|
109
|
+
ffaker (~> 2.18)
|
|
110
|
+
overcommit (~> 0.58.0)
|
|
114
111
|
pry-byebug (~> 3.9)
|
|
115
|
-
rake (~> 13.0, >= 13.0.
|
|
116
|
-
reek (~> 6.0, >= 6.0.
|
|
112
|
+
rake (~> 13.0, >= 13.0.6)
|
|
113
|
+
reek (~> 6.0, >= 6.0.5)
|
|
117
114
|
rspec (~> 3.10)
|
|
118
|
-
rubocop (~> 1.
|
|
119
|
-
rubocop-performance (~> 1.
|
|
120
|
-
rubocop-rspec (~> 2.
|
|
115
|
+
rubocop (~> 1.18, >= 1.18.4)
|
|
116
|
+
rubocop-performance (~> 1.11, >= 1.11.4)
|
|
117
|
+
rubocop-rspec (~> 2.4)
|
|
121
118
|
simplecov (~> 0.17.1)
|
|
122
119
|
truemail-rspec!
|
|
123
120
|
|
|
124
121
|
BUNDLED WITH
|
|
125
|
-
|
|
122
|
+
2.2.25
|
data/README.md
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
- [Configuration instance with default random params](#configuration-instance-with-default-random-params)
|
|
24
24
|
- [Configuration instance with predefined params](#configuration-instance-with-predefined-params)
|
|
25
25
|
- [Create auditor instance](#create-auditor-instance)
|
|
26
|
-
- [create_auditor](#
|
|
26
|
+
- [create_auditor](#create_auditor)
|
|
27
27
|
- [Create validator instance](#create-validator-instance)
|
|
28
28
|
- [create_servers_list](#create_servers_list)
|
|
29
29
|
- [create_validator](#create_validator)
|
|
@@ -90,7 +90,7 @@ create_configuration
|
|
|
90
90
|
|
|
91
91
|
#### Configuration instance with predefined params
|
|
92
92
|
|
|
93
|
-
All `Truemail::Configuration` [available params](https://github.com/truemail-rb/truemail
|
|
93
|
+
All `Truemail::Configuration` [available params](https://github.com/truemail-rb/truemail#setting-global-configuration)
|
|
94
94
|
|
|
95
95
|
```ruby
|
|
96
96
|
create_configuration(verifier_email: 'email@domain.com', verifier_domain: 'other-domain.com')
|
|
@@ -122,13 +122,14 @@ Allows to create validator instance with default random or with predefined param
|
|
|
122
122
|
|
|
123
123
|
```ruby
|
|
124
124
|
create_servers_list # => returns array with random ip addresses
|
|
125
|
+
create_servers_list(42) # => returns array with 42 random ip addresses
|
|
125
126
|
```
|
|
126
127
|
|
|
127
128
|
#### create_validator
|
|
128
129
|
|
|
129
130
|
```ruby
|
|
130
131
|
create_validator(
|
|
131
|
-
validation_type, # optional, type:Symbol, can be :regex, :mx or :smtp, by default creates :smtp validation
|
|
132
|
+
validation_type, # optional, type:Symbol, can be :whitelist, :regex, :mx, :mx_blacklist or :smtp, by default creates :smtp validation
|
|
132
133
|
email, # optional, type:String, by default random email
|
|
133
134
|
mail_servers, # optional, type:Array(String), by default array with random ip addresses
|
|
134
135
|
success: true, # optional, type:Bool, by default true
|
data/lib/truemail/rspec.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Truemail
|
|
|
5
5
|
module AuditorHelper
|
|
6
6
|
def create_auditor(
|
|
7
7
|
success: true,
|
|
8
|
-
current_host_ip: ::
|
|
8
|
+
current_host_ip: ::FFaker::Internet.ip_v4_address,
|
|
9
9
|
warnings: { ip: Truemail::Audit::Ip::IPIFY_ERROR },
|
|
10
10
|
configuration: create_configuration
|
|
11
11
|
)
|
|
@@ -12,7 +12,7 @@ module Truemail
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def create_configuration(**configuration_settings)
|
|
15
|
-
configuration_settings[:verifier_email] = ::
|
|
15
|
+
configuration_settings[:verifier_email] = ::FFaker::Internet.email unless configuration_settings[:verifier_email]
|
|
16
16
|
Truemail::Configuration.new(&configuration_block(**configuration_settings))
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
module Truemail
|
|
4
4
|
module RSpec
|
|
5
5
|
module ValidatorHelper
|
|
6
|
-
def create_servers_list
|
|
7
|
-
Array.new(rand(1..4)) { ::
|
|
6
|
+
def create_servers_list(size = nil)
|
|
7
|
+
::Array.new(size || rand(1..4)) { ::FFaker::Internet.ip_v4_address }
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def create_validator( # rubocop:disable Metrics/ParameterLists
|
|
11
11
|
validation_type = nil,
|
|
12
|
-
email = ::
|
|
12
|
+
email = ::FFaker::Internet.email,
|
|
13
13
|
mail_servers = create_servers_list,
|
|
14
14
|
rcptto_error: 'user not found',
|
|
15
15
|
success: true,
|
|
@@ -17,7 +17,7 @@ module Truemail
|
|
|
17
17
|
)
|
|
18
18
|
set_expected_result(validation_type, email, mail_servers, success, configuration, rcptto_error)
|
|
19
19
|
stub_validation_layers
|
|
20
|
-
validator_instance = ValidatorFactory.call(validation_type, success, email, configuration)
|
|
20
|
+
validator_instance = ValidatorFactory.call(validation_type, success, email, mail_servers, configuration)
|
|
21
21
|
unstub_validation_layers
|
|
22
22
|
validator_instance
|
|
23
23
|
end
|
|
@@ -39,6 +39,7 @@ module Truemail
|
|
|
39
39
|
case validation_type
|
|
40
40
|
when :regex then regex_layer
|
|
41
41
|
when :mx then mx_layer
|
|
42
|
+
when :mx_blacklist then mx_blacklist_layer
|
|
42
43
|
else smtp_layer
|
|
43
44
|
end
|
|
44
45
|
end
|
|
@@ -63,6 +64,13 @@ module Truemail
|
|
|
63
64
|
allow_any_instance_of(Truemail::Validate::Mx).to receive(:domain_not_include_null_mx).and_return(success)
|
|
64
65
|
end
|
|
65
66
|
|
|
67
|
+
def mx_blacklist_layer # rubocop:disable Metrics/AbcSize
|
|
68
|
+
allow(Truemail::Validate::Regex).to receive(:check).and_return(true)
|
|
69
|
+
allow_any_instance_of(Truemail::Validate::Mx).to receive(:mx_records).and_return(mail_servers)
|
|
70
|
+
allow_any_instance_of(Truemail::Validate::Mx).to receive(:domain_not_include_null_mx).and_return(true)
|
|
71
|
+
allow_any_instance_of(Truemail::Validate::MxBlacklist).to receive(:not_blacklisted_mail_servers?).and_return(success)
|
|
72
|
+
end
|
|
73
|
+
|
|
66
74
|
def request_instance
|
|
67
75
|
request = Truemail::Validate::Smtp::Request.new(
|
|
68
76
|
host: mail_servers.first,
|
|
@@ -92,14 +100,15 @@ module Truemail
|
|
|
92
100
|
end
|
|
93
101
|
|
|
94
102
|
class ValidatorFactory
|
|
95
|
-
def self.call(validation_type, success, email, configuration)
|
|
96
|
-
new(validation_type, success, email, configuration).build
|
|
103
|
+
def self.call(validation_type, success, email, mail_servers, configuration)
|
|
104
|
+
new(validation_type, success, email, mail_servers, configuration).build
|
|
97
105
|
end
|
|
98
106
|
|
|
99
|
-
def initialize(validation_type, success, email, configuration)
|
|
107
|
+
def initialize(validation_type, success, email, mail_servers, configuration)
|
|
100
108
|
@validation_type = validation_type
|
|
101
109
|
@success = success
|
|
102
110
|
@email = email
|
|
111
|
+
@mail_servers = mail_servers
|
|
103
112
|
@configuration = configuration
|
|
104
113
|
end
|
|
105
114
|
|
|
@@ -110,15 +119,19 @@ module Truemail
|
|
|
110
119
|
|
|
111
120
|
private
|
|
112
121
|
|
|
113
|
-
attr_reader :success, :email, :configuration
|
|
122
|
+
attr_reader :success, :email, :mail_servers, :configuration
|
|
114
123
|
attr_accessor :validation_type
|
|
115
124
|
|
|
116
125
|
def process_validator_params
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
126
|
+
case validation_type
|
|
127
|
+
when :whitelist
|
|
128
|
+
self.validation_type = nil
|
|
129
|
+
method = success ? :whitelisted_domains : :blacklisted_domains
|
|
130
|
+
domain = email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
|
|
131
|
+
configuration.tap { |config| config.public_send(method) << domain }
|
|
132
|
+
when :mx_blacklist
|
|
133
|
+
configuration.blacklisted_mx_ip_addresses.push(*mail_servers) unless success
|
|
134
|
+
end
|
|
122
135
|
end
|
|
123
136
|
end
|
|
124
137
|
end
|
data/truemail-rspec.gemspec
CHANGED
|
@@ -31,20 +31,20 @@ 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_development_dependency 'bundler', '~>
|
|
35
|
-
spec.add_development_dependency 'bundler-audit', '~> 0.
|
|
36
|
-
spec.add_development_dependency '
|
|
37
|
-
spec.add_development_dependency '
|
|
38
|
-
spec.add_development_dependency 'overcommit', '~> 0.
|
|
34
|
+
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.25'
|
|
35
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.8.0'
|
|
36
|
+
spec.add_development_dependency 'fasterer', '~> 0.9.0'
|
|
37
|
+
spec.add_development_dependency 'ffaker', '~> 2.18'
|
|
38
|
+
spec.add_development_dependency 'overcommit', '~> 0.58.0'
|
|
39
39
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
|
40
|
-
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.
|
|
41
|
-
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.
|
|
40
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
|
41
|
+
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.5'
|
|
42
42
|
spec.add_development_dependency 'rspec', '~> 3.10'
|
|
43
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
|
44
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.
|
|
45
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.
|
|
43
|
+
spec.add_development_dependency 'rubocop', '~> 1.18', '>= 1.18.4'
|
|
44
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.4'
|
|
45
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.4'
|
|
46
46
|
spec.add_development_dependency 'simplecov', '~> 0.17.1'
|
|
47
|
-
spec.add_runtime_dependency '
|
|
47
|
+
spec.add_runtime_dependency 'ffaker', '~> 2.18'
|
|
48
48
|
spec.add_runtime_dependency 'rspec', '~> 3.10'
|
|
49
|
-
spec.add_runtime_dependency 'truemail', '
|
|
49
|
+
spec.add_runtime_dependency 'truemail', '>= 2.4'
|
|
50
50
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: truemail-rspec
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
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: 2021-08-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,76 +16,76 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '2.2'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 2.2.25
|
|
20
23
|
type: :development
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
29
|
+
version: '2.2'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 2.2.25
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: bundler-audit
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
37
|
- - "~>"
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
39
|
+
version: 0.8.0
|
|
34
40
|
type: :development
|
|
35
41
|
prerelease: false
|
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
43
|
requirements:
|
|
38
44
|
- - "~>"
|
|
39
45
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
46
|
+
version: 0.8.0
|
|
41
47
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
48
|
+
name: fasterer
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
51
|
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
48
|
-
- - ">="
|
|
49
|
-
- !ruby/object:Gem::Version
|
|
50
|
-
version: 2.15.1
|
|
53
|
+
version: 0.9.0
|
|
51
54
|
type: :development
|
|
52
55
|
prerelease: false
|
|
53
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
57
|
requirements:
|
|
55
58
|
- - "~>"
|
|
56
59
|
- !ruby/object:Gem::Version
|
|
57
|
-
version:
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: 2.15.1
|
|
60
|
+
version: 0.9.0
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
|
-
name:
|
|
62
|
+
name: ffaker
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version:
|
|
67
|
+
version: '2.18'
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version:
|
|
74
|
+
version: '2.18'
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: overcommit
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.
|
|
81
|
+
version: 0.58.0
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 0.
|
|
88
|
+
version: 0.58.0
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
90
|
name: pry-byebug
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,7 +109,7 @@ dependencies:
|
|
|
109
109
|
version: '13.0'
|
|
110
110
|
- - ">="
|
|
111
111
|
- !ruby/object:Gem::Version
|
|
112
|
-
version: 13.0.
|
|
112
|
+
version: 13.0.6
|
|
113
113
|
type: :development
|
|
114
114
|
prerelease: false
|
|
115
115
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -119,7 +119,7 @@ dependencies:
|
|
|
119
119
|
version: '13.0'
|
|
120
120
|
- - ">="
|
|
121
121
|
- !ruby/object:Gem::Version
|
|
122
|
-
version: 13.0.
|
|
122
|
+
version: 13.0.6
|
|
123
123
|
- !ruby/object:Gem::Dependency
|
|
124
124
|
name: reek
|
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -129,7 +129,7 @@ dependencies:
|
|
|
129
129
|
version: '6.0'
|
|
130
130
|
- - ">="
|
|
131
131
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: 6.0.
|
|
132
|
+
version: 6.0.5
|
|
133
133
|
type: :development
|
|
134
134
|
prerelease: false
|
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -139,7 +139,7 @@ dependencies:
|
|
|
139
139
|
version: '6.0'
|
|
140
140
|
- - ">="
|
|
141
141
|
- !ruby/object:Gem::Version
|
|
142
|
-
version: 6.0.
|
|
142
|
+
version: 6.0.5
|
|
143
143
|
- !ruby/object:Gem::Dependency
|
|
144
144
|
name: rspec
|
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -160,60 +160,54 @@ dependencies:
|
|
|
160
160
|
requirements:
|
|
161
161
|
- - "~>"
|
|
162
162
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: '1.
|
|
163
|
+
version: '1.18'
|
|
164
164
|
- - ">="
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 1.
|
|
166
|
+
version: 1.18.4
|
|
167
167
|
type: :development
|
|
168
168
|
prerelease: false
|
|
169
169
|
version_requirements: !ruby/object:Gem::Requirement
|
|
170
170
|
requirements:
|
|
171
171
|
- - "~>"
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '1.
|
|
173
|
+
version: '1.18'
|
|
174
174
|
- - ">="
|
|
175
175
|
- !ruby/object:Gem::Version
|
|
176
|
-
version: 1.
|
|
176
|
+
version: 1.18.4
|
|
177
177
|
- !ruby/object:Gem::Dependency
|
|
178
178
|
name: rubocop-performance
|
|
179
179
|
requirement: !ruby/object:Gem::Requirement
|
|
180
180
|
requirements:
|
|
181
181
|
- - "~>"
|
|
182
182
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: '1.
|
|
183
|
+
version: '1.11'
|
|
184
184
|
- - ">="
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: 1.
|
|
186
|
+
version: 1.11.4
|
|
187
187
|
type: :development
|
|
188
188
|
prerelease: false
|
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
190
|
requirements:
|
|
191
191
|
- - "~>"
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '1.
|
|
193
|
+
version: '1.11'
|
|
194
194
|
- - ">="
|
|
195
195
|
- !ruby/object:Gem::Version
|
|
196
|
-
version: 1.
|
|
196
|
+
version: 1.11.4
|
|
197
197
|
- !ruby/object:Gem::Dependency
|
|
198
198
|
name: rubocop-rspec
|
|
199
199
|
requirement: !ruby/object:Gem::Requirement
|
|
200
200
|
requirements:
|
|
201
201
|
- - "~>"
|
|
202
202
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: '2.
|
|
204
|
-
- - ">="
|
|
205
|
-
- !ruby/object:Gem::Version
|
|
206
|
-
version: 2.0.1
|
|
203
|
+
version: '2.4'
|
|
207
204
|
type: :development
|
|
208
205
|
prerelease: false
|
|
209
206
|
version_requirements: !ruby/object:Gem::Requirement
|
|
210
207
|
requirements:
|
|
211
208
|
- - "~>"
|
|
212
209
|
- !ruby/object:Gem::Version
|
|
213
|
-
version: '2.
|
|
214
|
-
- - ">="
|
|
215
|
-
- !ruby/object:Gem::Version
|
|
216
|
-
version: 2.0.1
|
|
210
|
+
version: '2.4'
|
|
217
211
|
- !ruby/object:Gem::Dependency
|
|
218
212
|
name: simplecov
|
|
219
213
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -229,25 +223,19 @@ dependencies:
|
|
|
229
223
|
- !ruby/object:Gem::Version
|
|
230
224
|
version: 0.17.1
|
|
231
225
|
- !ruby/object:Gem::Dependency
|
|
232
|
-
name:
|
|
226
|
+
name: ffaker
|
|
233
227
|
requirement: !ruby/object:Gem::Requirement
|
|
234
228
|
requirements:
|
|
235
229
|
- - "~>"
|
|
236
230
|
- !ruby/object:Gem::Version
|
|
237
|
-
version: '2.
|
|
238
|
-
- - ">="
|
|
239
|
-
- !ruby/object:Gem::Version
|
|
240
|
-
version: 2.15.1
|
|
231
|
+
version: '2.18'
|
|
241
232
|
type: :runtime
|
|
242
233
|
prerelease: false
|
|
243
234
|
version_requirements: !ruby/object:Gem::Requirement
|
|
244
235
|
requirements:
|
|
245
236
|
- - "~>"
|
|
246
237
|
- !ruby/object:Gem::Version
|
|
247
|
-
version: '2.
|
|
248
|
-
- - ">="
|
|
249
|
-
- !ruby/object:Gem::Version
|
|
250
|
-
version: 2.15.1
|
|
238
|
+
version: '2.18'
|
|
251
239
|
- !ruby/object:Gem::Dependency
|
|
252
240
|
name: rspec
|
|
253
241
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -266,16 +254,16 @@ dependencies:
|
|
|
266
254
|
name: truemail
|
|
267
255
|
requirement: !ruby/object:Gem::Requirement
|
|
268
256
|
requirements:
|
|
269
|
-
- - "
|
|
257
|
+
- - ">="
|
|
270
258
|
- !ruby/object:Gem::Version
|
|
271
|
-
version: '2.
|
|
259
|
+
version: '2.4'
|
|
272
260
|
type: :runtime
|
|
273
261
|
prerelease: false
|
|
274
262
|
version_requirements: !ruby/object:Gem::Requirement
|
|
275
263
|
requirements:
|
|
276
|
-
- - "
|
|
264
|
+
- - ">="
|
|
277
265
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: '2.
|
|
266
|
+
version: '2.4'
|
|
279
267
|
description: Truemail RSpec helpers
|
|
280
268
|
email:
|
|
281
269
|
- admin@bestweb.com.ua
|
|
@@ -338,8 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
338
326
|
- !ruby/object:Gem::Version
|
|
339
327
|
version: '0'
|
|
340
328
|
requirements: []
|
|
341
|
-
|
|
342
|
-
rubygems_version: 2.7.3
|
|
329
|
+
rubygems_version: 3.2.20
|
|
343
330
|
signing_key:
|
|
344
331
|
specification_version: 4
|
|
345
332
|
summary: truemail-rspec
|