truemail-rspec 0.4.0 → 0.8.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 +63 -21
- data/.circleci/gemspec_compatible +43 -0
- data/.codeclimate.yml +1 -1
- data/.gitignore +1 -0
- data/.reek.yml +10 -0
- data/.rubocop.yml +99 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +117 -0
- data/LICENSE.txt +1 -1
- data/README.md +5 -4
- 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/lib/truemail/rspec.rb +1 -1
- data/truemail-rspec.gemspec +15 -14
- metadata +77 -78
- data/Gemfile.lock +0 -125
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79d57916c2608c249cb6c13d364831ee48439257815cc9b48cb7ce1a9716351c
|
4
|
+
data.tar.gz: 1aed32b995f032784eeead13ae9e388bcf7318ac53c8abc4b9dc144d3753a183
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f39045807f4faa8af25e74ef68fd58c9f94e639102a52ed1d2c3a8e23b5a79d95deb5e3d23868e076b0c65857778643c0e3643920d6b7474d9e18cb57d91bfa
|
7
|
+
data.tar.gz: aa7ac217cb456f932fa1f03d0f21f93a5ceb96eae4cd10d4c34ad67e176385f069ac078d95770c9869c95f9a0c6f243a50e9399b60768cfe2057e1e78c65a06e
|
data/.circleci/config.yml
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
1
3
|
defaults: &defaults
|
2
4
|
working_directory: ~/truemail-rspec
|
3
5
|
docker:
|
4
|
-
- image:
|
5
|
-
|
6
|
-
|
6
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
7
|
+
|
8
|
+
orbs:
|
9
|
+
ruby: circleci/ruby@1.4.0
|
7
10
|
|
8
11
|
references:
|
9
12
|
restore_bundle_cache: &restore_bundle_cache
|
@@ -14,7 +17,9 @@ references:
|
|
14
17
|
bundle_install: &bundle_install
|
15
18
|
run:
|
16
19
|
name: Installing gems
|
17
|
-
command:
|
20
|
+
command: |
|
21
|
+
bundle config set --local path 'vendor/bundle'
|
22
|
+
bundle install
|
18
23
|
|
19
24
|
save_bundle_cache: &save_bundle_cache
|
20
25
|
save_cache:
|
@@ -24,14 +29,23 @@ references:
|
|
24
29
|
|
25
30
|
install_codeclimate_reporter: &install_codeclimate_reporter
|
26
31
|
run:
|
27
|
-
name:
|
32
|
+
name: Installing CodeClimate test reporter
|
28
33
|
command: |
|
29
34
|
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
30
35
|
chmod +x ./cc-test-reporter
|
31
36
|
|
32
|
-
|
37
|
+
use_compatible_gemspec: &use_compatible_gemspec
|
38
|
+
run:
|
39
|
+
name: Use compatible gemspec
|
40
|
+
command: |
|
41
|
+
cp .circleci/gemspec_compatible truemail-rspec.gemspec
|
42
|
+
|
33
43
|
jobs:
|
34
|
-
linters:
|
44
|
+
linters-ruby:
|
45
|
+
parameters:
|
46
|
+
ruby-version:
|
47
|
+
type: string
|
48
|
+
|
35
49
|
<<: *defaults
|
36
50
|
|
37
51
|
steps:
|
@@ -42,12 +56,16 @@ jobs:
|
|
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:
|
@@ -59,31 +77,55 @@ jobs:
|
|
59
77
|
- <<: *install_codeclimate_reporter
|
60
78
|
|
61
79
|
- run:
|
62
|
-
name: Running
|
80
|
+
name: Running RSpec
|
63
81
|
command: |
|
64
|
-
mkdir /tmp/test-results
|
65
82
|
./cc-test-reporter before-build
|
66
83
|
bundle exec rspec
|
67
84
|
|
68
85
|
- run:
|
69
|
-
name:
|
86
|
+
name: Creating CodeClimate test coverage report
|
70
87
|
command: |
|
71
88
|
./cc-test-reporter format-coverage -t simplecov -o "coverage/codeclimate.$CIRCLE_NODE_INDEX.json"
|
72
89
|
|
73
|
-
- store_test_results:
|
74
|
-
path: /tmp/test-results
|
75
|
-
|
76
90
|
- store_artifacts:
|
77
|
-
|
78
|
-
|
91
|
+
name: Saving Simplecov coverage artifacts
|
92
|
+
path: ~/truemail-rspec/coverage
|
93
|
+
destination: coverage
|
79
94
|
|
80
95
|
- deploy:
|
96
|
+
name: Uploading CodeClimate test coverage report
|
81
97
|
command: |
|
82
98
|
./cc-test-reporter sum-coverage --output - --parts $CIRCLE_NODE_TOTAL coverage/codeclimate.*.json | ./cc-test-reporter upload-coverage --debug --input -
|
83
99
|
|
100
|
+
compatibility-ruby:
|
101
|
+
parameters:
|
102
|
+
ruby-version:
|
103
|
+
type: string
|
104
|
+
docker:
|
105
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
106
|
+
steps:
|
107
|
+
- checkout
|
108
|
+
- <<: *use_compatible_gemspec
|
109
|
+
- ruby/install-deps:
|
110
|
+
bundler-version: "2.3.5"
|
111
|
+
with-cache: false
|
112
|
+
path: './vendor/custom_bundle'
|
113
|
+
- run:
|
114
|
+
name: Running compatibility tests
|
115
|
+
command: bundle exec rspec
|
116
|
+
|
84
117
|
workflows:
|
85
|
-
|
86
|
-
build:
|
118
|
+
build_and_test:
|
87
119
|
jobs:
|
88
|
-
- linters
|
89
|
-
|
120
|
+
- linters-ruby:
|
121
|
+
matrix:
|
122
|
+
parameters:
|
123
|
+
ruby-version: ["3.1"]
|
124
|
+
- tests-ruby:
|
125
|
+
matrix:
|
126
|
+
parameters:
|
127
|
+
ruby-version: ["3.1"]
|
128
|
+
- compatibility-ruby:
|
129
|
+
matrix:
|
130
|
+
parameters:
|
131
|
+
ruby-version: ["2.5", "2.6", "2.7", "3.0"]
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = ::File.expand_path('lib', __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'truemail/rspec/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'truemail-rspec'
|
9
|
+
spec.version = Truemail::RSpec::VERSION
|
10
|
+
spec.authors = ['Vladislav Trotsenko']
|
11
|
+
spec.email = ['admin@bestweb.com.ua']
|
12
|
+
|
13
|
+
spec.summary = %(truemail-rspec)
|
14
|
+
spec.description = %(Truemail RSpec helpers)
|
15
|
+
|
16
|
+
spec.homepage = 'https://github.com/truemail-rb/truemail-rspec'
|
17
|
+
spec.license = 'MIT'
|
18
|
+
|
19
|
+
spec.metadata = {
|
20
|
+
'homepage_uri' => 'https://truemail-rb.org',
|
21
|
+
'changelog_uri' => 'https://github.com/truemail-rb/truemail-rspec/blob/master/CHANGELOG.md',
|
22
|
+
'source_code_uri' => 'https://github.com/truemail-rb/truemail-rspec',
|
23
|
+
'documentation_uri' => 'https://truemail-rb.org/truemail-rspec',
|
24
|
+
'bug_tracker_uri' => 'https://github.com/truemail-rb/truemail-rspec/issues'
|
25
|
+
}
|
26
|
+
|
27
|
+
spec.required_ruby_version = '>= 2.5.0'
|
28
|
+
|
29
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
30
|
+
spec.bindir = 'exe'
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
|
32
|
+
spec.require_paths = ['lib']
|
33
|
+
|
34
|
+
spec.add_runtime_dependency 'ffaker', '~> 2.20'
|
35
|
+
spec.add_runtime_dependency 'rspec', '~> 3.10'
|
36
|
+
spec.add_runtime_dependency 'truemail', '~> 2.6', '>= 2.6.2'
|
37
|
+
|
38
|
+
spec.add_development_dependency 'ffaker', '~> 2.20'
|
39
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
40
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
41
|
+
spec.add_development_dependency 'rspec', '~> 3.10'
|
42
|
+
spec.add_development_dependency 'simplecov', '~> 0.17.1'
|
43
|
+
end
|
data/.codeclimate.yml
CHANGED
data/.gitignore
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,18 @@ 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
|
+
|
36
|
+
UtilityFunction:
|
37
|
+
exclude:
|
38
|
+
- Truemail::RSpec::ValidatorHelper#create_servers_list
|
39
|
+
|
30
40
|
LongParameterList:
|
31
41
|
enabled: false
|
32
42
|
|
data/.rubocop.yml
CHANGED
@@ -28,6 +28,12 @@ Naming/VariableNumber:
|
|
28
28
|
Naming/RescuedExceptionsVariableName:
|
29
29
|
Enabled: false
|
30
30
|
|
31
|
+
Naming/InclusiveLanguage:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Naming/BlockForwarding:
|
35
|
+
Enabled: true
|
36
|
+
|
31
37
|
Style/Documentation:
|
32
38
|
Enabled: false
|
33
39
|
|
@@ -136,6 +142,42 @@ Style/HashExcept:
|
|
136
142
|
Style/IfWithBooleanLiteralBranches:
|
137
143
|
Enabled: true
|
138
144
|
|
145
|
+
Style/StringChars:
|
146
|
+
Enabled: true
|
147
|
+
|
148
|
+
Style/InPatternThen:
|
149
|
+
Enabled: true
|
150
|
+
|
151
|
+
Style/MultilineInPatternThen:
|
152
|
+
Enabled: true
|
153
|
+
|
154
|
+
Style/QuotedSymbols:
|
155
|
+
Enabled: true
|
156
|
+
|
157
|
+
Style/FileRead:
|
158
|
+
Enabled: true
|
159
|
+
|
160
|
+
Style/FileWrite:
|
161
|
+
Enabled: true
|
162
|
+
|
163
|
+
Style/MapToHash:
|
164
|
+
Enabled: true
|
165
|
+
|
166
|
+
Style/NumberedParameters:
|
167
|
+
Enabled: true
|
168
|
+
|
169
|
+
Style/NumberedParametersLimit:
|
170
|
+
Enabled: true
|
171
|
+
|
172
|
+
Style/OpenStructUse:
|
173
|
+
Enabled: true
|
174
|
+
|
175
|
+
Style/RedundantSelfAssignmentBranch:
|
176
|
+
Enabled: true
|
177
|
+
|
178
|
+
Style/SelectByRegexp:
|
179
|
+
Enabled: true
|
180
|
+
|
139
181
|
Layout/EmptyLinesAroundAttributeAccessor:
|
140
182
|
Enabled: true
|
141
183
|
|
@@ -167,6 +209,9 @@ Layout/EmptyLineAfterGuardClause:
|
|
167
209
|
Layout/SpaceBeforeBrackets:
|
168
210
|
Enabled: true
|
169
211
|
|
212
|
+
Layout/LineEndStringConcatenationIndentation:
|
213
|
+
Enabled: true
|
214
|
+
|
170
215
|
Lint/NonDeterministicRequireOrder:
|
171
216
|
Enabled: false
|
172
217
|
|
@@ -260,9 +305,33 @@ Lint/SymbolConversion:
|
|
260
305
|
Lint/TripleQuotes:
|
261
306
|
Enabled: true
|
262
307
|
|
308
|
+
Lint/EmptyInPattern:
|
309
|
+
Enabled: true
|
310
|
+
|
311
|
+
Lint/AmbiguousOperatorPrecedence:
|
312
|
+
Enabled: true
|
313
|
+
|
314
|
+
Lint/AmbiguousRange:
|
315
|
+
Enabled: true
|
316
|
+
|
317
|
+
Lint/IncompatibleIoSelectWithFiberScheduler:
|
318
|
+
Enabled: true
|
319
|
+
|
320
|
+
Lint/RequireRelativeSelfPath:
|
321
|
+
Enabled: true
|
322
|
+
|
323
|
+
Lint/UselessRuby2Keywords:
|
324
|
+
Enabled: true
|
325
|
+
|
263
326
|
Gemspec/DateAssignment:
|
264
327
|
Enabled: true
|
265
328
|
|
329
|
+
Gemspec/RequireMFA:
|
330
|
+
Enabled: false
|
331
|
+
|
332
|
+
Security/IoMethods:
|
333
|
+
Enabled: true
|
334
|
+
|
266
335
|
Performance/AncestorsInclude:
|
267
336
|
Enabled: true
|
268
337
|
|
@@ -302,6 +371,21 @@ Performance/MethodObjectAsBlock:
|
|
302
371
|
Performance/Sum:
|
303
372
|
Enabled: true
|
304
373
|
|
374
|
+
Performance/MapCompact:
|
375
|
+
Enabled: true
|
376
|
+
|
377
|
+
Performance/RedundantEqualityComparisonBlock:
|
378
|
+
Enabled: true
|
379
|
+
|
380
|
+
Performance/RedundantSplitRegexpArgument:
|
381
|
+
Enabled: true
|
382
|
+
|
383
|
+
Performance/ConcurrentMonotonicTime:
|
384
|
+
Enabled: true
|
385
|
+
|
386
|
+
Performance/StringIdentifierArgument:
|
387
|
+
Enabled: true
|
388
|
+
|
305
389
|
RSpec/ExampleLength:
|
306
390
|
Enabled: false
|
307
391
|
|
@@ -328,3 +412,18 @@ RSpec/MultipleDescribes:
|
|
328
412
|
|
329
413
|
RSpec/MultipleMemoizedHelpers:
|
330
414
|
Enabled: false
|
415
|
+
|
416
|
+
RSpec/IdenticalEqualityAssertion:
|
417
|
+
Enabled: true
|
418
|
+
|
419
|
+
RSpec/Rails/AvoidSetupHook:
|
420
|
+
Enabled: true
|
421
|
+
|
422
|
+
RSpec/ExcessiveDocstringSpacing:
|
423
|
+
Enabled: true
|
424
|
+
|
425
|
+
RSpec/SubjectDeclaration:
|
426
|
+
Enabled: true
|
427
|
+
|
428
|
+
RSpec/FactoryBot/SyntaxMethods:
|
429
|
+
Enabled: true
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-
|
1
|
+
ruby-3.1.0
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,123 @@
|
|
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
|
+
## [0.8.0] - 2022-01-25
|
6
|
+
|
7
|
+
### Updated
|
8
|
+
|
9
|
+
- Updated gem runtime dependencies
|
10
|
+
- Updated gem development dependencies
|
11
|
+
- Updated default Ruby version for test environment
|
12
|
+
- Updated rubocop/codeclimate configs
|
13
|
+
|
14
|
+
## [0.7.0] - 2021-08-11
|
15
|
+
|
16
|
+
### Updated
|
17
|
+
|
18
|
+
- gem runtime dependencies
|
19
|
+
- gem development dependencies
|
20
|
+
|
21
|
+
### Changed
|
22
|
+
|
23
|
+
- `faker` to `ffaker` dependency
|
24
|
+
|
25
|
+
## [0.6.0] - 2021-05-13
|
26
|
+
|
27
|
+
### Added
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
# Truemail::Validator instance, successful case
|
31
|
+
create_validator(:mx_blacklist)
|
32
|
+
=> #<Truemail::Validator:0x00007fea91a1d528
|
33
|
+
@result=
|
34
|
+
#<struct Truemail::Validator::Result
|
35
|
+
success=true,
|
36
|
+
email="danyell@brakus-dooley.co",
|
37
|
+
domain="brakus-dooley.co",
|
38
|
+
mail_servers=["175.244.212.125", "69.106.253.221", "7.125.70.85", "152.249.195.7"],
|
39
|
+
errors={},
|
40
|
+
smtp_debug=nil,
|
41
|
+
configuration=
|
42
|
+
#<Truemail::Configuration:0x00007fea98977248
|
43
|
+
@blacklisted_domains=[],
|
44
|
+
@blacklisted_mx_ip_addresses=[],
|
45
|
+
@connection_attempts=2,
|
46
|
+
@connection_timeout=2,
|
47
|
+
@default_validation_type=:smtp,
|
48
|
+
@dns=[],
|
49
|
+
@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)/,
|
50
|
+
@not_rfc_mx_lookup_flow=false,
|
51
|
+
@response_timeout=2,
|
52
|
+
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
53
|
+
@smtp_fail_fast=false,
|
54
|
+
@smtp_safe_check=false,
|
55
|
+
@validation_type_by_domain={},
|
56
|
+
@verifier_domain="lubowitz.com",
|
57
|
+
@verifier_email="shante.keeling@lubowitz.com",
|
58
|
+
@whitelist_validation=false,
|
59
|
+
@whitelisted_domains=[]>>,
|
60
|
+
@validation_type=:mx_blacklist>
|
61
|
+
|
62
|
+
# Truemail::Validator instance, failure case
|
63
|
+
create_validator(:mx_blacklist, success: false)
|
64
|
+
=> #<Truemail::Validator:0x00007fea988cfd18
|
65
|
+
@result=
|
66
|
+
#<struct Truemail::Validator::Result
|
67
|
+
success=false,
|
68
|
+
email="mike.treutel@heathcote.biz",
|
69
|
+
domain="heathcote.biz",
|
70
|
+
mail_servers=["212.76.177.170", "253.244.87.72", "144.225.110.224"],
|
71
|
+
errors={:mx_blacklist=>"blacklisted mx server ip address"},
|
72
|
+
smtp_debug=nil,
|
73
|
+
configuration=
|
74
|
+
#<Truemail::Configuration:0x00007fea988ee150
|
75
|
+
@blacklisted_domains=[],
|
76
|
+
@blacklisted_mx_ip_addresses=["212.76.177.170", "253.244.87.72", "144.225.110.224"],
|
77
|
+
@connection_attempts=2,
|
78
|
+
@connection_timeout=2,
|
79
|
+
@default_validation_type=:smtp,
|
80
|
+
@dns=[],
|
81
|
+
@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)/,
|
82
|
+
@not_rfc_mx_lookup_flow=false,
|
83
|
+
@response_timeout=2,
|
84
|
+
@smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
|
85
|
+
@smtp_fail_fast=false,
|
86
|
+
@smtp_safe_check=false,
|
87
|
+
@validation_type_by_domain={},
|
88
|
+
@verifier_domain="grant-flatley.org",
|
89
|
+
@verifier_email="mariano@grant-flatley.org",
|
90
|
+
@whitelist_validation=false,
|
91
|
+
@whitelisted_domains=[]>>,
|
92
|
+
@validation_type=:mx_blacklist>
|
93
|
+
```
|
94
|
+
|
95
|
+
- Ability to create `Truemail::Validator` instance for `MxBlacklist` validation layer
|
96
|
+
- Stub for `MxBlacklist` validation layer
|
97
|
+
- CircleCI config for using multiple Ruby versions
|
98
|
+
|
99
|
+
### Updated
|
100
|
+
|
101
|
+
- Updated gem development dependencies
|
102
|
+
|
103
|
+
### Fixed
|
104
|
+
|
105
|
+
- Simplecov coverage issues
|
106
|
+
|
107
|
+
## [0.5.0] - 2021-05-05
|
108
|
+
|
109
|
+
### Added
|
110
|
+
|
111
|
+
- Ability to set size for servers list
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
create_servers_list(42) # => returns array with 42 random ip addresses
|
115
|
+
```
|
116
|
+
|
117
|
+
### Updated
|
118
|
+
|
119
|
+
- gem runtime dependencies
|
120
|
+
- gem development dependencies
|
121
|
+
|
5
122
|
## [0.4.0] - 2021-02-24
|
6
123
|
|
7
124
|
### Updated
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2020 Vladislav Trotsenko
|
3
|
+
Copyright (c) 2020-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
@@ -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
|
@@ -156,7 +157,7 @@ All Truemail solutions: https://truemail-rb.org
|
|
156
157
|
|
157
158
|
## Contributing
|
158
159
|
|
159
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/truemail-rb/truemail-rspec. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. Please check the [open
|
160
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/truemail-rb/truemail-rspec. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. Please check the [open tickets](https://github.com/truemail-rb/truemail-rspec/issues). Be sure to follow Contributor Code of Conduct below and our [Contributing Guidelines](CONTRIBUTING.md).
|
160
161
|
|
161
162
|
## License
|
162
163
|
|
@@ -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 || ::Random.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/lib/truemail/rspec.rb
CHANGED
data/truemail-rspec.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
lib = File.expand_path('lib', __dir__)
|
3
|
+
lib = ::File.expand_path('lib', __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
require 'truemail/rspec/version'
|
6
6
|
|
@@ -28,23 +28,24 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|
29
29
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
30
30
|
spec.bindir = 'exe'
|
31
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
|
-
spec.
|
35
|
-
spec.
|
36
|
-
spec.
|
34
|
+
spec.add_runtime_dependency 'ffaker', '~> 2.20'
|
35
|
+
spec.add_runtime_dependency 'net-smtp', '~> 0.3'
|
36
|
+
spec.add_runtime_dependency 'rspec', '~> 3.10'
|
37
|
+
spec.add_runtime_dependency 'truemail', '~> 2.6', '>= 2.6.2'
|
38
|
+
|
39
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
|
37
40
|
spec.add_development_dependency 'fasterer', '~> 0.9.0'
|
38
|
-
spec.add_development_dependency '
|
41
|
+
spec.add_development_dependency 'ffaker', '~> 2.20'
|
42
|
+
spec.add_development_dependency 'overcommit', '~> 0.58.0'
|
39
43
|
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.
|
44
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
45
|
+
spec.add_development_dependency 'reek', '~> 6.1'
|
42
46
|
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.
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.25'
|
48
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.2'
|
49
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.8'
|
46
50
|
spec.add_development_dependency 'simplecov', '~> 0.17.1'
|
47
|
-
spec.add_runtime_dependency 'faker', '~> 2.16'
|
48
|
-
spec.add_runtime_dependency 'rspec', '~> 3.10'
|
49
|
-
spec.add_runtime_dependency 'truemail', '>= 2.3'
|
50
51
|
end
|
metadata
CHANGED
@@ -1,57 +1,91 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: truemail-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.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: 2022-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: ffaker
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
type: :
|
19
|
+
version: '2.20'
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.20'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: net-smtp
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
34
|
-
type: :
|
33
|
+
version: '0.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.10'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: truemail
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.6'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 2.6.2
|
65
|
+
type: :runtime
|
35
66
|
prerelease: false
|
36
67
|
version_requirements: !ruby/object:Gem::Requirement
|
37
68
|
requirements:
|
38
69
|
- - "~>"
|
39
70
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
71
|
+
version: '2.6'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 2.6.2
|
41
75
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
76
|
+
name: bundler-audit
|
43
77
|
requirement: !ruby/object:Gem::Requirement
|
44
78
|
requirements:
|
45
79
|
- - "~>"
|
46
80
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
81
|
+
version: 0.9.0.1
|
48
82
|
type: :development
|
49
83
|
prerelease: false
|
50
84
|
version_requirements: !ruby/object:Gem::Requirement
|
51
85
|
requirements:
|
52
86
|
- - "~>"
|
53
87
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
88
|
+
version: 0.9.0.1
|
55
89
|
- !ruby/object:Gem::Dependency
|
56
90
|
name: fasterer
|
57
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +100,34 @@ dependencies:
|
|
66
100
|
- - "~>"
|
67
101
|
- !ruby/object:Gem::Version
|
68
102
|
version: 0.9.0
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: ffaker
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.20'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '2.20'
|
69
117
|
- !ruby/object:Gem::Dependency
|
70
118
|
name: overcommit
|
71
119
|
requirement: !ruby/object:Gem::Requirement
|
72
120
|
requirements:
|
73
121
|
- - "~>"
|
74
122
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
123
|
+
version: 0.58.0
|
76
124
|
type: :development
|
77
125
|
prerelease: false
|
78
126
|
version_requirements: !ruby/object:Gem::Requirement
|
79
127
|
requirements:
|
80
128
|
- - "~>"
|
81
129
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
130
|
+
version: 0.58.0
|
83
131
|
- !ruby/object:Gem::Dependency
|
84
132
|
name: pry-byebug
|
85
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,7 +151,7 @@ dependencies:
|
|
103
151
|
version: '13.0'
|
104
152
|
- - ">="
|
105
153
|
- !ruby/object:Gem::Version
|
106
|
-
version: 13.0.
|
154
|
+
version: 13.0.6
|
107
155
|
type: :development
|
108
156
|
prerelease: false
|
109
157
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -113,27 +161,21 @@ dependencies:
|
|
113
161
|
version: '13.0'
|
114
162
|
- - ">="
|
115
163
|
- !ruby/object:Gem::Version
|
116
|
-
version: 13.0.
|
164
|
+
version: 13.0.6
|
117
165
|
- !ruby/object:Gem::Dependency
|
118
166
|
name: reek
|
119
167
|
requirement: !ruby/object:Gem::Requirement
|
120
168
|
requirements:
|
121
169
|
- - "~>"
|
122
170
|
- !ruby/object:Gem::Version
|
123
|
-
version: '6.
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 6.0.3
|
171
|
+
version: '6.1'
|
127
172
|
type: :development
|
128
173
|
prerelease: false
|
129
174
|
version_requirements: !ruby/object:Gem::Requirement
|
130
175
|
requirements:
|
131
176
|
- - "~>"
|
132
177
|
- !ruby/object:Gem::Version
|
133
|
-
version: '6.
|
134
|
-
- - ">="
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 6.0.3
|
178
|
+
version: '6.1'
|
137
179
|
- !ruby/object:Gem::Dependency
|
138
180
|
name: rspec
|
139
181
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,48 +196,48 @@ dependencies:
|
|
154
196
|
requirements:
|
155
197
|
- - "~>"
|
156
198
|
- !ruby/object:Gem::Version
|
157
|
-
version: '1.
|
199
|
+
version: '1.25'
|
158
200
|
type: :development
|
159
201
|
prerelease: false
|
160
202
|
version_requirements: !ruby/object:Gem::Requirement
|
161
203
|
requirements:
|
162
204
|
- - "~>"
|
163
205
|
- !ruby/object:Gem::Version
|
164
|
-
version: '1.
|
206
|
+
version: '1.25'
|
165
207
|
- !ruby/object:Gem::Dependency
|
166
208
|
name: rubocop-performance
|
167
209
|
requirement: !ruby/object:Gem::Requirement
|
168
210
|
requirements:
|
169
211
|
- - "~>"
|
170
212
|
- !ruby/object:Gem::Version
|
171
|
-
version: '1.
|
213
|
+
version: '1.13'
|
172
214
|
- - ">="
|
173
215
|
- !ruby/object:Gem::Version
|
174
|
-
version: 1.
|
216
|
+
version: 1.13.2
|
175
217
|
type: :development
|
176
218
|
prerelease: false
|
177
219
|
version_requirements: !ruby/object:Gem::Requirement
|
178
220
|
requirements:
|
179
221
|
- - "~>"
|
180
222
|
- !ruby/object:Gem::Version
|
181
|
-
version: '1.
|
223
|
+
version: '1.13'
|
182
224
|
- - ">="
|
183
225
|
- !ruby/object:Gem::Version
|
184
|
-
version: 1.
|
226
|
+
version: 1.13.2
|
185
227
|
- !ruby/object:Gem::Dependency
|
186
228
|
name: rubocop-rspec
|
187
229
|
requirement: !ruby/object:Gem::Requirement
|
188
230
|
requirements:
|
189
231
|
- - "~>"
|
190
232
|
- !ruby/object:Gem::Version
|
191
|
-
version: '2.
|
233
|
+
version: '2.8'
|
192
234
|
type: :development
|
193
235
|
prerelease: false
|
194
236
|
version_requirements: !ruby/object:Gem::Requirement
|
195
237
|
requirements:
|
196
238
|
- - "~>"
|
197
239
|
- !ruby/object:Gem::Version
|
198
|
-
version: '2.
|
240
|
+
version: '2.8'
|
199
241
|
- !ruby/object:Gem::Dependency
|
200
242
|
name: simplecov
|
201
243
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,48 +252,6 @@ dependencies:
|
|
210
252
|
- - "~>"
|
211
253
|
- !ruby/object:Gem::Version
|
212
254
|
version: 0.17.1
|
213
|
-
- !ruby/object:Gem::Dependency
|
214
|
-
name: faker
|
215
|
-
requirement: !ruby/object:Gem::Requirement
|
216
|
-
requirements:
|
217
|
-
- - "~>"
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
version: '2.16'
|
220
|
-
type: :runtime
|
221
|
-
prerelease: false
|
222
|
-
version_requirements: !ruby/object:Gem::Requirement
|
223
|
-
requirements:
|
224
|
-
- - "~>"
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
version: '2.16'
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
|
-
name: rspec
|
229
|
-
requirement: !ruby/object:Gem::Requirement
|
230
|
-
requirements:
|
231
|
-
- - "~>"
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: '3.10'
|
234
|
-
type: :runtime
|
235
|
-
prerelease: false
|
236
|
-
version_requirements: !ruby/object:Gem::Requirement
|
237
|
-
requirements:
|
238
|
-
- - "~>"
|
239
|
-
- !ruby/object:Gem::Version
|
240
|
-
version: '3.10'
|
241
|
-
- !ruby/object:Gem::Dependency
|
242
|
-
name: truemail
|
243
|
-
requirement: !ruby/object:Gem::Requirement
|
244
|
-
requirements:
|
245
|
-
- - ">="
|
246
|
-
- !ruby/object:Gem::Version
|
247
|
-
version: '2.3'
|
248
|
-
type: :runtime
|
249
|
-
prerelease: false
|
250
|
-
version_requirements: !ruby/object:Gem::Requirement
|
251
|
-
requirements:
|
252
|
-
- - ">="
|
253
|
-
- !ruby/object:Gem::Version
|
254
|
-
version: '2.3'
|
255
255
|
description: Truemail RSpec helpers
|
256
256
|
email:
|
257
257
|
- admin@bestweb.com.ua
|
@@ -260,6 +260,7 @@ extensions: []
|
|
260
260
|
extra_rdoc_files: []
|
261
261
|
files:
|
262
262
|
- ".circleci/config.yml"
|
263
|
+
- ".circleci/gemspec_compatible"
|
263
264
|
- ".codeclimate.yml"
|
264
265
|
- ".github/BRANCH_NAMING_CONVENTION.md"
|
265
266
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
@@ -278,7 +279,6 @@ files:
|
|
278
279
|
- CODE_OF_CONDUCT.md
|
279
280
|
- CONTRIBUTING.md
|
280
281
|
- Gemfile
|
281
|
-
- Gemfile.lock
|
282
282
|
- LICENSE.txt
|
283
283
|
- README.md
|
284
284
|
- Rakefile
|
@@ -314,8 +314,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
314
314
|
- !ruby/object:Gem::Version
|
315
315
|
version: '0'
|
316
316
|
requirements: []
|
317
|
-
|
318
|
-
rubygems_version: 2.7.3
|
317
|
+
rubygems_version: 3.3.3
|
319
318
|
signing_key:
|
320
319
|
specification_version: 4
|
321
320
|
summary: truemail-rspec
|
data/Gemfile.lock
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
truemail-rspec (0.4.0)
|
5
|
-
faker (~> 2.16)
|
6
|
-
rspec (~> 3.10)
|
7
|
-
truemail (>= 2.3)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
ast (2.4.2)
|
13
|
-
bundler-audit (0.7.0.1)
|
14
|
-
bundler (>= 1.2.0, < 3)
|
15
|
-
thor (>= 0.18, < 2)
|
16
|
-
byebug (11.1.3)
|
17
|
-
childprocess (4.0.0)
|
18
|
-
coderay (1.1.3)
|
19
|
-
colorize (0.8.1)
|
20
|
-
concurrent-ruby (1.1.8)
|
21
|
-
diff-lcs (1.4.4)
|
22
|
-
docile (1.3.5)
|
23
|
-
faker (2.16.0)
|
24
|
-
i18n (>= 1.6, < 2)
|
25
|
-
fasterer (0.9.0)
|
26
|
-
colorize (~> 0.7)
|
27
|
-
ruby_parser (>= 3.14.1)
|
28
|
-
i18n (1.8.9)
|
29
|
-
concurrent-ruby (~> 1.0)
|
30
|
-
iniparse (1.5.0)
|
31
|
-
json (2.5.1)
|
32
|
-
kwalify (0.7.2)
|
33
|
-
method_source (1.0.0)
|
34
|
-
overcommit (0.57.0)
|
35
|
-
childprocess (>= 0.6.3, < 5)
|
36
|
-
iniparse (~> 1.4)
|
37
|
-
parallel (1.20.1)
|
38
|
-
parser (3.0.0.0)
|
39
|
-
ast (~> 2.4.1)
|
40
|
-
pry (0.13.1)
|
41
|
-
coderay (~> 1.1)
|
42
|
-
method_source (~> 1.0)
|
43
|
-
pry-byebug (3.9.0)
|
44
|
-
byebug (~> 11.0)
|
45
|
-
pry (~> 0.13.0)
|
46
|
-
psych (3.3.0)
|
47
|
-
rainbow (3.0.0)
|
48
|
-
rake (13.0.3)
|
49
|
-
reek (6.0.3)
|
50
|
-
kwalify (~> 0.7.0)
|
51
|
-
parser (~> 3.0.0)
|
52
|
-
psych (~> 3.1)
|
53
|
-
rainbow (>= 2.0, < 4.0)
|
54
|
-
regexp_parser (2.1.1)
|
55
|
-
rexml (3.2.4)
|
56
|
-
rspec (3.10.0)
|
57
|
-
rspec-core (~> 3.10.0)
|
58
|
-
rspec-expectations (~> 3.10.0)
|
59
|
-
rspec-mocks (~> 3.10.0)
|
60
|
-
rspec-core (3.10.1)
|
61
|
-
rspec-support (~> 3.10.0)
|
62
|
-
rspec-expectations (3.10.1)
|
63
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
64
|
-
rspec-support (~> 3.10.0)
|
65
|
-
rspec-mocks (3.10.2)
|
66
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
67
|
-
rspec-support (~> 3.10.0)
|
68
|
-
rspec-support (3.10.2)
|
69
|
-
rubocop (1.10.0)
|
70
|
-
parallel (~> 1.10)
|
71
|
-
parser (>= 3.0.0.0)
|
72
|
-
rainbow (>= 2.2.2, < 4.0)
|
73
|
-
regexp_parser (>= 1.8, < 3.0)
|
74
|
-
rexml
|
75
|
-
rubocop-ast (>= 1.2.0, < 2.0)
|
76
|
-
ruby-progressbar (~> 1.7)
|
77
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
78
|
-
rubocop-ast (1.4.1)
|
79
|
-
parser (>= 2.7.1.5)
|
80
|
-
rubocop-performance (1.9.2)
|
81
|
-
rubocop (>= 0.90.0, < 2.0)
|
82
|
-
rubocop-ast (>= 0.4.0)
|
83
|
-
rubocop-rspec (2.2.0)
|
84
|
-
rubocop (~> 1.0)
|
85
|
-
rubocop-ast (>= 1.1.0)
|
86
|
-
ruby-progressbar (1.11.0)
|
87
|
-
ruby_parser (3.15.1)
|
88
|
-
sexp_processor (~> 4.9)
|
89
|
-
sexp_processor (4.15.2)
|
90
|
-
simplecov (0.17.1)
|
91
|
-
docile (~> 1.1)
|
92
|
-
json (>= 1.8, < 3)
|
93
|
-
simplecov-html (~> 0.10.0)
|
94
|
-
simplecov-html (0.10.2)
|
95
|
-
simpleidn (0.2.1)
|
96
|
-
unf (~> 0.1.4)
|
97
|
-
thor (1.1.0)
|
98
|
-
truemail (2.3.0)
|
99
|
-
simpleidn (~> 0.2.1)
|
100
|
-
unf (0.1.4)
|
101
|
-
unf_ext
|
102
|
-
unf_ext (0.0.7.7)
|
103
|
-
unicode-display_width (2.0.0)
|
104
|
-
|
105
|
-
PLATFORMS
|
106
|
-
ruby
|
107
|
-
|
108
|
-
DEPENDENCIES
|
109
|
-
bundler (~> 1.16)
|
110
|
-
bundler-audit (~> 0.7.0.1)
|
111
|
-
faker (~> 2.16)
|
112
|
-
fasterer (~> 0.9.0)
|
113
|
-
overcommit (~> 0.57.0)
|
114
|
-
pry-byebug (~> 3.9)
|
115
|
-
rake (~> 13.0, >= 13.0.3)
|
116
|
-
reek (~> 6.0, >= 6.0.3)
|
117
|
-
rspec (~> 3.10)
|
118
|
-
rubocop (~> 1.10)
|
119
|
-
rubocop-performance (~> 1.9, >= 1.9.2)
|
120
|
-
rubocop-rspec (~> 2.2)
|
121
|
-
simplecov (~> 0.17.1)
|
122
|
-
truemail-rspec!
|
123
|
-
|
124
|
-
BUNDLED WITH
|
125
|
-
1.16.6
|