solargraph-rspec 0.5.3 → 0.5.5
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/.rspec +1 -0
- data/.rubocop.yml +6 -4
- data/.solargraph.yml.example +26 -0
- data/Appraisals +7 -0
- data/CHANGELOG.md +7 -1
- data/README.md +19 -13
- data/gemfiles/default.gemfile +10 -9
- data/gemfiles/default.gemfile.lock +121 -99
- data/lib/solargraph/rspec/config.rb +6 -2
- data/lib/solargraph/rspec/convention.rb +4 -4
- data/lib/solargraph/rspec/correctors/base.rb +35 -1
- data/lib/solargraph/rspec/correctors/context_block_namespace_corrector.rb +1 -0
- data/lib/solargraph/rspec/correctors/described_class_corrector.rb +1 -1
- data/lib/solargraph/rspec/correctors/example_and_hook_blocks_binding_corrector.rb +1 -0
- data/lib/solargraph/rspec/correctors/let_methods_corrector.rb +2 -1
- data/lib/solargraph/rspec/correctors/subject_method_corrector.rb +2 -2
- data/lib/solargraph/rspec/{test_helpers.rb → gems.rb} +9 -10
- data/lib/solargraph/rspec/pin_factory.rb +33 -6
- data/lib/solargraph/rspec/spec_walker/fake_let_method.rb +1 -5
- data/lib/solargraph/rspec/spec_walker/node_types.rb +9 -7
- data/lib/solargraph/rspec/spec_walker/rspec_context_namespace.rb +3 -1
- data/lib/solargraph/rspec/spec_walker.rb +2 -1
- data/lib/solargraph/rspec/version.rb +1 -1
- data/lib/solargraph/rspec/walker.rb +4 -0
- data/rbs_collection.yaml +20 -0
- data/release_gem.sh +210 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e419b2a50e53e4fab9030c7efc9821aef1c245987b50c87e0222e7889a024065
|
4
|
+
data.tar.gz: 0eb5170d658591b473c7c9df2613d017889bcf0c4e9488579ae07b6fa40c1e2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fd09eda66acdf1c5688152d5b5fae30afc7c97461eefd13bbf2c5e9be8fae53a05c822e7d3cb2a03d46d7823016c6119d0887fb0d6f1ee165010f824450617b
|
7
|
+
data.tar.gz: 54d762f7d838d9671ef57a3e9963fdba3ec850ce51ae8d69b9d05fb27dc569370feda39c7d09f1056dce6f6a384d097d30aa361de4adf5ed5b2d480d591b3867
|
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,17 +1,19 @@
|
|
1
|
+
plugins:
|
2
|
+
- rubocop-yard
|
3
|
+
|
1
4
|
AllCops:
|
2
5
|
TargetRubyVersion: 3.0
|
3
6
|
NewCops: enable
|
7
|
+
Exclude:
|
8
|
+
- 'gemfiles/**/*' # these are autogenerated files
|
9
|
+
- 'tmp/**/*' # git ignored anyway
|
4
10
|
|
5
11
|
Style/StringLiterals:
|
6
12
|
Enabled: true
|
7
13
|
EnforcedStyle: single_quotes
|
8
|
-
Exclude:
|
9
|
-
- "gemfiles/**/*"
|
10
14
|
|
11
15
|
Style/FrozenStringLiteralComment:
|
12
16
|
Enabled: true
|
13
|
-
Exclude:
|
14
|
-
- "gemfiles/**/*"
|
15
17
|
|
16
18
|
Style/StringLiteralsInInterpolation:
|
17
19
|
Enabled: true
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
include:
|
3
|
+
- "**/*.rb"
|
4
|
+
exclude:
|
5
|
+
- "spec/solargraph/**/*"
|
6
|
+
- test/**/*
|
7
|
+
- vendor/**/*
|
8
|
+
- ".bundle/**/*"
|
9
|
+
require: []
|
10
|
+
domains: []
|
11
|
+
reporters:
|
12
|
+
- typecheck:strict
|
13
|
+
- rubocop
|
14
|
+
- require_not_found
|
15
|
+
formatter:
|
16
|
+
rubocop:
|
17
|
+
cops: all
|
18
|
+
require_paths: []
|
19
|
+
plugins:
|
20
|
+
- solargraph-rspec
|
21
|
+
max_files: 20000
|
22
|
+
rspec:
|
23
|
+
let_methods:
|
24
|
+
- let_it_be
|
25
|
+
example_methods:
|
26
|
+
- my_example
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
### Fixed
|
11
|
+
- Go-to-defintion/Hover for RSpec DSL methods (eg. context or it)
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
- Update testing steps in developer documentation
|
15
|
+
|
10
16
|
## [0.5.3] - 2025-09-02
|
11
17
|
|
12
18
|
### Fixed
|
@@ -125,7 +131,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
125
131
|
### Added
|
126
132
|
|
127
133
|
- `describe` and `it` methods completion
|
128
|
-
- memoized `let` and `let!` methods completion
|
134
|
+
- memoized `let` and `let!` methods completion
|
129
135
|
- implicit and explicit `subject` methods
|
130
136
|
- `described_class` with appropriate type inference
|
131
137
|
- `RSpec::Matchers` methods completion
|
data/README.md
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
[](https://codecov.io/gh/lekemula/solargraph-rspec)
|
6
6
|
|
7
7
|
|
8
|
-
RSpec is a testing framework of choice for many Ruby developers. But at the same time is highly dynamic and heavily relying on metaprogramming making it hard to provide accurate code completion and type inference.
|
8
|
+
RSpec is a testing framework of choice for many Ruby developers. But at the same time is highly dynamic and heavily relying on metaprogramming making it hard to provide accurate code completion and type inference.
|
9
9
|
|
10
10
|
This gem aims to provide better support for RSpec in Solargraph and it supports the following features (completion, jump to definition and type inference 🚀):
|
11
|
-
- `describe` and `it` methods
|
12
|
-
- memoized `let` and `let!` methods
|
11
|
+
- `describe` and `it` methods
|
12
|
+
- memoized `let` and `let!` methods
|
13
13
|
- `described_class` with appropriate type inference
|
14
14
|
- implicit and explicit `subject` methods
|
15
15
|
- one liner syntax helpers `is_expected`, `should` and `should_not` linked to the appropriate subject
|
@@ -110,7 +110,7 @@ Run `yard config --gem-install-yri` to generate YARD documentation automatically
|
|
110
110
|
|
111
111
|
## Acknowledgements
|
112
112
|
|
113
|
-
This gem is inspired by the [solargraph-rails](https://github.com/iftheshoefritz/solargraph-rails) which gave me an idea of how to extend Solargraph with custom features and provided me with simple and very understandable test suite which helped me to get started with playing around with Solargraph.
|
113
|
+
This gem is inspired by the [solargraph-rails](https://github.com/iftheshoefritz/solargraph-rails) which gave me an idea of how to extend Solargraph with custom features and provided me with simple and very understandable test suite which helped me to get started with playing around with Solargraph.
|
114
114
|
|
115
115
|
In fact, most of the code I initially wrote on [a fork](https://github.com/lekemula/solargraph-rails/tree/rspec-support) of it, but then I realized that it would make more sense to extract it into a separate gem where it could be used by non-Rails projects as well.
|
116
116
|
|
@@ -128,17 +128,23 @@ It's codebase IMO is an exemplary of how Ruby code written in a very simple PORO
|
|
128
128
|
|
129
129
|
Code contributions are always appreciated. Feel free to fork the repo and submit pull requests. Check for open issues that could use help. Start new issues to discuss changes that have a major impact on the code or require large time commitments.
|
130
130
|
|
131
|
-
Contributing is easy
|
131
|
+
Contributing is easy - note that this Gem uses 'appraisal' to test against RSpec 3rd party plugins without adding to the main `Gemfile`:
|
132
132
|
1. Create a fork and clone it
|
133
|
-
2.
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
133
|
+
2. Verify tests are green:
|
134
|
+
```sh
|
135
|
+
bundle install
|
136
|
+
bundle exec appraisal install
|
137
|
+
cp .solargraph.yml.example .solargraph.yml
|
138
|
+
bundle exec appraisal bundle exec rbs collection update
|
139
|
+
rspec_gems=$(bundle exec appraisal bundle exec ruby -r './lib/solargraph-rspec' -e 'puts Solargraph::Rspec::Gems.gem_names.join(" ")' 2>/dev/null | tail -n1)
|
140
|
+
bundle exec appraisal bundle exec solargraph gems $rspec_gems
|
141
|
+
bundle exec appraisal rspec
|
142
|
+
```
|
143
|
+
3. Introduce your awesome changes
|
144
|
+
4. Ensure they are well covered with tests
|
145
|
+
5. Record your changes in the [CHANGELOG.md](./CHANGELOG.md)
|
146
|
+
6. Submit a pull request :rocket:
|
140
147
|
|
141
148
|
## License
|
142
149
|
|
143
150
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
144
|
-
|
data/gemfiles/default.gemfile
CHANGED
@@ -8,18 +8,19 @@ gem "debug"
|
|
8
8
|
gem "profile-viewer"
|
9
9
|
gem "pry-byebug"
|
10
10
|
gem "rake"
|
11
|
+
gem "rbs"
|
11
12
|
gem "rspec"
|
12
13
|
gem "rubocop"
|
14
|
+
gem "rubocop-yard"
|
13
15
|
gem "simplecov"
|
14
16
|
gem "simplecov-cobertura"
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
17
|
+
gem "unparser"
|
18
|
+
gem "net-imap", "~> 0.4.0"
|
19
|
+
gem "actionmailer"
|
20
|
+
gem "airborne"
|
21
|
+
gem "rspec-rails"
|
22
|
+
gem "rspec-sidekiq"
|
23
|
+
gem "shoulda-matchers"
|
24
|
+
gem "webmock"
|
24
25
|
|
25
26
|
gemspec path: "../"
|
@@ -1,54 +1,51 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
solargraph-rspec (0.4
|
5
|
-
solargraph (
|
4
|
+
solargraph-rspec (0.5.4)
|
5
|
+
solargraph (>= 0.52.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
actionmailer (
|
11
|
-
actionpack (=
|
12
|
-
actionview (=
|
13
|
-
activejob (=
|
14
|
-
activesupport (=
|
15
|
-
mail (
|
16
|
-
net-imap
|
17
|
-
net-pop
|
18
|
-
net-smtp
|
10
|
+
actionmailer (8.0.2.1)
|
11
|
+
actionpack (= 8.0.2.1)
|
12
|
+
actionview (= 8.0.2.1)
|
13
|
+
activejob (= 8.0.2.1)
|
14
|
+
activesupport (= 8.0.2.1)
|
15
|
+
mail (>= 2.8.0)
|
19
16
|
rails-dom-testing (~> 2.2)
|
20
|
-
actionpack (
|
21
|
-
actionview (=
|
22
|
-
activesupport (=
|
17
|
+
actionpack (8.0.2.1)
|
18
|
+
actionview (= 8.0.2.1)
|
19
|
+
activesupport (= 8.0.2.1)
|
23
20
|
nokogiri (>= 1.8.5)
|
24
|
-
racc
|
25
21
|
rack (>= 2.2.4)
|
26
22
|
rack-session (>= 1.0.1)
|
27
23
|
rack-test (>= 0.6.3)
|
28
24
|
rails-dom-testing (~> 2.2)
|
29
25
|
rails-html-sanitizer (~> 1.6)
|
30
|
-
|
31
|
-
|
26
|
+
useragent (~> 0.16)
|
27
|
+
actionview (8.0.2.1)
|
28
|
+
activesupport (= 8.0.2.1)
|
32
29
|
builder (~> 3.1)
|
33
30
|
erubi (~> 1.11)
|
34
31
|
rails-dom-testing (~> 2.2)
|
35
32
|
rails-html-sanitizer (~> 1.6)
|
36
|
-
activejob (
|
37
|
-
activesupport (=
|
33
|
+
activejob (8.0.2.1)
|
34
|
+
activesupport (= 8.0.2.1)
|
38
35
|
globalid (>= 0.3.6)
|
39
|
-
activesupport (
|
36
|
+
activesupport (8.0.2.1)
|
40
37
|
base64
|
41
38
|
benchmark (>= 0.3)
|
42
39
|
bigdecimal
|
43
|
-
concurrent-ruby (~> 1.0, >= 1.
|
40
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
44
41
|
connection_pool (>= 2.2.5)
|
45
42
|
drb
|
46
43
|
i18n (>= 1.6, < 2)
|
47
44
|
logger (>= 1.4.2)
|
48
45
|
minitest (>= 5.1)
|
49
|
-
mutex_m
|
50
46
|
securerandom (>= 0.3)
|
51
|
-
tzinfo (~> 2.0)
|
47
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
48
|
+
uri (>= 0.13.1)
|
52
49
|
addressable (2.8.7)
|
53
50
|
public_suffix (>= 2.0.2, < 7.0)
|
54
51
|
airborne (0.3.7)
|
@@ -63,50 +60,51 @@ GEM
|
|
63
60
|
thor (>= 0.14.0)
|
64
61
|
ast (2.4.3)
|
65
62
|
backport (1.2.0)
|
66
|
-
base64 (0.
|
67
|
-
benchmark (0.4.
|
68
|
-
bigdecimal (3.
|
63
|
+
base64 (0.3.0)
|
64
|
+
benchmark (0.4.1)
|
65
|
+
bigdecimal (3.2.3)
|
69
66
|
builder (3.3.0)
|
70
|
-
byebug (
|
67
|
+
byebug (12.0.0)
|
71
68
|
coderay (1.1.3)
|
72
69
|
concurrent-ruby (1.3.5)
|
73
|
-
connection_pool (2.5.
|
70
|
+
connection_pool (2.5.4)
|
74
71
|
crack (1.0.0)
|
75
72
|
bigdecimal
|
76
73
|
rexml
|
77
74
|
crass (1.0.6)
|
78
75
|
date (3.4.1)
|
79
|
-
debug (1.
|
76
|
+
debug (1.11.0)
|
80
77
|
irb (~> 1.10)
|
81
78
|
reline (>= 0.3.8)
|
82
|
-
diff-lcs (1.6.
|
79
|
+
diff-lcs (1.6.2)
|
83
80
|
docile (1.4.1)
|
84
81
|
domain_name (0.6.20240107)
|
85
|
-
drb (2.2.
|
82
|
+
drb (2.2.3)
|
83
|
+
erb (5.0.2)
|
86
84
|
erubi (1.13.1)
|
87
85
|
globalid (1.2.1)
|
88
86
|
activesupport (>= 6.1)
|
89
|
-
hashdiff (1.1
|
87
|
+
hashdiff (1.2.1)
|
90
88
|
http-accept (1.7.0)
|
91
89
|
http-cookie (1.0.8)
|
92
90
|
domain_name (~> 0.5)
|
93
91
|
i18n (1.14.7)
|
94
92
|
concurrent-ruby (~> 1.0)
|
95
|
-
io-console (0.8.
|
96
|
-
irb (1.15.
|
93
|
+
io-console (0.8.1)
|
94
|
+
irb (1.15.2)
|
97
95
|
pp (>= 0.6.0)
|
98
96
|
rdoc (>= 4.0.0)
|
99
97
|
reline (>= 0.4.2)
|
100
|
-
jaro_winkler (1.6.
|
101
|
-
json (2.
|
98
|
+
jaro_winkler (1.6.1)
|
99
|
+
json (2.13.2)
|
102
100
|
kramdown (2.5.1)
|
103
101
|
rexml (>= 3.3.9)
|
104
102
|
kramdown-parser-gfm (1.1.0)
|
105
103
|
kramdown (~> 2.0)
|
106
|
-
language_server-protocol (3.17.0.
|
104
|
+
language_server-protocol (3.17.0.5)
|
107
105
|
lint_roller (1.1.0)
|
108
|
-
logger (1.
|
109
|
-
loofah (2.24.
|
106
|
+
logger (1.7.0)
|
107
|
+
loofah (2.24.1)
|
110
108
|
crass (~> 1.0.2)
|
111
109
|
nokogiri (>= 1.12.0)
|
112
110
|
mail (2.8.1)
|
@@ -115,14 +113,13 @@ GEM
|
|
115
113
|
net-pop
|
116
114
|
net-smtp
|
117
115
|
method_source (1.1.0)
|
118
|
-
mime-types (3.
|
116
|
+
mime-types (3.7.0)
|
119
117
|
logger
|
120
|
-
mime-types-data (~> 3.
|
121
|
-
mime-types-data (3.2025.
|
118
|
+
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
119
|
+
mime-types-data (3.2025.0916)
|
122
120
|
mini_mime (1.1.5)
|
123
121
|
minitest (5.25.5)
|
124
|
-
|
125
|
-
net-imap (0.4.19)
|
122
|
+
net-imap (0.4.22)
|
126
123
|
date
|
127
124
|
net-protocol
|
128
125
|
net-pop (0.1.2)
|
@@ -132,33 +129,35 @@ GEM
|
|
132
129
|
net-smtp (0.5.1)
|
133
130
|
net-protocol
|
134
131
|
netrc (0.11.0)
|
135
|
-
nokogiri (1.
|
132
|
+
nokogiri (1.18.10-arm64-darwin)
|
136
133
|
racc (~> 1.4)
|
137
134
|
observer (0.1.2)
|
135
|
+
open3 (0.2.1)
|
138
136
|
optparse (0.6.0)
|
139
|
-
ostruct (0.6.
|
140
|
-
parallel (1.
|
141
|
-
parser (3.3.
|
137
|
+
ostruct (0.6.3)
|
138
|
+
parallel (1.27.0)
|
139
|
+
parser (3.3.9.0)
|
142
140
|
ast (~> 2.4.1)
|
143
141
|
racc
|
144
142
|
pp (0.6.2)
|
145
143
|
prettyprint
|
146
144
|
prettyprint (0.2.0)
|
147
|
-
|
145
|
+
prism (1.5.1)
|
146
|
+
profile-viewer (0.0.5)
|
148
147
|
optparse
|
149
148
|
webrick
|
150
|
-
pry (0.
|
149
|
+
pry (0.15.2)
|
151
150
|
coderay (~> 1.1)
|
152
151
|
method_source (~> 1.0)
|
153
|
-
pry-byebug (3.
|
154
|
-
byebug (~>
|
155
|
-
pry (>= 0.13, < 0.
|
156
|
-
psych (5.2.
|
152
|
+
pry-byebug (3.11.0)
|
153
|
+
byebug (~> 12.0)
|
154
|
+
pry (>= 0.13, < 0.16)
|
155
|
+
psych (5.2.6)
|
157
156
|
date
|
158
157
|
stringio
|
159
|
-
public_suffix (6.0.
|
158
|
+
public_suffix (6.0.2)
|
160
159
|
racc (1.8.1)
|
161
|
-
rack (2.2.
|
160
|
+
rack (2.2.17)
|
162
161
|
rack-session (1.0.2)
|
163
162
|
rack (< 3)
|
164
163
|
rack-test (1.1.0)
|
@@ -166,31 +165,32 @@ GEM
|
|
166
165
|
rackup (1.0.1)
|
167
166
|
rack (< 3)
|
168
167
|
webrick
|
169
|
-
rails-dom-testing (2.
|
168
|
+
rails-dom-testing (2.3.0)
|
170
169
|
activesupport (>= 5.0.0)
|
171
170
|
minitest
|
172
171
|
nokogiri (>= 1.6)
|
173
172
|
rails-html-sanitizer (1.6.2)
|
174
173
|
loofah (~> 2.21)
|
175
174
|
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
176
|
-
railties (
|
177
|
-
actionpack (=
|
178
|
-
activesupport (=
|
179
|
-
irb
|
175
|
+
railties (8.0.2.1)
|
176
|
+
actionpack (= 8.0.2.1)
|
177
|
+
activesupport (= 8.0.2.1)
|
178
|
+
irb (~> 1.13)
|
180
179
|
rackup (>= 1.0.0)
|
181
180
|
rake (>= 12.2)
|
182
181
|
thor (~> 1.0, >= 1.2.2)
|
183
182
|
zeitwerk (~> 2.6)
|
184
183
|
rainbow (3.1.1)
|
185
|
-
rake (13.
|
186
|
-
rbs (3.
|
184
|
+
rake (13.3.0)
|
185
|
+
rbs (3.9.5)
|
187
186
|
logger
|
188
|
-
rdoc (6.
|
187
|
+
rdoc (6.14.2)
|
188
|
+
erb
|
189
189
|
psych (>= 4.0.0)
|
190
|
-
redis-client (0.
|
190
|
+
redis-client (0.25.3)
|
191
191
|
connection_pool
|
192
|
-
regexp_parser (2.
|
193
|
-
reline (0.6.
|
192
|
+
regexp_parser (2.11.3)
|
193
|
+
reline (0.6.2)
|
194
194
|
io-console (~> 0.5)
|
195
195
|
rest-client (2.1.0)
|
196
196
|
http-accept (>= 1.7.0, < 2.0)
|
@@ -199,34 +199,34 @@ GEM
|
|
199
199
|
netrc (~> 0.8)
|
200
200
|
reverse_markdown (3.0.0)
|
201
201
|
nokogiri
|
202
|
-
rexml (3.4.
|
203
|
-
rspec (3.13.
|
202
|
+
rexml (3.4.4)
|
203
|
+
rspec (3.13.1)
|
204
204
|
rspec-core (~> 3.13.0)
|
205
205
|
rspec-expectations (~> 3.13.0)
|
206
206
|
rspec-mocks (~> 3.13.0)
|
207
|
-
rspec-core (3.13.
|
207
|
+
rspec-core (3.13.5)
|
208
208
|
rspec-support (~> 3.13.0)
|
209
|
-
rspec-expectations (3.13.
|
209
|
+
rspec-expectations (3.13.5)
|
210
210
|
diff-lcs (>= 1.2.0, < 2.0)
|
211
211
|
rspec-support (~> 3.13.0)
|
212
|
-
rspec-mocks (3.13.
|
212
|
+
rspec-mocks (3.13.5)
|
213
213
|
diff-lcs (>= 1.2.0, < 2.0)
|
214
214
|
rspec-support (~> 3.13.0)
|
215
|
-
rspec-rails (
|
216
|
-
actionpack (>= 7.
|
217
|
-
activesupport (>= 7.
|
218
|
-
railties (>= 7.
|
215
|
+
rspec-rails (8.0.2)
|
216
|
+
actionpack (>= 7.2)
|
217
|
+
activesupport (>= 7.2)
|
218
|
+
railties (>= 7.2)
|
219
219
|
rspec-core (~> 3.13)
|
220
220
|
rspec-expectations (~> 3.13)
|
221
221
|
rspec-mocks (~> 3.13)
|
222
222
|
rspec-support (~> 3.13)
|
223
|
-
rspec-sidekiq (5.
|
223
|
+
rspec-sidekiq (5.2.0)
|
224
224
|
rspec-core (~> 3.0)
|
225
225
|
rspec-expectations (~> 3.0)
|
226
226
|
rspec-mocks (~> 3.0)
|
227
227
|
sidekiq (>= 5, < 9)
|
228
|
-
rspec-support (3.13.
|
229
|
-
rubocop (1.
|
228
|
+
rspec-support (3.13.6)
|
229
|
+
rubocop (1.80.2)
|
230
230
|
json (~> 2.3)
|
231
231
|
language_server-protocol (~> 3.17.0.2)
|
232
232
|
lint_roller (~> 1.1.0)
|
@@ -234,14 +234,19 @@ GEM
|
|
234
234
|
parser (>= 3.3.0.2)
|
235
235
|
rainbow (>= 2.2.2, < 4.0)
|
236
236
|
regexp_parser (>= 2.9.3, < 3.0)
|
237
|
-
rubocop-ast (>= 1.
|
237
|
+
rubocop-ast (>= 1.46.0, < 2.0)
|
238
238
|
ruby-progressbar (~> 1.7)
|
239
239
|
unicode-display_width (>= 2.4.0, < 4.0)
|
240
|
-
rubocop-ast (1.
|
240
|
+
rubocop-ast (1.46.0)
|
241
241
|
parser (>= 3.3.7.2)
|
242
|
+
prism (~> 1.4)
|
243
|
+
rubocop-yard (1.0.0)
|
244
|
+
lint_roller
|
245
|
+
rubocop (~> 1.72)
|
246
|
+
yard
|
242
247
|
ruby-progressbar (1.13.0)
|
243
|
-
securerandom (0.
|
244
|
-
shoulda-matchers (6.
|
248
|
+
securerandom (0.4.1)
|
249
|
+
shoulda-matchers (6.5.0)
|
245
250
|
activesupport (>= 5.2.0)
|
246
251
|
sidekiq (7.3.9)
|
247
252
|
base64
|
@@ -253,50 +258,63 @@ GEM
|
|
253
258
|
docile (~> 1.1)
|
254
259
|
simplecov-html (~> 0.11)
|
255
260
|
simplecov_json_formatter (~> 0.1)
|
256
|
-
simplecov-cobertura (
|
261
|
+
simplecov-cobertura (3.1.0)
|
257
262
|
rexml
|
258
263
|
simplecov (~> 0.19)
|
259
|
-
simplecov-html (0.13.
|
264
|
+
simplecov-html (0.13.2)
|
260
265
|
simplecov_json_formatter (0.1.4)
|
261
|
-
solargraph (0.
|
266
|
+
solargraph (0.57.0)
|
267
|
+
ast (~> 2.4.3)
|
262
268
|
backport (~> 1.2)
|
263
|
-
benchmark
|
269
|
+
benchmark (~> 0.4)
|
264
270
|
bundler (~> 2.0)
|
265
271
|
diff-lcs (~> 1.4)
|
266
|
-
jaro_winkler (~> 1.6)
|
272
|
+
jaro_winkler (~> 1.6, >= 1.6.1)
|
267
273
|
kramdown (~> 2.3)
|
268
274
|
kramdown-parser-gfm (~> 1.1)
|
269
275
|
logger (~> 1.6)
|
270
276
|
observer (~> 0.1)
|
277
|
+
open3 (~> 0.2.1)
|
271
278
|
ostruct (~> 0.6)
|
272
279
|
parser (~> 3.0)
|
273
|
-
|
274
|
-
|
275
|
-
|
280
|
+
prism (~> 1.4)
|
281
|
+
rbs (>= 3.6.1, <= 4.0.0.dev.4)
|
282
|
+
reverse_markdown (~> 3.0)
|
283
|
+
rubocop (~> 1.76)
|
276
284
|
thor (~> 1.0)
|
277
285
|
tilt (~> 2.0)
|
278
286
|
yard (~> 0.9, >= 0.9.24)
|
287
|
+
yard-activesupport-concern (~> 0.0)
|
279
288
|
yard-solargraph (~> 0.1)
|
280
|
-
stringio (3.1.
|
281
|
-
thor (1.
|
282
|
-
tilt (2.6.
|
289
|
+
stringio (3.1.7)
|
290
|
+
thor (1.4.0)
|
291
|
+
tilt (2.6.1)
|
283
292
|
timeout (0.4.3)
|
284
293
|
tzinfo (2.0.6)
|
285
294
|
concurrent-ruby (~> 1.0)
|
286
|
-
unicode-display_width (3.
|
287
|
-
unicode-emoji (~> 4.
|
288
|
-
unicode-emoji (4.0
|
295
|
+
unicode-display_width (3.2.0)
|
296
|
+
unicode-emoji (~> 4.1)
|
297
|
+
unicode-emoji (4.1.0)
|
298
|
+
unparser (0.8.0)
|
299
|
+
diff-lcs (~> 1.6)
|
300
|
+
parser (>= 3.3.0)
|
301
|
+
prism (>= 1.4)
|
302
|
+
uri (1.0.3)
|
303
|
+
useragent (0.16.11)
|
289
304
|
webmock (3.25.1)
|
290
305
|
addressable (>= 2.8.0)
|
291
306
|
crack (>= 0.3.2)
|
292
307
|
hashdiff (>= 0.4.0, < 2.0.0)
|
293
308
|
webrick (1.9.1)
|
294
309
|
yard (0.9.37)
|
310
|
+
yard-activesupport-concern (0.0.1)
|
311
|
+
yard (>= 0.8)
|
295
312
|
yard-solargraph (0.1.0)
|
296
313
|
yard (~> 0.9)
|
297
|
-
zeitwerk (2.
|
314
|
+
zeitwerk (2.7.3)
|
298
315
|
|
299
316
|
PLATFORMS
|
317
|
+
arm64-darwin-22
|
300
318
|
arm64-darwin-24
|
301
319
|
|
302
320
|
DEPENDENCIES
|
@@ -305,18 +323,22 @@ DEPENDENCIES
|
|
305
323
|
appraisal
|
306
324
|
bundler
|
307
325
|
debug
|
326
|
+
net-imap (~> 0.4.0)
|
308
327
|
profile-viewer
|
309
328
|
pry-byebug
|
310
329
|
rake
|
330
|
+
rbs
|
311
331
|
rspec
|
312
332
|
rspec-rails
|
313
333
|
rspec-sidekiq
|
314
334
|
rubocop
|
335
|
+
rubocop-yard
|
315
336
|
shoulda-matchers
|
316
337
|
simplecov
|
317
338
|
simplecov-cobertura
|
318
339
|
solargraph-rspec!
|
340
|
+
unparser
|
319
341
|
webmock
|
320
342
|
|
321
343
|
BUNDLED WITH
|
322
|
-
2.
|
344
|
+
2.6.9
|
@@ -34,12 +34,16 @@ module Solargraph
|
|
34
34
|
|
35
35
|
# @return [Array<Symbol>]
|
36
36
|
def additional_let_methods
|
37
|
-
|
37
|
+
# @type [Array<String>, nil]
|
38
|
+
let_methods = rspec_raw_data['let_methods']
|
39
|
+
(let_methods || []).map(&:to_sym)
|
38
40
|
end
|
39
41
|
|
40
42
|
# @return [Array<Symbol>]
|
41
43
|
def additional_example_methods
|
42
|
-
|
44
|
+
# @type [Array<String>, nil]
|
45
|
+
example_methods = rspec_raw_data['example_methods']
|
46
|
+
(example_methods || []).map(&:to_sym)
|
43
47
|
end
|
44
48
|
|
45
49
|
# @return [Hash]
|
@@ -9,7 +9,7 @@ require_relative 'correctors/described_class_corrector'
|
|
9
9
|
require_relative 'correctors/let_methods_corrector'
|
10
10
|
require_relative 'correctors/subject_method_corrector'
|
11
11
|
require_relative 'correctors/dsl_methods_corrector'
|
12
|
-
require_relative '
|
12
|
+
require_relative 'gems'
|
13
13
|
require_relative 'pin_factory'
|
14
14
|
|
15
15
|
module Solargraph
|
@@ -78,16 +78,16 @@ module Solargraph
|
|
78
78
|
filename.include?('spec/')
|
79
79
|
end
|
80
80
|
|
81
|
-
# @param
|
81
|
+
# @param _yard_map [YardMap]
|
82
82
|
# @return [Environ]
|
83
83
|
def global(_yard_map)
|
84
84
|
pins = []
|
85
|
-
pins += Solargraph::Rspec::
|
85
|
+
pins += Solargraph::Rspec::Gems.include_helper_pins(
|
86
86
|
root_example_group_namespace_pin: root_example_group_namespace_pin
|
87
87
|
)
|
88
88
|
pins += annotation_pins
|
89
89
|
# TODO: Include gem requires conditionally based on Gemfile definition
|
90
|
-
requires = Solargraph::Rspec::
|
90
|
+
requires = Solargraph::Rspec::Gems.gem_names
|
91
91
|
|
92
92
|
if pins.any?
|
93
93
|
Solargraph.logger.debug(
|