rubocop-rspec 3.4.0 → 3.5.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/CHANGELOG.md +6 -0
- data/README.md +7 -4
- data/lib/rubocop/cop/rspec/be_eq.rb +1 -1
- data/lib/rubocop/cop/rspec/be_eql.rb +1 -1
- data/lib/rubocop/cop/rspec/be_nil.rb +4 -0
- data/lib/rubocop/cop/rspec/change_by_zero.rb +0 -2
- data/lib/rubocop/cop/rspec/example_wording.rb +1 -3
- data/lib/rubocop/cop/rspec/excessive_docstring_spacing.rb +1 -1
- data/lib/rubocop/cop/rspec/expect_actual.rb +1 -1
- data/lib/rubocop/cop/rspec/focus.rb +14 -10
- data/lib/rubocop/cop/rspec/implicit_expect.rb +3 -3
- data/lib/rubocop/cop/rspec/implicit_subject.rb +8 -0
- data/lib/rubocop/cop/rspec/indexed_let.rb +2 -0
- data/lib/rubocop/cop/rspec/message_spies.rb +4 -0
- data/lib/rubocop/cop/rspec/predicate_matcher.rb +17 -7
- data/lib/rubocop/cop/rspec/return_from_stub.rb +5 -4
- data/lib/rubocop/rspec/config_formatter.rb +4 -9
- data/lib/rubocop/rspec/plugin.rb +37 -0
- data/lib/rubocop/rspec/version.rb +1 -1
- data/lib/rubocop/rspec/wording.rb +0 -2
- data/lib/rubocop/rspec.rb +0 -7
- data/lib/rubocop-rspec.rb +1 -3
- metadata +26 -5
- data/lib/rubocop/rspec/inject.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5852eb2103d4a2993b2174b7e4c97f5f7f09041c49407122ab6568d744d52c09
|
4
|
+
data.tar.gz: 710d277b8be358c99cadf4ca500141d23fa73347ba3f29db0585a1e7026abd73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e27d20e6945c05f12af9fc24e17e42691186b332611d96eb9e7a5444476de44209517ccdb4829096cff659e7a7d1b98941ff632b3f7f5a547aa4dc82d3e18e38
|
7
|
+
data.tar.gz: 93a9cb481828abc2e313129cec383d38de5261f382d7ae6fcabe42bd0146b5a134b90991df47cc0bade3c1e4266cbfcf733f35ea7bee8eafaa3e5e4236a0b3ca
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
## Master (Unreleased)
|
4
4
|
|
5
|
+
## 3.5.0 (2025-02-16)
|
6
|
+
|
7
|
+
- Don't let `RSpec/PredicateMatcher` replace `respond_to?` with two arguments with the RSpec `respond_to` matcher. ([@bquorning])
|
8
|
+
- Fix `RSpec/PredicateMatcher` support for `eql` and `equal` matchers. ([@bquorning])
|
9
|
+
- Pluginfy RuboCop RSpec. ([@koic])
|
10
|
+
|
5
11
|
## 3.4.0 (2025-01-20)
|
6
12
|
|
7
13
|
- Fix `RSpec/SortMetadata` cop to limit sorting to trailing metadata arguments. ([@cbliard])
|
data/README.md
CHANGED
@@ -48,13 +48,13 @@ ways to do this:
|
|
48
48
|
Put this into your `.rubocop.yml`.
|
49
49
|
|
50
50
|
```yaml
|
51
|
-
|
51
|
+
plugins: rubocop-rspec
|
52
52
|
```
|
53
53
|
|
54
54
|
Alternatively, use the following array notation when specifying multiple extensions.
|
55
55
|
|
56
56
|
```yaml
|
57
|
-
|
57
|
+
plugins:
|
58
58
|
- rubocop-other-extension
|
59
59
|
- rubocop-rspec
|
60
60
|
```
|
@@ -62,17 +62,20 @@ require:
|
|
62
62
|
Now you can run `rubocop` and it will automatically load the RuboCop RSpec
|
63
63
|
cops together with the standard cops.
|
64
64
|
|
65
|
+
> [!NOTE]
|
66
|
+
> The plugin system is supported in RuboCop 1.72+. In earlier versions, use `require` instead of `plugins`.
|
67
|
+
|
65
68
|
### Command line
|
66
69
|
|
67
70
|
```bash
|
68
|
-
rubocop --
|
71
|
+
rubocop --plugin rubocop-rspec
|
69
72
|
```
|
70
73
|
|
71
74
|
### Rake task
|
72
75
|
|
73
76
|
```ruby
|
74
77
|
RuboCop::RakeTask.new do |task|
|
75
|
-
task.
|
78
|
+
task.plugins << 'rubocop-rspec'
|
76
79
|
end
|
77
80
|
```
|
78
81
|
|
@@ -45,7 +45,7 @@ module RuboCop
|
|
45
45
|
|
46
46
|
# @!method eql_type_with_identity(node)
|
47
47
|
def_node_matcher :eql_type_with_identity, <<~PATTERN
|
48
|
-
(send _ :to $(send nil? :eql {
|
48
|
+
(send _ :to $(send nil? :eql {boolean int float sym nil}))
|
49
49
|
PATTERN
|
50
50
|
|
51
51
|
def on_send(node)
|
@@ -101,7 +101,6 @@ module RuboCop
|
|
101
101
|
|
102
102
|
private
|
103
103
|
|
104
|
-
# rubocop:disable Metrics/MethodLength
|
105
104
|
def register_offense(node, change_node)
|
106
105
|
if compound_expectations?(node)
|
107
106
|
add_offense(node,
|
@@ -115,7 +114,6 @@ module RuboCop
|
|
115
114
|
end
|
116
115
|
end
|
117
116
|
end
|
118
|
-
# rubocop:enable Metrics/MethodLength
|
119
117
|
|
120
118
|
def compound_expectations?(node)
|
121
119
|
node.parent.send_type? &&
|
@@ -67,7 +67,6 @@ module RuboCop
|
|
67
67
|
} ...) ...)
|
68
68
|
PATTERN
|
69
69
|
|
70
|
-
# rubocop:disable Metrics/MethodLength
|
71
70
|
def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler
|
72
71
|
it_description(node) do |description_node, message|
|
73
72
|
if message.match?(SHOULD_PREFIX)
|
@@ -82,7 +81,6 @@ module RuboCop
|
|
82
81
|
end
|
83
82
|
end
|
84
83
|
end
|
85
|
-
# rubocop:enable Metrics/MethodLength
|
86
84
|
|
87
85
|
private
|
88
86
|
|
@@ -128,7 +126,7 @@ module RuboCop
|
|
128
126
|
node.node_parts.map { |child_node| text(child_node) }.join
|
129
127
|
when :str
|
130
128
|
node.value
|
131
|
-
|
129
|
+
else
|
132
130
|
node.source
|
133
131
|
end
|
134
132
|
end
|
@@ -75,23 +75,27 @@ module RuboCop
|
|
75
75
|
def on_send(node)
|
76
76
|
return if node.chained? || node.each_ancestor(:def, :defs).any?
|
77
77
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
correct_send(corrector, focus)
|
84
|
-
end
|
78
|
+
if focused_block?(node)
|
79
|
+
on_focused_block(node)
|
80
|
+
else
|
81
|
+
metadata(node) do |focus|
|
82
|
+
on_metadata(focus)
|
85
83
|
end
|
86
84
|
end
|
87
85
|
end
|
88
86
|
|
89
87
|
private
|
90
88
|
|
91
|
-
def
|
92
|
-
|
89
|
+
def on_focused_block(node)
|
90
|
+
add_offense(node) do |corrector|
|
91
|
+
correct_send(corrector, node)
|
92
|
+
end
|
93
|
+
end
|
93
94
|
|
94
|
-
|
95
|
+
def on_metadata(node)
|
96
|
+
add_offense(node) do |corrector|
|
97
|
+
corrector.remove(with_surrounding(node))
|
98
|
+
end
|
95
99
|
end
|
96
100
|
|
97
101
|
def with_surrounding(focus)
|
@@ -46,7 +46,7 @@ module RuboCop
|
|
46
46
|
|
47
47
|
ENFORCED_REPLACEMENTS = alternatives.merge(alternatives.invert).freeze
|
48
48
|
|
49
|
-
def on_send(node)
|
49
|
+
def on_send(node)
|
50
50
|
return unless (source_range = offending_expect(node))
|
51
51
|
|
52
52
|
expectation_source = source_range.source
|
@@ -69,13 +69,13 @@ module RuboCop
|
|
69
69
|
def offending_expect(node)
|
70
70
|
case implicit_expect(node)
|
71
71
|
when :is_expected
|
72
|
-
|
72
|
+
range_for_is_expected(node.loc)
|
73
73
|
when :should, :should_not
|
74
74
|
node.loc.selector
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
def
|
78
|
+
def range_for_is_expected(source_map)
|
79
79
|
Parser::Source::Range.new(
|
80
80
|
source_map.expression.source_buffer,
|
81
81
|
source_map.expression.begin_pos,
|
@@ -107,6 +107,10 @@ module RuboCop
|
|
107
107
|
corrector.replace(node.location.selector, 'expect(subject).to')
|
108
108
|
when :should_not
|
109
109
|
corrector.replace(node.location.selector, 'expect(subject).not_to')
|
110
|
+
else
|
111
|
+
# :nocov:
|
112
|
+
:noop
|
113
|
+
# :nocov:
|
110
114
|
end
|
111
115
|
end
|
112
116
|
|
@@ -129,6 +133,10 @@ module RuboCop
|
|
129
133
|
implicit_subject_in_non_its_and_non_single_line?(node)
|
130
134
|
when :single_statement_only
|
131
135
|
implicit_subject_in_non_its_and_non_single_statement?(node)
|
136
|
+
else
|
137
|
+
# :nocov:
|
138
|
+
:noop
|
139
|
+
# :nocov:
|
132
140
|
end
|
133
141
|
end
|
134
142
|
|
@@ -15,6 +15,8 @@ module RuboCop
|
|
15
15
|
|
16
16
|
def check_inflected(node)
|
17
17
|
predicate_in_actual?(node) do |predicate, to, matcher|
|
18
|
+
next if cannot_replace_predicate?(predicate)
|
19
|
+
|
18
20
|
msg = message_inflected(predicate)
|
19
21
|
add_offense(node, message: msg) do |corrector|
|
20
22
|
remove_predicate(corrector, predicate)
|
@@ -35,9 +37,13 @@ module RuboCop
|
|
35
37
|
$#boolean_matcher? ...)
|
36
38
|
PATTERN
|
37
39
|
|
40
|
+
def cannot_replace_predicate?(send_node)
|
41
|
+
send_node.method?(:respond_to?) && send_node.arguments.length > 1
|
42
|
+
end
|
43
|
+
|
38
44
|
# @!method be_bool?(node)
|
39
45
|
def_node_matcher :be_bool?, <<~PATTERN
|
40
|
-
(send nil? {:be :eq :eql :equal}
|
46
|
+
(send nil? {:be :eq :eql :equal} boolean)
|
41
47
|
PATTERN
|
42
48
|
|
43
49
|
# @!method be_boolthy?(node)
|
@@ -63,7 +69,6 @@ module RuboCop
|
|
63
69
|
matcher_name: to_predicate_matcher(predicate.method_name))
|
64
70
|
end
|
65
71
|
|
66
|
-
# rubocop:disable Metrics/MethodLength
|
67
72
|
def to_predicate_matcher(name)
|
68
73
|
case name = name.to_s
|
69
74
|
when 'is_a?'
|
@@ -80,7 +85,6 @@ module RuboCop
|
|
80
85
|
"be_#{name[0..-2]}"
|
81
86
|
end
|
82
87
|
end
|
83
|
-
# rubocop:enable Metrics/MethodLength
|
84
88
|
|
85
89
|
def remove_predicate(corrector, predicate)
|
86
90
|
range = predicate.loc.dot.with(
|
@@ -106,12 +110,16 @@ module RuboCop
|
|
106
110
|
|
107
111
|
def true?(to_symbol, matcher)
|
108
112
|
result = case matcher.method_name
|
109
|
-
when :be, :eq
|
113
|
+
when :be, :eq, :eql, :equal
|
110
114
|
matcher.first_argument.true_type?
|
111
115
|
when :be_truthy, :a_truthy_value
|
112
116
|
true
|
113
117
|
when :be_falsey, :be_falsy, :a_falsey_value, :a_falsy_value
|
114
118
|
false
|
119
|
+
else
|
120
|
+
# :nocov:
|
121
|
+
:noop
|
122
|
+
# :nocov:
|
115
123
|
end
|
116
124
|
to_symbol == :to ? result : !result
|
117
125
|
end
|
@@ -233,7 +241,6 @@ module RuboCop
|
|
233
241
|
corrector.insert_after(actual, ".#{predicate}" + args + block)
|
234
242
|
end
|
235
243
|
|
236
|
-
# rubocop:disable Metrics/MethodLength
|
237
244
|
def to_predicate_method(matcher)
|
238
245
|
case matcher = matcher.to_s
|
239
246
|
when 'be_a', 'be_an', 'be_a_kind_of', 'a_kind_of', 'be_kind_of'
|
@@ -250,7 +257,6 @@ module RuboCop
|
|
250
257
|
"#{matcher[/\Abe_(.+)/, 1]}?"
|
251
258
|
end
|
252
259
|
end
|
253
|
-
# rubocop:enable Metrics/MethodLength
|
254
260
|
|
255
261
|
def replacement_matcher(node)
|
256
262
|
case [cop_config['Strict'], node.method?(:to)]
|
@@ -260,7 +266,7 @@ module RuboCop
|
|
260
266
|
'be(false)'
|
261
267
|
when [false, true]
|
262
268
|
'be_truthy'
|
263
|
-
|
269
|
+
else
|
264
270
|
'be_falsey'
|
265
271
|
end
|
266
272
|
end
|
@@ -329,6 +335,10 @@ module RuboCop
|
|
329
335
|
check_inflected(node)
|
330
336
|
when :explicit
|
331
337
|
check_explicit(node)
|
338
|
+
else
|
339
|
+
# :nocov:
|
340
|
+
:noop
|
341
|
+
# :nocov:
|
332
342
|
end
|
333
343
|
end
|
334
344
|
|
@@ -80,10 +80,10 @@ module RuboCop
|
|
80
80
|
|
81
81
|
def check_block_body(block)
|
82
82
|
body = block.body
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
83
|
+
return if dynamic?(body)
|
84
|
+
|
85
|
+
add_offense(block.loc.begin, message: MSG_AND_RETURN) do |corrector|
|
86
|
+
BlockBodyCorrector.new(block).call(corrector)
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
@@ -162,6 +162,7 @@ module RuboCop
|
|
162
162
|
end
|
163
163
|
|
164
164
|
NULL_BLOCK_BODY = Struct.new(:loc, :source).new(nil, 'nil')
|
165
|
+
private_constant :NULL_BLOCK_BODY
|
165
166
|
end
|
166
167
|
end
|
167
168
|
end
|
@@ -6,9 +6,7 @@ module RuboCop
|
|
6
6
|
module RSpec
|
7
7
|
# Builds a YAML config file from two config hashes
|
8
8
|
class ConfigFormatter
|
9
|
-
EXTENSION_ROOT_DEPARTMENT = %r{^
|
10
|
-
SUBDEPARTMENTS = [].freeze
|
11
|
-
AMENDMENTS = %(Metrics/BlockLength)
|
9
|
+
EXTENSION_ROOT_DEPARTMENT = %r{^RSpec/}.freeze
|
12
10
|
COP_DOC_BASE_URL = 'https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/'
|
13
11
|
|
14
12
|
def initialize(config, descriptions)
|
@@ -18,18 +16,15 @@ module RuboCop
|
|
18
16
|
|
19
17
|
def dump
|
20
18
|
YAML.dump(unified_config)
|
21
|
-
.gsub(
|
22
|
-
.gsub(
|
23
|
-
.gsub(
|
24
|
-
.gsub('"~"', '~')
|
19
|
+
.gsub(%r{^\w+/}, "\n\\0") # Add an extra newline before each cop.
|
20
|
+
.gsub(/^(\s+)- /, '\1 - ') # Add 2 spaces before each array element.
|
21
|
+
.gsub('"~"', '~') # Don't quote tilde, YAML's null value.
|
25
22
|
end
|
26
23
|
|
27
24
|
private
|
28
25
|
|
29
26
|
def unified_config
|
30
27
|
cops.each_with_object(config.dup) do |cop, unified|
|
31
|
-
next if SUBDEPARTMENTS.include?(cop) || AMENDMENTS.include?(cop)
|
32
|
-
|
33
28
|
replace_nil(unified[cop])
|
34
29
|
unified[cop].merge!(descriptions.fetch(cop))
|
35
30
|
unified[cop]['Reference'] = reference(cop)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'lint_roller'
|
4
|
+
|
5
|
+
module RuboCop
|
6
|
+
module RSpec
|
7
|
+
# A plugin that integrates RuboCop RSpec with RuboCop's plugin system.
|
8
|
+
class Plugin < LintRoller::Plugin
|
9
|
+
# :nocov:
|
10
|
+
def about
|
11
|
+
LintRoller::About.new(
|
12
|
+
name: 'rubocop-rspec',
|
13
|
+
version: Version::STRING,
|
14
|
+
homepage: 'https://github.com/rubocop/rubocop-rspec',
|
15
|
+
description: 'Code style checking for RSpec files.'
|
16
|
+
)
|
17
|
+
end
|
18
|
+
# :nocov:
|
19
|
+
|
20
|
+
def supported?(context)
|
21
|
+
context.engine == :rubocop
|
22
|
+
end
|
23
|
+
|
24
|
+
def rules(_context)
|
25
|
+
project_root = Pathname.new(__dir__).join('../../..')
|
26
|
+
|
27
|
+
ConfigObsoletion.files << project_root.join('config', 'obsoletion.yml')
|
28
|
+
|
29
|
+
LintRoller::Rules.new(
|
30
|
+
type: :path,
|
31
|
+
config_format: :rubocop,
|
32
|
+
value: project_root.join('config/default.yml')
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -17,7 +17,6 @@ module RuboCop
|
|
17
17
|
@replacements = replace
|
18
18
|
end
|
19
19
|
|
20
|
-
# rubocop:disable Metrics/MethodLength
|
21
20
|
def rewrite
|
22
21
|
case text
|
23
22
|
when SHOULDNT_BE_PREFIX
|
@@ -32,7 +31,6 @@ module RuboCop
|
|
32
31
|
remove_should_and_pluralize
|
33
32
|
end
|
34
33
|
end
|
35
|
-
# rubocop:enable Metrics/MethodLength
|
36
34
|
|
37
35
|
private
|
38
36
|
|
data/lib/rubocop/rspec.rb
CHANGED
@@ -3,12 +3,5 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# RuboCop RSpec project namespace
|
5
5
|
module RSpec
|
6
|
-
PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
|
7
|
-
CONFIG_DEFAULT = PROJECT_ROOT.join('config', 'default.yml').freeze
|
8
|
-
|
9
|
-
private_constant(:CONFIG_DEFAULT, :PROJECT_ROOT)
|
10
|
-
|
11
|
-
::RuboCop::ConfigObsoletion.files << PROJECT_ROOT.join('config',
|
12
|
-
'obsoletion.yml')
|
13
6
|
end
|
14
7
|
end
|
data/lib/rubocop-rspec.rb
CHANGED
@@ -6,9 +6,9 @@ require 'yaml'
|
|
6
6
|
require 'rubocop'
|
7
7
|
|
8
8
|
require_relative 'rubocop/rspec'
|
9
|
-
require_relative 'rubocop/rspec/inject'
|
10
9
|
require_relative 'rubocop/rspec/language'
|
11
10
|
require_relative 'rubocop/rspec/node'
|
11
|
+
require_relative 'rubocop/rspec/plugin'
|
12
12
|
require_relative 'rubocop/rspec/version'
|
13
13
|
require_relative 'rubocop/rspec/wording'
|
14
14
|
|
@@ -34,8 +34,6 @@ require_relative 'rubocop/rspec/example'
|
|
34
34
|
require_relative 'rubocop/rspec/example_group'
|
35
35
|
require_relative 'rubocop/rspec/hook'
|
36
36
|
|
37
|
-
RuboCop::RSpec::Inject.defaults!
|
38
|
-
|
39
37
|
require_relative 'rubocop/cop/rspec_cops'
|
40
38
|
|
41
39
|
# We have to register our autocorrect incompatibilities in RuboCop's cops
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Backus
|
@@ -9,22 +9,42 @@ authors:
|
|
9
9
|
- Nils Gemeinhardt
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-
|
12
|
+
date: 2025-02-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: lint_roller
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.1'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.1'
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: rubocop
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
32
|
- - "~>"
|
19
33
|
- !ruby/object:Gem::Version
|
20
|
-
version: '1.
|
34
|
+
version: '1.72'
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.72.1
|
21
38
|
type: :runtime
|
22
39
|
prerelease: false
|
23
40
|
version_requirements: !ruby/object:Gem::Requirement
|
24
41
|
requirements:
|
25
42
|
- - "~>"
|
26
43
|
- !ruby/object:Gem::Version
|
27
|
-
version: '1.
|
44
|
+
version: '1.72'
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.72.1
|
28
48
|
description: |
|
29
49
|
Code style checking for RSpec files.
|
30
50
|
A plugin for the RuboCop code style enforcing & linting tool.
|
@@ -178,9 +198,9 @@ files:
|
|
178
198
|
- lib/rubocop/rspec/example.rb
|
179
199
|
- lib/rubocop/rspec/example_group.rb
|
180
200
|
- lib/rubocop/rspec/hook.rb
|
181
|
-
- lib/rubocop/rspec/inject.rb
|
182
201
|
- lib/rubocop/rspec/language.rb
|
183
202
|
- lib/rubocop/rspec/node.rb
|
203
|
+
- lib/rubocop/rspec/plugin.rb
|
184
204
|
- lib/rubocop/rspec/shared_contexts/default_rspec_language_config_context.rb
|
185
205
|
- lib/rubocop/rspec/version.rb
|
186
206
|
- lib/rubocop/rspec/wording.rb
|
@@ -191,6 +211,7 @@ metadata:
|
|
191
211
|
changelog_uri: https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md
|
192
212
|
documentation_uri: https://docs.rubocop.org/rubocop-rspec/
|
193
213
|
rubygems_mfa_required: 'true'
|
214
|
+
default_lint_roller_plugin: RuboCop::RSpec::Plugin
|
194
215
|
rdoc_options: []
|
195
216
|
require_paths:
|
196
217
|
- lib
|
data/lib/rubocop/rspec/inject.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module RSpec
|
5
|
-
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
|
6
|
-
# bit of our configuration.
|
7
|
-
module Inject
|
8
|
-
def self.defaults!
|
9
|
-
path = CONFIG_DEFAULT.to_s
|
10
|
-
hash = ConfigLoader.send(:load_yaml_configuration, path)
|
11
|
-
config = RuboCop::Config.new(hash, path)
|
12
|
-
puts "configuration from #{path}" if ConfigLoader.debug?
|
13
|
-
config = ConfigLoader.merge_with_default(config, path)
|
14
|
-
ConfigLoader.instance_variable_set(:@default_configuration, config)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|