truemail 2.4.9 → 2.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fe7168451269d442bab0872d515895af1c79b884ed3306648f4849ce74320b2
4
- data.tar.gz: 9797a040d814da27daa9073e19d984fa50fd033ac83eaffa96bbc5485501471d
3
+ metadata.gz: f4489970da0eb47e0577b29a6dd696d7a89d4c74b977a383d690e0b33e510e61
4
+ data.tar.gz: d3e3868b250db8d306ca42092703a2fd85576afed9657b998992b4c509651f86
5
5
  SHA512:
6
- metadata.gz: 12d6e026591650b65eef26b5aa43b67e2d065e2dcb8f4d8229a6e19567e4162d6eebc41a992d35a8793a21893ea92e55f89de66ce9f35625d5efe466931e1b76
7
- data.tar.gz: 04bed3c49eaf6314a21a33d0e761ca9e8c82671411f96e2b7428202cd3e0225ac4f13fd545202c6898f9328a17466e91cf957c5abfcf03ac8f0bf8801c0dc807
6
+ metadata.gz: e6086d5f8e6700ede8b26db492c5fbe3fe4e56ecf844f9461364af755f945210de4856f4ec5b255602571ce46dd166dc4739b53b9c00431bcd9b3817d16afa5e
7
+ data.tar.gz: a626ff47ae105cd13c8659522e8e354e7ec8cf35533930901c34a23378cb15c90dac591294186ec260ba1e4adffca5db00abd3374cf6e2b5ee35f35c6c537828
data/.codeclimate.yml CHANGED
@@ -7,7 +7,7 @@ checks:
7
7
  plugins:
8
8
  rubocop:
9
9
  enabled: true
10
- channel: rubocop-1-19
10
+ channel: rubocop-1-22
11
11
 
12
12
  reek:
13
13
  enabled: true
data/.rubocop.yml CHANGED
@@ -169,6 +169,15 @@ Style/QuotedSymbols:
169
169
  Style/RedundantSelfAssignmentBranch:
170
170
  Enabled: true
171
171
 
172
+ Style/NumberedParameters:
173
+ Enabled: true
174
+
175
+ Style/NumberedParametersLimit:
176
+ Enabled: true
177
+
178
+ Style/SelectByRegexp:
179
+ Enabled: true
180
+
172
181
  Layout/LineLength:
173
182
  Max: 140
174
183
 
@@ -332,9 +341,21 @@ Lint/EmptyInPattern:
332
341
  Lint/AmbiguousRange:
333
342
  Enabled: true
334
343
 
344
+ Lint/AmbiguousOperatorPrecedence:
345
+ Enabled: true
346
+
347
+ Lint/IncompatibleIoSelectWithFiberScheduler:
348
+ Enabled: true
349
+
350
+ Lint/RequireRelativeSelfPath:
351
+ Enabled: true
352
+
335
353
  Gemspec/DateAssignment:
336
354
  Enabled: true
337
355
 
356
+ Security/IoMethods:
357
+ Enabled: true
358
+
338
359
  Performance/AncestorsInclude:
339
360
  Enabled: true
340
361
 
@@ -383,6 +404,9 @@ Performance/RedundantSplitRegexpArgument:
383
404
  Performance/MapCompact:
384
405
  Enabled: true
385
406
 
407
+ Performance/ConcurrentMonotonicTime:
408
+ Enabled: true
409
+
386
410
  RSpec/ExampleLength:
387
411
  Enabled: false
388
412
 
@@ -418,3 +442,9 @@ RSpec/IdenticalEqualityAssertion:
418
442
 
419
443
  RSpec/Rails/AvoidSetupHook:
420
444
  Enabled: true
445
+
446
+ RSpec/ExcessiveDocstringSpacing:
447
+ Enabled: true
448
+
449
+ RSpec/SubjectDeclaration:
450
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -2,6 +2,47 @@
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.5.3] - 2021.11.08
6
+
7
+ ### Fixed
8
+
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.
10
+
11
+ ### Updated
12
+
13
+ - Updated `Truemail::Validate::Smtp::Request#run`
14
+ - Updated gem development dependencies
15
+ - Updated gem version
16
+
17
+ ## [2.5.2] - 2021.10.06
18
+
19
+ ### Fixed
20
+
21
+ - `Truemail::RegexConstant::REGEX_EMAIL_PATTERN` behaviour with double `@` in email. Thanks [@your-favorite-dev](https://github.com/your-favorite-dev) for bug report.
22
+
23
+ ### Updated
24
+
25
+ - Updated tests
26
+ - Updated gem development dependencies
27
+ - Updated gem version
28
+
29
+ ## [2.5.1] - 2021.10.01
30
+
31
+ ### Updated
32
+
33
+ - Updated gem development dependencies
34
+ - Updated gem version
35
+
36
+ ## [2.5.0] - 2021.09.01
37
+
38
+ ### Updated
39
+
40
+ Optimized DNS (MX) validation flow. Removed needless DNS request for case when custom email pattern was defined and email for validation includes invalid domain name.
41
+
42
+ - Updated `Truemail::Validate::Mx#run`, tests
43
+ - Updated gem development dependencies
44
+ - Updated gem documentation, version
45
+
5
46
  ## [2.4.9] - 2021.08.20
6
47
 
7
48
  ### Updated
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- truemail (2.4.9)
4
+ truemail (2.5.3)
5
5
  simpleidn (~> 0.2.1)
6
6
 
7
7
  GEM
@@ -10,7 +10,7 @@ GEM
10
10
  addressable (2.8.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
12
  ast (2.4.2)
13
- bundler-audit (0.8.0)
13
+ bundler-audit (0.9.0.1)
14
14
  bundler (>= 1.2.0, < 3)
15
15
  thor (~> 1.0)
16
16
  byebug (11.1.3)
@@ -20,16 +20,16 @@ GEM
20
20
  crack (0.4.5)
21
21
  rexml
22
22
  diff-lcs (1.4.4)
23
- dns_mock (1.4.1)
23
+ dns_mock (1.4.3)
24
24
  simpleidn (~> 0.2.1)
25
25
  docile (1.4.0)
26
26
  fasterer (0.9.0)
27
27
  colorize (~> 0.7)
28
28
  ruby_parser (>= 3.14.1)
29
- ffaker (2.19.0)
29
+ ffaker (2.20.0)
30
30
  hashdiff (1.0.1)
31
31
  iniparse (1.5.0)
32
- json (2.5.1)
32
+ json (2.6.1)
33
33
  json_matchers (0.11.1)
34
34
  json_schema
35
35
  json_schema (0.21.0)
@@ -39,7 +39,7 @@ GEM
39
39
  childprocess (>= 0.6.3, < 5)
40
40
  iniparse (~> 1.4)
41
41
  rexml (~> 3.2)
42
- parallel (1.20.1)
42
+ parallel (1.21.0)
43
43
  parser (3.0.2.0)
44
44
  ast (~> 2.4.1)
45
45
  pry (0.13.1)
@@ -69,28 +69,27 @@ GEM
69
69
  rspec-mocks (3.10.2)
70
70
  diff-lcs (>= 1.2.0, < 2.0)
71
71
  rspec-support (~> 3.10.0)
72
- rspec-support (3.10.2)
73
- rubocop (1.19.1)
72
+ rspec-support (3.10.3)
73
+ rubocop (1.22.3)
74
74
  parallel (~> 1.10)
75
75
  parser (>= 3.0.0.0)
76
76
  rainbow (>= 2.2.2, < 4.0)
77
77
  regexp_parser (>= 1.8, < 3.0)
78
78
  rexml
79
- rubocop-ast (>= 1.9.1, < 2.0)
79
+ rubocop-ast (>= 1.12.0, < 2.0)
80
80
  ruby-progressbar (~> 1.7)
81
81
  unicode-display_width (>= 1.4.0, < 3.0)
82
- rubocop-ast (1.10.0)
82
+ rubocop-ast (1.13.0)
83
83
  parser (>= 3.0.1.1)
84
- rubocop-performance (1.11.5)
84
+ rubocop-performance (1.12.0)
85
85
  rubocop (>= 1.7.0, < 2.0)
86
86
  rubocop-ast (>= 0.4.0)
87
- rubocop-rspec (2.4.0)
88
- rubocop (~> 1.0)
89
- rubocop-ast (>= 1.1.0)
87
+ rubocop-rspec (2.6.0)
88
+ rubocop (~> 1.19)
90
89
  ruby-progressbar (1.11.0)
91
- ruby_parser (3.17.0)
92
- sexp_processor (~> 4.15, >= 4.15.1)
93
- sexp_processor (4.15.3)
90
+ ruby_parser (3.18.0)
91
+ sexp_processor (~> 4.16)
92
+ sexp_processor (4.16.0)
94
93
  simplecov (0.17.1)
95
94
  docile (~> 1.1)
96
95
  json (>= 1.8, < 3)
@@ -105,8 +104,8 @@ GEM
105
104
  truemail (>= 2.4)
106
105
  unf (0.1.4)
107
106
  unf_ext
108
- unf_ext (0.0.7.7)
109
- unicode-display_width (2.0.0)
107
+ unf_ext (0.0.8)
108
+ unicode-display_width (2.1.0)
110
109
  webmock (3.14.0)
111
110
  addressable (>= 2.8.0)
112
111
  crack (>= 0.3.2)
@@ -116,24 +115,24 @@ PLATFORMS
116
115
  x86_64-darwin-20
117
116
 
118
117
  DEPENDENCIES
119
- bundler (~> 2.2, >= 2.2.26)
120
- bundler-audit (~> 0.8.0)
121
- dns_mock (~> 1.4, >= 1.4.1)
118
+ bundler (~> 2.2, >= 2.2.31)
119
+ bundler-audit (~> 0.9.0.1)
120
+ dns_mock (~> 1.4, >= 1.4.3)
122
121
  fasterer (~> 0.9.0)
123
- ffaker (~> 2.19)
122
+ ffaker (~> 2.20)
124
123
  json_matchers (~> 0.11.1)
125
124
  overcommit (~> 0.58.0)
126
125
  pry-byebug (~> 3.9)
127
126
  rake (~> 13.0, >= 13.0.6)
128
127
  reek (~> 6.0, >= 6.0.6)
129
128
  rspec (~> 3.10)
130
- rubocop (~> 1.19, >= 1.19.1)
131
- rubocop-performance (~> 1.11, >= 1.11.5)
132
- rubocop-rspec (~> 2.4)
129
+ rubocop (~> 1.22, >= 1.22.3)
130
+ rubocop-performance (~> 1.12)
131
+ rubocop-rspec (~> 2.6)
133
132
  simplecov (~> 0.17.1)
134
133
  truemail!
135
134
  truemail-rspec (~> 0.7.0)
136
135
  webmock (~> 3.14)
137
136
 
138
137
  BUNDLED WITH
139
- 2.2.26
138
+ 2.2.31
data/README.md CHANGED
@@ -368,7 +368,7 @@ Truemail.validate('email@white-domain.com')
368
368
  @result=#<struct Truemail::Validator::Result
369
369
  success=true,
370
370
  email="email@white-domain.com",
371
- domain=nil,
371
+ domain="white-domain.com",
372
372
  mail_servers=[],
373
373
  errors={},
374
374
  smtp_debug=nil>,
@@ -416,7 +416,7 @@ Truemail.validate('email@white-domain.com', with: :regex)
416
416
  @result=#<struct Truemail::Validator::Result
417
417
  success=true,
418
418
  email="email@white-domain.com",
419
- domain=nil,
419
+ domain="white-domain.com",
420
420
  mail_servers=[],
421
421
  errors={},
422
422
  smtp_debug=nil>,
@@ -451,7 +451,7 @@ Truemail.validate('email@domain.com', with: :regex)
451
451
  @result=#<struct Truemail::Validator::Result
452
452
  success=false,
453
453
  email="email@domain.com",
454
- domain=nil,
454
+ domain="domain.com",
455
455
  mail_servers=[],
456
456
  errors={},
457
457
  smtp_debug=nil>,
@@ -488,7 +488,7 @@ Truemail.validate('email@black-domain.com')
488
488
  @result=#<struct Truemail::Validator::Result
489
489
  success=false,
490
490
  email="email@black-domain.com",
491
- domain=nil,
491
+ domain="black-domain.com",
492
492
  mail_servers=[],
493
493
  errors={},
494
494
  smtp_debug=nil>,
@@ -525,7 +525,7 @@ Truemail.validate('email@somedomain.com')
525
525
  @result=#<struct Truemail::Validator::Result
526
526
  success=true,
527
527
  email="email@somedomain.com",
528
- domain=nil,
528
+ domain="somedomain.com",
529
529
  mail_servers=[],
530
530
  errors={},
531
531
  smtp_debug=nil>,
@@ -579,7 +579,7 @@ Truemail.validate('email@example.com', with: :regex)
579
579
  #<struct Truemail::Validator::Result
580
580
  success=true,
581
581
  email="email@example.com",
582
- domain=nil,
582
+ domain="example.com",
583
583
  mail_servers=[],
584
584
  errors={},
585
585
  smtp_debug=nil>,
@@ -624,7 +624,7 @@ Truemail.validate('email@example.com', with: :regex)
624
624
  #<struct Truemail::Validator::Result
625
625
  success=true,
626
626
  email="email@example.com",
627
- domain=nil,
627
+ domain="example.com",
628
628
  mail_servers=[],
629
629
  errors={},
630
630
  smtp_debug=nil>,
data/lib/truemail/core.rb CHANGED
@@ -20,7 +20,7 @@ module Truemail
20
20
 
21
21
  module RegexConstant
22
22
  REGEX_DOMAIN = /[\p{L}0-9]+([\-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}/i.freeze
23
- REGEX_EMAIL_PATTERN = /(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\W\w]*)@(#{REGEX_DOMAIN})\z)/.freeze
23
+ REGEX_EMAIL_PATTERN = %r{(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w\p{L}.+!~,'&%#*^`{}|\-/?=$]*)@(#{REGEX_DOMAIN})\z)}.freeze
24
24
  REGEX_DOMAIN_PATTERN = /(?=\A.{4,255}\z)(\A#{REGEX_DOMAIN}\z)/.freeze
25
25
  REGEX_DOMAIN_FROM_EMAIL = /\A.+@(.+)\z/.freeze
26
26
  REGEX_SMTP_ERROR_BODY_PATTERN = /(?=.*550)(?=.*(user|account|customer|mailbox)).*/i.freeze
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Truemail
4
4
  module Dns
5
- PunycodeRepresenter = Class.new do
5
+ PunycodeRepresenter = ::Class.new do
6
6
  require 'simpleidn'
7
7
 
8
8
  def self.call(email)
@@ -8,13 +8,17 @@ module Truemail
8
8
 
9
9
  def run
10
10
  return false unless Truemail::Validate::Regex.check(result)
11
- return true if success(mx_lookup && domain_not_include_null_mx)
11
+ return true if success(email_domain_valid? && mx_lookup && domain_not_include_null_mx)
12
12
  mail_servers.clear && add_error(Truemail::Validate::Mx::ERROR)
13
13
  false
14
14
  end
15
15
 
16
16
  private
17
17
 
18
+ def email_domain_valid?
19
+ Truemail::RegexConstant::REGEX_DOMAIN_PATTERN.match?(result.domain)
20
+ end
21
+
18
22
  def host_extractor_methods
19
23
  return %i[hosts_from_mx_records?] if configuration.not_rfc_mx_lookup_flow
20
24
  %i[hosts_from_mx_records? hosts_from_cname_records? host_from_a_record?]
@@ -35,7 +35,7 @@ module Truemail
35
35
  end
36
36
 
37
37
  def run
38
- session.start(configuration.verifier_domain) do |smtp_request|
38
+ session.start(configuration.verifier_domain, **(::RUBY_VERSION[/\A3\..+\z/] ? { tls_verify: false } : {})) do |smtp_request|
39
39
  response.connection = response.helo = true
40
40
  smtp_handshakes(smtp_request, response)
41
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '2.4.9'
4
+ VERSION = '2.5.3'
5
5
  end
data/truemail.gemspec CHANGED
@@ -28,25 +28,25 @@ 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
34
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
35
35
 
36
- spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.26'
37
- spec.add_development_dependency 'bundler-audit', '~> 0.8.0'
38
- spec.add_development_dependency 'dns_mock', '~> 1.4', '>= 1.4.1'
36
+ spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.31'
37
+ spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
38
+ spec.add_development_dependency 'dns_mock', '~> 1.4', '>= 1.4.3'
39
39
  spec.add_development_dependency 'fasterer', '~> 0.9.0'
40
- spec.add_development_dependency 'ffaker', '~> 2.19'
40
+ spec.add_development_dependency 'ffaker', '~> 2.20'
41
41
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
42
42
  spec.add_development_dependency 'overcommit', '~> 0.58.0'
43
43
  spec.add_development_dependency 'pry-byebug', '~> 3.9'
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.19', '>= 1.19.1'
48
- spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.5'
49
- spec.add_development_dependency 'rubocop-rspec', '~> 2.4'
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'
50
50
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
51
51
  spec.add_development_dependency 'truemail-rspec', '~> 0.7.0'
52
52
  spec.add_development_dependency 'webmock', '~> 3.14'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.9
4
+ version: 2.5.3
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-08-20 00:00:00.000000000 Z
11
+ date: 2021-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '2.2'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 2.2.26
36
+ version: 2.2.31
37
37
  type: :development
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,21 +43,21 @@ dependencies:
43
43
  version: '2.2'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 2.2.26
46
+ version: 2.2.31
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler-audit
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.8.0
53
+ version: 0.9.0.1
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.8.0
60
+ version: 0.9.0.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: dns_mock
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +67,7 @@ dependencies:
67
67
  version: '1.4'
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: 1.4.1
70
+ version: 1.4.3
71
71
  type: :development
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -77,7 +77,7 @@ dependencies:
77
77
  version: '1.4'
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: 1.4.1
80
+ version: 1.4.3
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: fasterer
83
83
  requirement: !ruby/object:Gem::Requirement
@@ -98,14 +98,14 @@ dependencies:
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '2.19'
101
+ version: '2.20'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: '2.19'
108
+ version: '2.20'
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: json_matchers
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -208,54 +208,48 @@ dependencies:
208
208
  requirements:
209
209
  - - "~>"
210
210
  - !ruby/object:Gem::Version
211
- version: '1.19'
211
+ version: '1.22'
212
212
  - - ">="
213
213
  - !ruby/object:Gem::Version
214
- version: 1.19.1
214
+ version: 1.22.3
215
215
  type: :development
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '1.19'
221
+ version: '1.22'
222
222
  - - ">="
223
223
  - !ruby/object:Gem::Version
224
- version: 1.19.1
224
+ version: 1.22.3
225
225
  - !ruby/object:Gem::Dependency
226
226
  name: rubocop-performance
227
227
  requirement: !ruby/object:Gem::Requirement
228
228
  requirements:
229
229
  - - "~>"
230
230
  - !ruby/object:Gem::Version
231
- version: '1.11'
232
- - - ">="
233
- - !ruby/object:Gem::Version
234
- version: 1.11.5
231
+ version: '1.12'
235
232
  type: :development
236
233
  prerelease: false
237
234
  version_requirements: !ruby/object:Gem::Requirement
238
235
  requirements:
239
236
  - - "~>"
240
237
  - !ruby/object:Gem::Version
241
- version: '1.11'
242
- - - ">="
243
- - !ruby/object:Gem::Version
244
- version: 1.11.5
238
+ version: '1.12'
245
239
  - !ruby/object:Gem::Dependency
246
240
  name: rubocop-rspec
247
241
  requirement: !ruby/object:Gem::Requirement
248
242
  requirements:
249
243
  - - "~>"
250
244
  - !ruby/object:Gem::Version
251
- version: '2.4'
245
+ version: '2.6'
252
246
  type: :development
253
247
  prerelease: false
254
248
  version_requirements: !ruby/object:Gem::Requirement
255
249
  requirements:
256
250
  - - "~>"
257
251
  - !ruby/object:Gem::Version
258
- version: '2.4'
252
+ version: '2.6'
259
253
  - !ruby/object:Gem::Dependency
260
254
  name: simplecov
261
255
  requirement: !ruby/object:Gem::Requirement