rubocop-lts-rspec 1.0.1

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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +18 -0
  4. data/CODE_OF_CONDUCT.md +84 -0
  5. data/CONTRIBUTING.md +117 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +624 -0
  8. data/SECURITY.md +21 -0
  9. data/config/base.yml +10 -0
  10. data/config/internal/base.yml +17 -0
  11. data/config/internal/ruby-1.8.yml +5 -0
  12. data/config/internal/ruby-1.9.yml +5 -0
  13. data/config/internal/ruby-2.0.yml +4 -0
  14. data/config/internal/ruby-2.1.yml +4 -0
  15. data/config/internal/ruby-2.2.yml +4 -0
  16. data/config/internal/ruby-2.3.yml +4 -0
  17. data/config/internal/ruby-2.4.yml +4 -0
  18. data/config/internal/ruby-2.5.yml +4 -0
  19. data/config/internal/ruby-2.6.yml +4 -0
  20. data/config/internal/ruby-2.7.yml +4 -0
  21. data/config/internal/ruby-3.0.yml +4 -0
  22. data/config/internal/ruby-3.1.yml +4 -0
  23. data/config/internal/ruby-3.2.yml +4 -0
  24. data/config/internal/ruby-3.3.yml +4 -0
  25. data/config/internal/ruby-3.4.yml +4 -0
  26. data/config/ruby-1.8.yml +20 -0
  27. data/config/ruby-1.9.yml +20 -0
  28. data/config/ruby-2.0.yml +20 -0
  29. data/config/ruby-2.1.yml +20 -0
  30. data/config/ruby-2.2.yml +20 -0
  31. data/config/ruby-2.3.yml +20 -0
  32. data/config/ruby-2.4.yml +20 -0
  33. data/config/ruby-2.5.yml +20 -0
  34. data/config/ruby-2.6.yml +20 -0
  35. data/config/ruby-2.7.yml +20 -0
  36. data/config/ruby-3.0.yml +20 -0
  37. data/config/ruby-3.1.yml +20 -0
  38. data/config/ruby-3.2.yml +20 -0
  39. data/config/ruby-3.3.yml +20 -0
  40. data/config/ruby-3.4.yml +20 -0
  41. data/lib/rubocop/lts/rspec/version.rb +14 -0
  42. data/lib/rubocop/lts/rspec.rb +24 -0
  43. data/lib/rubocop-lts-rspec.rb +8 -0
  44. data.tar.gz.sig +0 -0
  45. metadata +481 -0
  46. metadata.gz.sig +0 -0
data/README.md ADDED
@@ -0,0 +1,624 @@
1
+ <p align="center">
2
+ <a href="https://rubocop.org#gh-light-mode-only" target="_blank" rel="noopener">
3
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/rubocop-light.svg?raw=true" alt="SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt">
4
+ </a>
5
+ <a href="https://rubocop.org#gh-dark-mode-only" target="_blank" rel="noopener">
6
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/rubocop-dark.svg?raw=true" alt="SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt">
7
+ </a>
8
+ <a href="https://www.ruby-lang.org/" target="_blank" rel="noopener">
9
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/ruby-logo.svg?raw=true" alt="Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5, see docs/images/logo/README.txt">
10
+ </a>
11
+ <a href="https://semver.org/#gh-light-mode-only" target="_blank" rel="noopener">
12
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/semver-light.svg?raw=true" alt="SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt">
13
+ </a>
14
+ <a href="https://semver.org/#gh-dark-mode-only" target="_blank" rel="noopener">
15
+ <img height="120px" src="https://github.com/rubocop-lts/rubocop-lts/raw/main/docs/images/logo/semver-dark.svg?raw=true" alt="SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt">
16
+ </a>
17
+ </p>
18
+
19
+ # 🦾 Rubocop::Lts::RSpec [![Ruby Code Style](https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?style=for-the-badge&logo=ruby&logoColor=white)](https://github.com/rubocop-lts/rubocop-lts)
20
+
21
+ [![Version][👽versioni]][👽version]
22
+ [![License: MIT][📄license-img]][📄license-ref]
23
+ [![Downloads Rank][👽dl-ranki]][👽dl-rank]
24
+ [![Open Source Helpers][👽oss-helpi]][👽oss-help]
25
+ [![Depfu][🔑depfui♻️]][🔑depfu]
26
+ [![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
27
+ [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
28
+ [![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
29
+ [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
30
+ [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf]
31
+ [![CI Current][🚎11-c-wfi]][🚎11-c-wf]
32
+ [![CI Supported][🚎6-s-wfi]][🚎6-s-wf]
33
+ [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf]
34
+ [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
35
+ [![CI Dog Food][🚎8-df-wfi]][🚎8-df-wf]
36
+
37
+ ---
38
+
39
+ [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
40
+ [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
41
+ [![Buy me a coffee][🖇buyme-small-img]][🖇buyme]
42
+ [![Donate on Polar][🖇polar-img]][🖇polar]
43
+ [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
44
+ [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
45
+
46
+ Extended [RuboCop::Lts][rlts] config shims for the RSpec-related Cop rules,
47
+ back to Ruby version 1.8. Part of the `rubocop-lts` [gem family](#-a-gem-family).
48
+
49
+ Use the rules standard gives you, and then add more,
50
+ to increase your code's compatibility across multiple versions of Ruby.
51
+
52
+ Only reach as far back as you need to go!
53
+
54
+ [standardrb]: https://github.com/standardrb/standard
55
+
56
+ ---
57
+
58
+ The **RuboCop LTS** family of gems is the distillation of 20+ years
59
+ of my own Ruby expertise and source code diving,
60
+ built on the shoulders of the expertise of many others;
61
+ organizing that expertise into per-Ruby-version sets of configurations.
62
+
63
+ Although the situation has improved somewhat,
64
+ it remains [_unsafe_ to upgrade RuboCop, or Standard][Why-Build-This],
65
+ in a project that supports EOL Rubies.
66
+
67
+ I hope it helps others avoid some of the challenges I've had with library maintenance,
68
+ and supporting decade-old mission-critical applications.
69
+
70
+ Avoid bike-shedding, use [`rubocop-lts`][rlts] in every project, and
71
+ let it manage your linting complexity!
72
+
73
+ If the [`rubocop-lts`][rlts] stack of libraries has helped you, or your organization,
74
+ please support my efforts by making a donation, or becoming a sponsor.
75
+
76
+ [Why-Build-This]: https://rubocop-lts.gitlab.io/about/#why-build-this-
77
+
78
+ ### 👪 A Gem Family
79
+
80
+ The `rubocop-lts` family of gems has a version supporting any version of Ruby you need.
81
+ They can be used as development dependencies for libraries or applications.
82
+
83
+ Only two of them sit at the top level, and this gem is one of them.
84
+
85
+ | Gem Name | Version | Downloads | Activity |
86
+ |---------------------------------|-------------------------------------|----------------------------------------------------------------------|-------------------------------------|
87
+ | [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
88
+ | [`rubocop-lts-rspec`][⛳️ini-gh] | [![Gem Version][⛳️ini-vi]][⛳️ini-g] | [![Total DL][🖇️ini-dti]][⛳️ini-g] [![DL Rank][🏘️ini-rti]][⛳️ini-g] | [![Current][🚎ini-cwfi]][🚎ini-cwf] | [![Open Issues][📗ini-ioi]][📗ini-io] [![Closed Issues][🚀ini-ici]][🚀ini-ic] [![Open PRs][💄ini-poi]][💄ini-po] [![Closed PRs][👽ini-pci]][👽ini-pc] |
89
+
90
+ <details>
91
+ <summary>Nested Dependencies</summary>
92
+
93
+ - [`standard-rubocop-lts`][stdrlts]
94
+ - [`rubocop-ruby1_8`][rr18]
95
+ - [`rubocop-ruby1_9`][rr19]
96
+ - [`rubocop-ruby2_0`][rr20]
97
+ - [`rubocop-ruby2_1`][rr21]
98
+ - [`rubocop-ruby2_2`][rr22]
99
+ - [`rubocop-ruby2_3`][rr23]
100
+ - [`rubocop-ruby2_4`][rr24]
101
+ - [`rubocop-ruby2_5`][rr25]
102
+ - [`rubocop-ruby2_6`][rr26]
103
+ - [`rubocop-ruby2_7`][rr27]
104
+ - [`rubocop-ruby3_0`][rr30]
105
+ - [`rubocop-ruby3_1`][rr31]
106
+ - [`rubocop-ruby3_2`][rr32]
107
+ - [`rubocop-ruby3_3`][rr33]
108
+ - [`rubocop-ruby3_4`][rr34]
109
+
110
+ </details>
111
+
112
+ ### Love linting?
113
+
114
+ Add a badge to your project's `README.md`!
115
+
116
+ [![Ruby Code Style](https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?style=for-the-badge&logo=ruby&logoColor=white)](https://github.com/rubocop-lts/rubocop-lts)
117
+
118
+ ```md
119
+ [![Ruby Code Style](https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?style=for-the-badge&logo=ruby&logoColor=white)](https://github.com/rubocop-lts/rubocop-lts)
120
+ ```
121
+
122
+ [![Ruby Code Style](https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?style=plastic&logo=ruby&logoColor=white)](https://github.com/rubocop-lts/rubocop-lts)
123
+
124
+ ```md
125
+ [![Ruby Code Style](https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?style=plastic&logo=ruby&logoColor=white)](https://github.com/rubocop-lts/rubocop-lts)
126
+ ```
127
+
128
+ [⛳️lts-vi]: http://img.shields.io/gem/v/rubocop-lts.svg
129
+ [🖇️lts-dti]: https://img.shields.io/gem/dt/rubocop-lts.svg
130
+ [🏘️lts-rti]: https://img.shields.io/gem/rt/rubocop-lts.svg
131
+ [🚎lts-cwf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml
132
+ [🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml/badge.svg
133
+ [📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
134
+ [📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
135
+ [🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
136
+ [🚀lts-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-lts
137
+ [💄lts-po]: https://github.com/rubocop-lts/rubocop-lts/pulls
138
+ [💄lts-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-lts
139
+ [👽lts-pc]: https://github.com/rubocop-lts/rubocop-lts/pulls?q=is%3Apr+is%3Aclosed
140
+ [👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
141
+ [⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
142
+ [⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
143
+
144
+ [⛳️ini-vi]: http://img.shields.io/gem/v/rubocop-lts-rspec.svg
145
+ [🖇️ini-dti]: https://img.shields.io/gem/dt/rubocop-lts-rspec.svg
146
+ [🏘️ini-rti]: https://img.shields.io/gem/rt/rubocop-lts-rspec.svg
147
+ [🚎ini-cwf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml
148
+ [🚎ini-cwfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml/badge.svg
149
+ [📗ini-io]: https://github.com/rubocop-lts/rubocop-lts-rspec/issues
150
+ [📗ini-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts-rspec
151
+ [🚀ini-ic]: https://github.com/rubocop-lts/rubocop-lts-rspec/issues?q=is%3Aissue+is%3Aclosed
152
+ [🚀ini-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-lts-rspec
153
+ [💄ini-po]: https://github.com/rubocop-lts/rubocop-lts-rspec/pulls
154
+ [💄ini-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-lts-rspec
155
+ [👽ini-pc]: https://github.com/rubocop-lts/rubocop-lts-rspec/pulls?q=is%3Apr+is%3Aclosed
156
+ [👽ini-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts-rspec
157
+ [⛳️ini-g]: https://rubygems.org/gems/rubocop-lts-rspec
158
+ [⛳️ini-gh]: https://github.com/rubocop-lts/rubocop-lts-rspec
159
+
160
+ [rlts]: https://rubocop-lts.gitlab.io/#installation-
161
+ [rlts-rspec]: https://gitlab.com/rubocop-lts/rubocop-lts-rspec
162
+ [stdrlts]: https://gitlab.com/rubocop-lts/standard-rubocop-lts
163
+ [rr18]: https://gitlab.com/rubocop-lts/rubocop-ruby1_8
164
+ [rr19]: https://gitlab.com/rubocop-lts/rubocop-ruby1_9
165
+ [rr20]: https://gitlab.com/rubocop-lts/rubocop-ruby2_0
166
+ [rr21]: https://gitlab.com/rubocop-lts/rubocop-ruby2_1
167
+ [rr22]: https://gitlab.com/rubocop-lts/rubocop-ruby2_2
168
+ [rr23]: https://gitlab.com/rubocop-lts/rubocop-ruby2_3
169
+ [rr24]: https://gitlab.com/rubocop-lts/rubocop-ruby2_4
170
+ [rr25]: https://gitlab.com/rubocop-lts/rubocop-ruby2_5
171
+ [rr26]: https://gitlab.com/rubocop-lts/rubocop-ruby2_6
172
+ [rr27]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7
173
+ [rr30]: https://gitlab.com/rubocop-lts/rubocop-ruby3_0
174
+ [rr31]: https://gitlab.com/rubocop-lts/rubocop-ruby3_1
175
+ [rr32]: https://gitlab.com/rubocop-lts/rubocop-ruby3_2
176
+ [rr33]: https://gitlab.com/rubocop-lts/rubocop-ruby3_3
177
+ [rr34]: https://gitlab.com/rubocop-lts/rubocop-ruby3_4
178
+
179
+ ## 🗿 Stable
180
+
181
+ All releases of this gem are stable releases.
182
+ We do not release new versions for every release of `rubocop`,
183
+ as this gem is part of `rubocop-lts`, which is tied to [standard (Standard Ruby)][standardrb].
184
+ Eventually analysis support for an old version of Ruby will no longer be sustainable.
185
+ When that happens releases of the `rubocop-lts` gem for that version of Ruby will (mostly) cease.
186
+ For now though, in Q2 2025, RuboCop, via RuboCop-LTS, can still be used with code targeting Ruby v1.8.7, and newer.
187
+
188
+ ## 💡 Info you can shake a stick at
189
+
190
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
191
+ |--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
192
+ | Works with MRI Ruby 3.2+ | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
193
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
194
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![HEAD on RubyDoc.info][📜docs-head-rd-img]][🚎yard-head] [![BDFL Blog][🚂bdfl-blog-img]][🚂bdfl-blog] [![Wiki][📜wiki-img]][📜wiki] |
195
+ | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Enforced Code Style][💎rlts-img]][💎rlts] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] |
196
+ | Expert 1:1 Support | [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] `or` [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
197
+ | Enterprise Support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]<br/>💡Subscribe for support guarantees covering _all_ FLOSS dependencies!<br/>💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]!<br/>💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers! |
198
+ | Comrade BDFL 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact BDFL][🚂bdfl-contact-img]][🚂bdfl-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
199
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
200
+
201
+ ## ✨ Installation
202
+
203
+ Install the gem and add to the application's Gemfile by executing:
204
+
205
+ $ bundle add rubocop-lts-rspec
206
+
207
+ If bundler is not being used to manage dependencies, install the gem by executing:
208
+
209
+ $ gem install rubocop-lts-rspec
210
+
211
+ NOTE: You can use this gem standalone, but it is recommended to use together with [`rubocop-lts`][rlts].
212
+ Starting with [`rubocop-lts`][rlts]'s Epoch v1 series (i.e. SemVer major versions 1_0XX) each config in [`rubocop-lts`][rlts]
213
+ has an alternate rspec version that depends on this gem.
214
+ If you want to use them, you must add the dependency on this gem to your gemfile/gemspec separately.
215
+ It will enable your RSpec style rules to be integrated with your Ruby style rules,
216
+ and for the entire suite of rules to target, with an explicit goal of compatibility,
217
+ whatever version of Ruby your project happens to be on!
218
+
219
+ ### 🔒 Secure Installation
220
+
221
+ `rubocop-lts-rspec` is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
222
+ [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
223
+ by following the instructions below.
224
+
225
+ Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
226
+
227
+ ```shell
228
+ gem cert --add <(curl -Ls https://raw.github.com/rubocop-lts/rubocop-lts-rspec/main/certs/pboling.pem)
229
+ ```
230
+
231
+ You only need to do that once. Then proceed to install with:
232
+
233
+ ```shell
234
+ gem install rubocop-lts-rspec -P MediumSecurity
235
+ ```
236
+
237
+ The `MediumSecurity` trust profile will verify signed gems, but allow the installation of unsigned dependencies.
238
+
239
+ This is necessary because not all of `rubocop-lts-rspec`’s dependencies are signed, so we cannot use `HighSecurity`.
240
+
241
+ If you want to up your security game full-time:
242
+
243
+ ```shell
244
+ bundle config set --global trust-policy MediumSecurity
245
+ ```
246
+
247
+ NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
248
+
249
+ ## 🔧 Basic Usage
250
+
251
+ ### Via `rubocop-lts` gem
252
+
253
+ After adding both this gem and `rubocop-lts` to your Gemfile or gemspec,
254
+ utilize a config provided by `rubocop-lts`.
255
+ The configs that end in `*_rspec.yml` will pull in all the config from this gem,
256
+ specifically for the version of Ruby indicated by the version of `rubocop-lts` you are on.
257
+
258
+ ### With Plain Ruby:
259
+
260
+ ```yaml
261
+ inherit_gem:
262
+ rubocop-lts: config/ruby_rspec.yml
263
+ ```
264
+
265
+ ### With RubyGem:
266
+
267
+ ```yaml
268
+ inherit_gem:
269
+ rubocop-lts: config/rubygem_rspec.yml
270
+ ```
271
+
272
+ ### With Rails:
273
+
274
+ ```yaml
275
+ inherit_gem:
276
+ rubocop-lts: config/rails_rspec.yml
277
+ ```
278
+
279
+ ### Via `rubocop-ruby#_#` gem
280
+
281
+ After adding both this gem and `rubocop-ruby#_#` to your Gemfile or gemspec,
282
+ utilize a config provided by `rubocop-ruby#_#`.
283
+ The configs that end in `*_rspec.yml` will pull in all the config from this gem,
284
+ specifically for the version of Ruby indicated by the version of `rubocop-ruby#_#` you are on.
285
+
286
+ For this example we will use the `rubocop-ruby3_2` gem.
287
+ Replace *only* the gem name key if you are using a different one:
288
+
289
+ ### With Plain Ruby:
290
+
291
+ ```yaml
292
+ inherit_gem:
293
+ rubocop-ruby3_2: rubocop-lts/ruby_rspec.yml
294
+ ```
295
+
296
+ ### With RubyGem:
297
+
298
+ ```yaml
299
+ inherit_gem:
300
+ rubocop-ruby3_2: rubocop-lts/rubygem_rspec.yml
301
+ ```
302
+
303
+ ### With Rails:
304
+
305
+ ```yaml
306
+ inherit_gem:
307
+ rubocop-ruby3_2: rubocop-lts/rails_rspec.yml
308
+ ```
309
+
310
+ ### Standalone
311
+
312
+ If you are using this gem standalone, add to the top of your project's `.rubocop.yml` configuration file:
313
+
314
+ ```yaml
315
+ inherit_gem:
316
+ # Replace {RUBY_MAJOR_VERSION} with the minimum major version of ruby you want to target.
317
+ # Replace {RUBY_MINOR_VERSION} with the minimum minor version of ruby you want to target.
318
+ rubocop-lts-rspec: config/ruby-{RUBY_MAJOR_VERSION}-{RUBY_MINOR_VERSION}.yml
319
+ ```
320
+
321
+ <details>
322
+ <summary>What will this do for me?</summary>
323
+
324
+ Among other potential settings specific to your chosen minimum version of ruby,
325
+ the above _effectively_ results in the following config (& more):
326
+
327
+ ```yaml
328
+ inherit_mode:
329
+ merge:
330
+ - Exclude
331
+ - Include
332
+
333
+ require:
334
+ - rubocop-lts-rspec
335
+ - rubocop-factory_bot
336
+ - rubocop-rspec-extra
337
+ - rubocop-env
338
+ - rubocop-rspec
339
+
340
+ inherit_gem:
341
+ rubocop-env: config/default.yml
342
+ rubocop-rspec-extra: config/default.yml
343
+
344
+ RSpec/Focus: # run ALL tests on CI
345
+ Enabled: true
346
+ Exclude: []
347
+
348
+ Lint/Debugger: # don't leave binding.pry
349
+ Enabled: true
350
+ Exclude: [ ]
351
+ ```
352
+
353
+ </details>
354
+
355
+ ### What about TargetRubyVersion?
356
+
357
+ It will be set up for you, when you follow any of the above setup instructions.
358
+
359
+ ### 🚀 Release Instructions
360
+
361
+ See [CONTRIBUTING.md][🤝contributing].
362
+
363
+ ## 🔐 Security
364
+
365
+ See [SECURITY.md][🔐security].
366
+
367
+ ## 🤝 Contributing
368
+
369
+ If you need some ideas of where to help, you could work on adding more code coverage,
370
+ or if it is already 💯 (see [below](#code-coverage)) then check [issues][🤝issues], or [PRs][🤝pulls],
371
+ or use the gem and think about how it could be better.
372
+
373
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
374
+
375
+ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
376
+
377
+ ### Code Coverage
378
+
379
+ [![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
380
+
381
+ ### 🪇 Code of Conduct
382
+
383
+ Everyone interacting in this project's codebases, issue trackers,
384
+ chat rooms and mailing lists is expected to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
385
+
386
+ ## 🌈 Contributors
387
+
388
+ [![Contributors][🖐contributors-img]][🖐contributors]
389
+
390
+ Made with [contributors-img][🖐contrib-rocks].
391
+
392
+ Also see GitLab Contributors: [https://gitlab.com/rubocop-lts/rubocop-lts-rspec/-/graphs/main][🚎contributors-gl]
393
+
394
+ ## ⭐️ Star History
395
+
396
+ <a href="https://star-history.com/#rubocop-lts/rubocop-lts-rspec&Date">
397
+ <picture>
398
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-lts-rspec&type=Date&theme=dark" />
399
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-lts-rspec&type=Date" />
400
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=rubocop-lts/rubocop-lts-rspec&type=Date" />
401
+ </picture>
402
+ </a>
403
+
404
+ ## 📌 Versioning
405
+
406
+ This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
407
+ Violations of this scheme should be reported as bugs.
408
+ Specifically, if a minor or patch version is released that breaks backward compatibility,
409
+ a new version should be immediately released that restores compatibility.
410
+ Breaking changes to the public API will only be introduced with new major versions.
411
+
412
+ ### 📌 Is "Platform Support" part of the public API?
413
+
414
+ Yes. But I'm obligated to include notes...
415
+
416
+ SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
417
+ is a *breaking change* to an API.
418
+ It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
419
+
420
+ > dropping support for a platform is both obviously and objectively a breaking change
421
+
422
+ - Jordan Harband (@ljharb, maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
423
+
424
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
425
+ read this article from the creator of SemVer:
426
+
427
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
428
+
429
+ As a result of this policy, and the interpretive lens used by the maintainer,
430
+ you can (and should) specify a dependency on these libraries using
431
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
432
+
433
+ For example:
434
+
435
+ ```ruby
436
+ spec.add_dependency("rubocop-lts-rspec", "~> 1.0")
437
+ ```
438
+
439
+ See [CHANGELOG.md][📌changelog] for list of releases.
440
+
441
+ ## 📄 License
442
+
443
+ The gem is available as open source under the terms of
444
+ the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
445
+ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
446
+
447
+ <details>
448
+ <summary>Project Logos (rubocop-lts-rspec)</summary>
449
+
450
+ See [docs/images/logo/README.txt][project-logos]
451
+
452
+ </details>
453
+
454
+ <details>
455
+ <summary>Organization Logo (rubocop-lts)</summary>
456
+
457
+ - Author: [Yusuf Evli][org-logo-author]
458
+ - Source: [Unsplash][org-logo-source]
459
+ - License: [Unsplash License][org-logo-license]
460
+
461
+ </details>
462
+
463
+ [project-logos]: https://github.com/rubocop-lts/rubocop-lts-rspec/blob/main/docs/images/logo/README.txt
464
+ [org-logo-author]: https://unsplash.com/@yusufevli
465
+ [org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
466
+ [org-logo-license]: https://unsplash.com/license
467
+
468
+ ### © Copyright
469
+
470
+ <p>
471
+ Copyright (c) 2025 Peter H. Boling,
472
+ <a href="https://railsbling.com">
473
+ RailsBling.com
474
+ <picture>
475
+ <img alt="Rails Bling" height="20" src="https://railsbling.com/images/logos/RailsBling-TrainLogo.svg" />
476
+ </picture>
477
+ </a>
478
+ </p>
479
+
480
+ ## 🤑 One more thing
481
+
482
+ You made it to the bottom of the page,
483
+ so perhaps you'll indulge me for another 20 seconds.
484
+ I maintain many dozens of gems, including this one,
485
+ because I want Ruby to be a great place for people to solve problems, big and small.
486
+ Please consider supporting my efforts via the giant yellow link below,
487
+ or one of the others at the head of this README.
488
+
489
+ [![Buy me a latte][🖇buyme-img]][🖇buyme]
490
+
491
+ [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
492
+ [⛳️gem-namespace]: https://github.com/rubocop-lts/rubocop-lts-rspec/blob/main/lib/masq.rb
493
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-Rubocop%3A%3ALts%3A%3ARspec-brightgreen.svg?style=flat&logo=ruby&logoColor=white
494
+ [⛳️gem-name]: https://rubygems.org/gems/rubocop-lts-rspec
495
+ [⛳️name-img]: https://img.shields.io/badge/name-rubocop--lts--rspec-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
496
+ [🚂bdfl-blog]: http://www.railsbling.com/tags/rubocop-lts-rspec
497
+ [🚂bdfl-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
498
+ [🚂bdfl-contact]: http://www.railsbling.com/contact
499
+ [🚂bdfl-contact-img]: https://img.shields.io/badge/Contact-BDFL-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
500
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
501
+ [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
502
+ [💖✌️wellfound]: https://angel.co/u/peter-boling
503
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
504
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
505
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
506
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
507
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=flat&logo=mastodon&label=Ruby%20%40galtzo
508
+ [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
509
+ [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
510
+ [💖🌳linktree]: https://linktr.ee/galtzo
511
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
512
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
513
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
514
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
515
+ [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
516
+ [💖🧊berg]: https://codeberg.org/pboling
517
+ [💖🐙hub]: https://github.org/pboling
518
+ [💖🛖hut]: https://sr.ht/~galtzo/
519
+ [💖🧪lab]: https://gitlab.com/pboling
520
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
521
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
522
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
523
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
524
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription
525
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
526
+ [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
527
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
528
+ [🚂railsbling]: http://www.railsbling.com
529
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
530
+ [📜src-gl]: https://gitlab.com/rubocop-lts/rubocop-lts-rspec/
531
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
532
+ [📜src-gh]: https://github.com/rubocop-lts/rubocop-lts-rspec/
533
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
534
+ [📜docs-head-rd-img]: https://img.shields.io/badge/RubyDoc-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
535
+ [📜wiki]: https://gitlab.com/rubocop-lts/rubocop-lts-rspec/-/wikis/home
536
+ [📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white
537
+ [👽dl-rank]: https://rubygems.org/gems/rubocop-lts-rspec
538
+ [👽dl-ranki]: https://img.shields.io/gem/rd/rubocop-lts-rspec.svg
539
+ [👽oss-help]: https://www.codetriage.com/rubocop-lts/rubocop-lts-rspec
540
+ [👽oss-helpi]: https://www.codetriage.com/rubocop-lts/rubocop-lts-rspec/badges/users.svg
541
+ [👽version]: https://rubygems.org/gems/rubocop-lts-rspec
542
+ [👽versioni]: https://img.shields.io/gem/v/rubocop-lts-rspec.svg
543
+ [🔑cc-mnt]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts-rspec
544
+ [🔑cc-mnti♻️]: https://qlty.sh/badges/4daa5208-3ae5-457c-b601-10de129d17b1/maintainability.svg
545
+ [🔑cc-cov]: https://qlty.sh/gh/rubocop-lts/projects/rubocop-lts-rspec
546
+ [🔑cc-covi♻️]: https://qlty.sh/badges/4daa5208-3ae5-457c-b601-10de129d17b1/test_coverage.svg
547
+ [🔑codecov]: https://codecov.io/gh/rubocop-lts/rubocop-lts-rspec
548
+ [🔑codecovi♻️]: https://codecov.io/gh/rubocop-lts/rubocop-lts-rspec/branch/main/graph/badge.svg?token=l44un82aUp
549
+ [🔑coveralls]: https://coveralls.io/github/rubocop-lts/rubocop-lts-rspec?branch=main
550
+ [🔑coveralls-img]: https://coveralls.io/repos/github/rubocop-lts/rubocop-lts-rspec/badge.svg?branch=main
551
+ [🔑depfu]: https://depfu.com/github/rubocop-lts/rubocop-lts-rspec?project_id=60302
552
+ [🔑depfui♻️]: https://badges.depfu.com/badges/31479c66ece5143367e8d3d50aef18b5/count.svg
553
+ [🖐codeQL]: https://github.com/rubocop-lts/rubocop-lts-rspec/security/code-scanning
554
+ [🖐codeQL-img]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/codeql-analysis.yml/badge.svg
555
+ [🚎1-an-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/ancient.yml
556
+ [🚎1-an-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/ancient.yml/badge.svg
557
+ [🚎2-cov-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/coverage.yml
558
+ [🚎2-cov-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/coverage.yml/badge.svg
559
+ [🚎3-hd-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/heads.yml
560
+ [🚎3-hd-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/heads.yml/badge.svg
561
+ [🚎5-st-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/style.yml
562
+ [🚎5-st-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/style.yml/badge.svg
563
+ [🚎6-s-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/supported.yml
564
+ [🚎6-s-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/supported.yml/badge.svg
565
+ [🚎8-df-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/dogfood.yml
566
+ [🚎8-df-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/dogfood.yml/badge.svg
567
+ [🚎11-c-wf]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml
568
+ [🚎11-c-wfi]: https://github.com/rubocop-lts/rubocop-lts-rspec/actions/workflows/current.yml/badge.svg
569
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay
570
+ [⛳liberapay]: https://liberapay.com/pboling/donate
571
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
572
+ [🖇sponsor]: https://github.com/sponsors/pboling
573
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-yellow.svg
574
+ [🖇polar]: https://polar.sh/pboling
575
+ [🖇kofi-img]: https://img.shields.io/badge/a_more_different_coffee-✓-yellow.svg
576
+ [🖇kofi]: https://ko-fi.com/O5O86SNP4
577
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
578
+ [🖇patreon]: https://patreon.com/galtzo
579
+ [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
580
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
581
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-yellow.svg?style=flat
582
+ [💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
583
+ [💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
584
+ [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
585
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
586
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
587
+ [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
588
+ [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
589
+ [🤝issues]: https://github.com/rubocop-lts/rubocop-lts-rspec/issues
590
+ [🤝pulls]: https://github.com/rubocop-lts/rubocop-lts-rspec/pulls
591
+ [🤝contributing]: CONTRIBUTING.md
592
+ [🔑codecov-g♻️]: https://codecov.io/gh/rubocop-lts/rubocop-lts-rspec/graphs/tree.svg?token=l44un82aUp
593
+ [🖐contrib-rocks]: https://contrib.rocks
594
+ [🖐contributors]: https://github.com/rubocop-lts/rubocop-lts-rspec/graphs/contributors
595
+ [🖐contributors-img]: https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts-rspec
596
+ [🚎contributors-gl]: https://gitlab.com/rubocop-lts/rubocop-lts-rspec/-/graphs/main
597
+ [🪇conduct]: CODE_OF_CONDUCT.md
598
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-4baaaa.svg
599
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
600
+ [📌semver]: https://semver.org/spec/v2.0.0.html
601
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
602
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
603
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
604
+ [📌changelog]: CHANGELOG.md
605
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
606
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
607
+ [📌gitmoji]:https://gitmoji.dev
608
+ [📌gitmoji-img]:https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square
609
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
610
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.018-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
611
+ [🔐security]: SECURITY.md
612
+ [🔐security-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
613
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
614
+ [📄license]: LICENSE.txt
615
+ [📄license-ref]: https://opensource.org/licenses/MIT
616
+ [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
617
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
618
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-brightgreen.svg?style=flat
619
+ [🚎yard-current]: http://rubydoc.info/gems/rubocop-lts-rspec
620
+ [🚎yard-head]: https://rubydoc.info/github/rubocop-lts/rubocop-lts-rspec/main
621
+ [💎stone_checksums]: https://github.com/pboling/stone_checksums
622
+ [💎SHA_checksums]: https://github.com/rubocop-lts/rubocop-lts-rspec/tree/main/checksums
623
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
624
+ [💎rlts-img]: https://img.shields.io/badge/code_style-rubocop--lts-brightgreen.svg?plastic&logo=ruby&logoColor=white
data/SECURITY.md ADDED
@@ -0,0 +1,21 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ | Version | Supported |
6
+ |---------|-----------|
7
+ | 1.x | ✅ |
8
+
9
+ ## Security contact information
10
+
11
+ To report a security vulnerability, please use the
12
+ [Tidelift security contact](https://tidelift.com/security).
13
+ Tidelift will coordinate the fix and disclosure.
14
+
15
+ ## Additional Support
16
+
17
+ If you are interested in support for versions older than the latest release,
18
+ please consider sponsoring the project / maintainer @ https://liberapay.com/pboling/donate,
19
+ or find other sponsorship links in the [README].
20
+
21
+ [README]: README.md
data/config/base.yml ADDED
@@ -0,0 +1,10 @@
1
+ # Shared RSpec integrations for the rubocop-lts family.
2
+ require:
3
+ - rubocop-factory_bot
4
+
5
+ # Configurations of specific RuboCop rules go here
6
+ RSpec:
7
+ Language:
8
+ Expectations:
9
+ # Support for rspec-block_is_expected gem, without making it a dependency
10
+ - block_is_expected