rails-rfc6570 3.2.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/README.md +3 -1
  4. data/lib/rails/rfc6570/version.rb +1 -1
  5. data/lib/rails/rfc6570.rb +10 -29
  6. data/rails-rfc6570.gemspec +1 -1
  7. data/spec/dummy/config/application.rb +5 -1
  8. data/spec/dummy/config/environments/test.rb +1 -1
  9. data/spec/rails/rfc6570/extensions/route_set_spec.rb +29 -0
  10. data/spec/rails/rfc6570/helper_spec.rb +44 -0
  11. data/spec/rails/rfc6570/visitor_spec.rb +12 -0
  12. data/spec/spec_helper.rb +6 -0
  13. data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/rubocop-config.gemspec +8 -8
  14. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +205 -0
  15. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +67 -0
  16. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +157 -0
  17. data/vendor/bundle/ruby/{3.3.0/gems/io-console-0.7.2 → 3.4.0/gems/base64-0.2.0}/README.md +17 -15
  18. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +138 -0
  19. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +32 -0
  20. data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/CHANGELOG.md +12 -2
  21. data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/README.md +1 -1
  22. data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/README.md +32 -0
  23. data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/CHANGELOG +4 -0
  24. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/README.md +104 -0
  25. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +28 -0
  26. data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/CHANGELOG.md +25 -0
  27. data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/README.md +59 -12
  28. data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +6 -6
  29. data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/README.md +8 -5
  30. data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/CHANGELOG.md +12 -0
  31. data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/CHANGELOG.md +54 -0
  32. data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/README.md +0 -4
  33. data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
  34. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.2/README.md +55 -0
  35. data/vendor/bundle/ruby/{3.3.0/gems/useragent-0.16.10 → 3.4.0/gems/useragent-0.16.11}/README.md +2 -2
  36. data/vendor/bundle/ruby/{3.3.0/specifications/actionpack-7.2.1.gemspec → 3.4.0/specifications/actionpack-8.0.1.gemspec} +11 -12
  37. data/vendor/bundle/ruby/{3.3.0/specifications/actionview-7.2.1.gemspec → 3.4.0/specifications/actionview-8.0.1.gemspec} +10 -10
  38. data/vendor/bundle/ruby/{3.3.0/specifications/activesupport-7.2.1.gemspec → 3.4.0/specifications/activesupport-8.0.1.gemspec} +9 -7
  39. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/addressable-2.8.7.gemspec +1 -1
  40. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  41. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +23 -0
  42. data/vendor/bundle/ruby/{3.3.0/specifications/bigdecimal-3.1.8.gemspec → 3.4.0/specifications/bigdecimal-3.1.9.gemspec} +5 -5
  43. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/builder-3.3.0.gemspec +1 -1
  44. data/vendor/bundle/ruby/{3.3.0/specifications/concurrent-ruby-1.3.4.gemspec → 3.4.0/specifications/concurrent-ruby-1.3.5.gemspec} +4 -4
  45. data/vendor/bundle/ruby/{3.3.0/specifications/connection_pool-2.4.1.gemspec → 3.4.0/specifications/connection_pool-2.5.0.gemspec} +5 -5
  46. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/crass-1.0.6.gemspec +1 -1
  47. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/diff-lcs-1.5.1.gemspec +1 -1
  48. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/drb-2.2.1.gemspec +1 -1
  49. data/vendor/bundle/ruby/{3.3.0/specifications/erubi-1.13.0.gemspec → 3.4.0/specifications/erubi-1.13.1.gemspec} +5 -5
  50. data/vendor/bundle/ruby/{3.3.0/specifications/i18n-1.14.5.gemspec → 3.4.0/specifications/i18n-1.14.7.gemspec} +5 -5
  51. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.6.5.gemspec +22 -0
  52. data/vendor/bundle/ruby/{3.3.0/specifications/loofah-2.22.0.gemspec → 3.4.0/specifications/loofah-2.24.0.gemspec} +6 -6
  53. data/vendor/bundle/ruby/{3.3.0/specifications/minitest-5.25.1.gemspec → 3.4.0/specifications/minitest-5.25.4.gemspec} +5 -5
  54. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.2-x86_64-linux-gnu.gemspec +31 -0
  55. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/public_suffix-6.0.1.gemspec +1 -1
  56. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/racc-1.8.1.gemspec +1 -1
  57. data/vendor/bundle/ruby/{3.3.0/specifications/rack-3.1.7.gemspec → 3.4.0/specifications/rack-3.1.9.gemspec} +5 -5
  58. data/vendor/bundle/ruby/{3.3.0/specifications/rack-session-2.0.0.gemspec → 3.4.0/specifications/rack-session-2.1.0.gemspec} +8 -6
  59. data/vendor/bundle/ruby/{3.3.0/specifications/rack-test-2.1.0.gemspec → 3.4.0/specifications/rack-test-2.2.0.gemspec} +5 -5
  60. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rails-dom-testing-2.2.0.gemspec +1 -1
  61. data/vendor/bundle/ruby/{3.3.0/specifications/rails-html-sanitizer-1.6.0.gemspec → 3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec} +7 -7
  62. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rake-13.2.1.gemspec +1 -1
  63. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rake-release-1.3.0.gemspec +1 -1
  64. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rspec-3.13.0.gemspec +1 -1
  65. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-core-3.13.0.gemspec → 3.4.0/specifications/rspec-core-3.13.2.gemspec} +7 -7
  66. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-expectations-3.13.2.gemspec → 3.4.0/specifications/rspec-expectations-3.13.3.gemspec} +6 -6
  67. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-mocks-3.13.1.gemspec → 3.4.0/specifications/rspec-mocks-3.13.2.gemspec} +7 -7
  68. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-support-3.13.1.gemspec → 3.4.0/specifications/rspec-support-3.13.2.gemspec} +8 -8
  69. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
  70. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/tzinfo-2.0.6.gemspec +1 -1
  71. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.2.gemspec +23 -0
  72. data/vendor/bundle/ruby/{3.3.0/specifications/useragent-0.16.10.gemspec → 3.4.0/specifications/useragent-0.16.11.gemspec} +6 -6
  73. metadata +132 -262
  74. data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/CHANGELOG.md +0 -154
  75. data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/CHANGELOG.md +0 -113
  76. data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/CHANGELOG.md +0 -258
  77. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/MIT-LICENSE +0 -21
  78. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/README.md +0 -243
  79. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/appraisal.gemspec +0 -29
  80. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/LICENSE.MIT +0 -20
  81. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/README.YARD.md +0 -12
  82. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/LICENSE +0 -20
  83. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/README.md +0 -279
  84. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/CHANGELOG.md +0 -934
  85. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/LICENSE +0 -23
  86. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/README.md +0 -199
  87. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/MIT-LICENSE +0 -22
  88. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/README_INDEX.rdoc +0 -123
  89. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/LICENSE +0 -21
  90. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/README.md +0 -409
  91. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/docile.gemspec +0 -36
  92. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/LICENSE.txt +0 -22
  93. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/README.md +0 -405
  94. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/irb.gemspec +0 -46
  95. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/LICENSE +0 -56
  96. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/README.md +0 -416
  97. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/json.gemspec +0 -68
  98. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/LICENSE.txt +0 -21
  99. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/README.md +0 -88
  100. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/CHANGELOG.md +0 -15
  101. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/LICENSE +0 -22
  102. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/README.markdown +0 -101
  103. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/method_source.gemspec +0 -19
  104. data/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/MIT-LICENSE.txt +0 -20
  105. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/LICENSE.txt +0 -25
  106. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/parser.gemspec +0 -43
  107. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/CHANGELOG.md +0 -1141
  108. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/LICENSE +0 -25
  109. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/README.md +0 -466
  110. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/lib/pry/slop/LICENSE +0 -20
  111. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/CHANGELOG.md +0 -230
  112. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/LICENSE +0 -20
  113. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/README.md +0 -189
  114. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/CHANGELOG.md +0 -361
  115. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/MIT-LICENSE +0 -20
  116. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/README.rdoc +0 -39
  117. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/app/templates/README.md.tt +0 -24
  118. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +0 -28
  119. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +0 -20
  120. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/README.md.tt +0 -28
  121. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/LICENSE +0 -20
  122. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/README.markdown +0 -227
  123. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/LICENSE.rdoc +0 -57
  124. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/README.rdoc +0 -129
  125. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/LICENSE +0 -22
  126. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/regexp_parser.gemspec +0 -34
  127. data/vendor/bundle/ruby/3.3.0/gems/reline-0.5.9/README.md +0 -94
  128. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/LICENSE.txt +0 -22
  129. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/README.md +0 -57
  130. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/LICENSE.md +0 -25
  131. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/README.md +0 -381
  132. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/LICENSE.txt +0 -20
  133. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/README.md +0 -251
  134. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/LICENSE.txt +0 -20
  135. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/README.md +0 -56
  136. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/CHANGELOG.md +0 -85
  137. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/MIT-LICENSE.md +0 -21
  138. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/README.md +0 -88
  139. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/CHANGELOG.md +0 -116
  140. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/MIT-LICENSE.md +0 -21
  141. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/README.md +0 -88
  142. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/LICENSE.txt +0 -20
  143. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/README.md +0 -97
  144. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/CHANGELOG.md +0 -1028
  145. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/MIT-LICENSE.md +0 -21
  146. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/README.md +0 -109
  147. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/CHANGELOG.md +0 -84
  148. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/MIT-LICENSE.md +0 -21
  149. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/README.md +0 -90
  150. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +0 -19
  151. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/README.md +0 -131
  152. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/CHANGELOG.md +0 -191
  153. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/LICENSE +0 -20
  154. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/README.md +0 -974
  155. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/LICENSE +0 -202
  156. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/README.md +0 -62
  157. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/simplecov-cobertura.gemspec +0 -29
  158. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/CHANGELOG.md +0 -81
  159. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/LICENSE +0 -20
  160. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/README.md +0 -30
  161. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/simplecov-html.gemspec +0 -23
  162. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +0 -13
  163. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/README.md +0 -29
  164. data/vendor/bundle/ruby/3.3.0/gems/strscan-3.1.0/LICENSE.txt +0 -22
  165. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/LICENSE.md +0 -20
  166. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/README.md +0 -45
  167. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/thor.gemspec +0 -33
  168. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/CHANGELOG.md +0 -196
  169. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/MIT-LICENSE.txt +0 -22
  170. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/README.md +0 -171
  171. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/LICENSE.txt +0 -22
  172. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/README.md +0 -61
  173. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/webrick.gemspec +0 -70
  174. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/MIT-LICENSE +0 -20
  175. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/README.md +0 -1494
  176. data/vendor/bundle/ruby/3.3.0/specifications/appraisal-2.5.0.gemspec +0 -31
  177. data/vendor/bundle/ruby/3.3.0/specifications/ast-2.4.2.gemspec +0 -30
  178. data/vendor/bundle/ruby/3.3.0/specifications/benchmark-ips-2.13.0.gemspec +0 -28
  179. data/vendor/bundle/ruby/3.3.0/specifications/byebug-11.1.3.gemspec +0 -31
  180. data/vendor/bundle/ruby/3.3.0/specifications/coderay-1.1.3.gemspec +0 -25
  181. data/vendor/bundle/ruby/3.3.0/specifications/docile-1.4.1.gemspec +0 -22
  182. data/vendor/bundle/ruby/3.3.0/specifications/io-console-0.7.2.gemspec +0 -25
  183. data/vendor/bundle/ruby/3.3.0/specifications/irb-1.14.0.gemspec +0 -30
  184. data/vendor/bundle/ruby/3.3.0/specifications/json-2.7.2.gemspec +0 -0
  185. data/vendor/bundle/ruby/3.3.0/specifications/language_server-protocol-3.17.0.3.gemspec +0 -31
  186. data/vendor/bundle/ruby/3.3.0/specifications/method_source-1.1.0.gemspec +0 -21
  187. data/vendor/bundle/ruby/3.3.0/specifications/nokogiri-1.16.7-x86_64-linux.gemspec +0 -31
  188. data/vendor/bundle/ruby/3.3.0/specifications/parallel-1.26.3.gemspec +0 -21
  189. data/vendor/bundle/ruby/3.3.0/specifications/parser-3.3.4.2.gemspec +0 -37
  190. data/vendor/bundle/ruby/3.3.0/specifications/pry-0.14.2.gemspec +0 -29
  191. data/vendor/bundle/ruby/3.3.0/specifications/pry-byebug-3.10.1.gemspec +0 -28
  192. data/vendor/bundle/ruby/3.3.0/specifications/rackup-2.1.0.gemspec +0 -31
  193. data/vendor/bundle/ruby/3.3.0/specifications/railties-7.2.1.gemspec +0 -37
  194. data/vendor/bundle/ruby/3.3.0/specifications/rainbow-3.1.1.gemspec +0 -25
  195. data/vendor/bundle/ruby/3.3.0/specifications/rdoc-6.7.0.gemspec +0 -31
  196. data/vendor/bundle/ruby/3.3.0/specifications/regexp_parser-2.9.2.gemspec +0 -22
  197. data/vendor/bundle/ruby/3.3.0/specifications/reline-0.5.9.gemspec +0 -26
  198. data/vendor/bundle/ruby/3.3.0/specifications/rexml-3.3.6.gemspec +0 -29
  199. data/vendor/bundle/ruby/3.3.0/specifications/rspec-rails-6.1.4.gemspec +0 -37
  200. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-1.65.1.gemspec +0 -39
  201. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-ast-1.32.1.gemspec +0 -28
  202. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-capybara-2.21.0.gemspec +0 -27
  203. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-factory_bot-2.26.1.gemspec +0 -27
  204. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-performance-1.21.1.gemspec +0 -29
  205. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec-3.0.4.gemspec +0 -28
  206. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec_rails-2.30.0.gemspec +0 -28
  207. data/vendor/bundle/ruby/3.3.0/specifications/ruby-progressbar-1.13.0.gemspec +0 -29
  208. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-0.22.0.gemspec +0 -28
  209. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-cobertura-2.1.0.gemspec +0 -29
  210. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-html-0.12.3.gemspec +0 -21
  211. data/vendor/bundle/ruby/3.3.0/specifications/simplecov_json_formatter-0.1.4.gemspec +0 -21
  212. data/vendor/bundle/ruby/3.3.0/specifications/strscan-3.1.0.gemspec +0 -24
  213. data/vendor/bundle/ruby/3.3.0/specifications/thor-1.3.1.gemspec +0 -28
  214. data/vendor/bundle/ruby/3.3.0/specifications/unicode-display_width-2.5.0.gemspec +0 -29
  215. data/vendor/bundle/ruby/3.3.0/specifications/webrick-1.8.1.gemspec +0 -22
  216. data/vendor/bundle/ruby/3.3.0/specifications/zeitwerk-2.6.17.gemspec +0 -22
  217. /data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/LICENSE +0 -0
  218. /data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/README.md +0 -0
  219. /data/vendor/bundle/ruby/{3.3.0/gems/actionpack-7.2.1 → 3.4.0/gems/actionpack-8.0.1}/MIT-LICENSE +0 -0
  220. /data/vendor/bundle/ruby/{3.3.0/gems/actionpack-7.2.1 → 3.4.0/gems/actionpack-8.0.1}/README.rdoc +0 -0
  221. /data/vendor/bundle/ruby/{3.3.0/gems/actionview-7.2.1 → 3.4.0/gems/actionview-8.0.1}/MIT-LICENSE +0 -0
  222. /data/vendor/bundle/ruby/{3.3.0/gems/actionview-7.2.1 → 3.4.0/gems/actionview-8.0.1}/README.rdoc +0 -0
  223. /data/vendor/bundle/ruby/{3.3.0/gems/activesupport-7.2.1 → 3.4.0/gems/activesupport-8.0.1}/MIT-LICENSE +0 -0
  224. /data/vendor/bundle/ruby/{3.3.0/gems/activesupport-7.2.1 → 3.4.0/gems/activesupport-8.0.1}/README.rdoc +0 -0
  225. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/CHANGELOG.md +0 -0
  226. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/LICENSE.txt +0 -0
  227. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/README.md +0 -0
  228. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/addressable.gemspec +0 -0
  229. /data/vendor/bundle/ruby/{3.3.0/gems/drb-2.2.1 → 3.4.0/gems/base64-0.2.0}/LICENSE.txt +0 -0
  230. /data/vendor/bundle/ruby/{3.3.0/gems/bigdecimal-3.1.8 → 3.4.0/gems/bigdecimal-3.1.9}/LICENSE +0 -0
  231. /data/vendor/bundle/ruby/{3.3.0/gems/bigdecimal-3.1.8 → 3.4.0/gems/bigdecimal-3.1.9}/bigdecimal.gemspec +0 -0
  232. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/MIT-LICENSE +0 -0
  233. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/README.md +0 -0
  234. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/builder.gemspec +0 -0
  235. /data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/LICENSE.txt +0 -0
  236. /data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/LICENSE +0 -0
  237. /data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/connection_pool.gemspec +0 -0
  238. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/LICENSE +0 -0
  239. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/README.md +0 -0
  240. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/crass.gemspec +0 -0
  241. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/diff-lcs-1.5.1/README.rdoc +0 -0
  242. /data/vendor/bundle/ruby/{3.3.0/gems/io-console-0.7.2 → 3.4.0/gems/drb-2.2.1}/LICENSE.txt +0 -0
  243. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/drb-2.2.1/drb.gemspec +0 -0
  244. /data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/MIT-LICENSE +0 -0
  245. /data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/README.rdoc +0 -0
  246. /data/vendor/bundle/ruby/{3.3.0/gems/i18n-1.14.5 → 3.4.0/gems/i18n-1.14.7}/MIT-LICENSE +0 -0
  247. /data/vendor/bundle/ruby/{3.3.0/gems/i18n-1.14.5 → 3.4.0/gems/i18n-1.14.7}/README.md +0 -0
  248. /data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/MIT-LICENSE.txt +0 -0
  249. /data/vendor/bundle/ruby/{3.3.0/gems/minitest-5.25.1 → 3.4.0/gems/minitest-5.25.4}/README.rdoc +0 -0
  250. /data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/LICENSE.md +0 -0
  251. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/CHANGELOG.md +0 -0
  252. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/LICENSE.txt +0 -0
  253. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/README.md +0 -0
  254. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/racc-1.8.1/README.ja.rdoc +0 -0
  255. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/racc-1.8.1/README.rdoc +0 -0
  256. /data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/MIT-LICENSE +0 -0
  257. /data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/README.md +0 -0
  258. /data/vendor/bundle/ruby/{3.3.0/gems/rack-test-2.1.0 → 3.4.0/gems/rack-test-2.2.0}/MIT-LICENSE.txt +0 -0
  259. /data/vendor/bundle/ruby/{3.3.0/gems/rack-test-2.1.0 → 3.4.0/gems/rack-test-2.2.0}/README.md +0 -0
  260. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rails-dom-testing-2.2.0/MIT-LICENSE +0 -0
  261. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rails-dom-testing-2.2.0/README.md +0 -0
  262. /data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/MIT-LICENSE +0 -0
  263. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/MIT-LICENSE +0 -0
  264. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/README.rdoc +0 -0
  265. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/rake.gemspec +0 -0
  266. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/LICENSE +0 -0
  267. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/README.md +0 -0
  268. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/rake-release.gemspec +0 -0
  269. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rspec-3.13.0/LICENSE.md +0 -0
  270. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rspec-3.13.0/README.md +0 -0
  271. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-core-3.13.0 → 3.4.0/gems/rspec-core-3.13.2}/LICENSE.md +0 -0
  272. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-core-3.13.0 → 3.4.0/gems/rspec-core-3.13.2}/README.md +0 -0
  273. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-expectations-3.13.2 → 3.4.0/gems/rspec-expectations-3.13.3}/LICENSE.md +0 -0
  274. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-expectations-3.13.2 → 3.4.0/gems/rspec-expectations-3.13.3}/README.md +0 -0
  275. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-mocks-3.13.1 → 3.4.0/gems/rspec-mocks-3.13.2}/LICENSE.md +0 -0
  276. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-mocks-3.13.1 → 3.4.0/gems/rspec-mocks-3.13.2}/README.md +0 -0
  277. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-support-3.13.1 → 3.4.0/gems/rspec-support-3.13.2}/LICENSE.md +0 -0
  278. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-support-3.13.1 → 3.4.0/gems/rspec-support-3.13.2}/README.md +0 -0
  279. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  280. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/tzinfo-2.0.6/README.md +0 -0
  281. /data/vendor/bundle/ruby/{3.3.0/gems/useragent-0.16.10 → 3.4.0/gems/useragent-0.16.11}/LICENSE +0 -0
@@ -1,381 +0,0 @@
1
- # rspec-rails [![Code Climate][]][code-climate] [![Gem Version][]][gem-version]
2
-
3
- `rspec-rails` brings the [RSpec][] testing framework to [Ruby on Rails][]
4
- as a drop-in alternative to its default testing framework, Minitest.
5
-
6
- In RSpec, tests are not just scripts that verify your application code.
7
- They’re also specifications (or _specs,_ for short):
8
- detailed explanations of how the application is supposed to behave,
9
- expressed in plain English.
10
-
11
- According to [RSpec Rails new versioning strategy][] use:
12
- * **[`rspec-rails` 6.x][]** for Rails 6.1 or 7.x.
13
- * **[`rspec-rails` 5.x][]** for Rails 5.2 or 6.x.
14
- * **[`rspec-rails` 4.x][]** for Rails from 5.x or 6.x.
15
- * **[`rspec-rails` 3.x][]** for Rails earlier than 5.0.
16
- * **[`rspec-rails` 1.x][]** for Rails 2.x.
17
-
18
- [Code Climate]: https://codeclimate.com/github/rspec/rspec-rails.svg
19
- [code-climate]: https://codeclimate.com/github/rspec/rspec-rails
20
- [Gem Version]: https://badge.fury.io/rb/rspec-rails.svg
21
- [gem-version]: https://badge.fury.io/rb/rspec-rails
22
- [RSpec]: https://rspec.info/
23
- [Ruby on Rails]: https://rubyonrails.org/
24
- [`rspec-rails` 1.x]: https://github.com/dchelimsky/rspec-rails
25
- [`rspec-rails` 3.x]: https://github.com/rspec/rspec-rails/tree/3-9-maintenance
26
- [`rspec-rails` 4.x]: https://github.com/rspec/rspec-rails/tree/4-1-maintenance
27
- [`rspec-rails` 5.x]: https://github.com/rspec/rspec-rails/tree/5-1-maintenance
28
- [`rspec-rails` 6.x]: https://github.com/rspec/rspec-rails/tree/6-1-maintenance
29
- [RSpec Rails new versioning strategy]: https://github.com/rspec/rspec-rails/blob/main/rfcs/versioning-strategy.md
30
-
31
- ## Installation
32
-
33
- **IMPORTANT** This README / branch refers to the 6.1.x stable release series, only bugfixes from this series will
34
- be added here. See the [`main` branch on Github](https://github.com/rspec/rspec-rails/tree/main) if you want or
35
- require the latest unstable features.
36
-
37
- 1. Add `rspec-rails` to **both** the `:development` and `:test` groups
38
- of your app’s `Gemfile`:
39
-
40
- ```ruby
41
- # Run against this stable release
42
- group :development, :test do
43
- gem 'rspec-rails', '~> 6.1.0'
44
- end
45
-
46
- # Or, run against the main branch
47
- # (requires main-branch versions of all related RSpec libraries)
48
- group :development, :test do
49
- %w[rspec-core rspec-expectations rspec-mocks rspec-rails rspec-support].each do |lib|
50
- gem lib, git: "https://github.com/rspec/#{lib}.git", branch: 'main'
51
- end
52
- end
53
- ```
54
-
55
- (Adding it to the `:development` group is not strictly necessary,
56
- but without it, generators and rake tasks must be preceded by `RAILS_ENV=test`.)
57
-
58
- 2. Then, in your project directory:
59
-
60
- ```sh
61
- # Download and install
62
- $ bundle install
63
-
64
- # Generate boilerplate configuration files
65
- # (check the comments in each generated file for more information)
66
- $ rails generate rspec:install
67
- create .rspec
68
- create spec
69
- create spec/spec_helper.rb
70
- create spec/rails_helper.rb
71
- ```
72
-
73
- ## Upgrading
74
-
75
- If your project is already using an older version of `rspec-rails`,
76
- upgrade to the latest version with:
77
-
78
- ```sh
79
- $ bundle update rspec-rails
80
- ```
81
-
82
- RSpec follows [semantic versioning](https://semver.org/),
83
- which means that “major version” upgrades (_e.g.,_ 2.x → 3.x)
84
- come with **breaking changes**.
85
- If you’re upgrading from version 2.x or below,
86
- read the [`rspec-rails` upgrade notes][] to find out what to watch out for.
87
-
88
- Be sure to check the general [RSpec upgrade notes][] as well.
89
-
90
- [`rspec-rails` upgrade notes]: https://rspec.info/features/6-0/rspec-rails/upgrade
91
- [RSpec upgrade notes]: https://rspec.info/upgrading-from-rspec-2/
92
-
93
- ## Usage
94
-
95
- ### Creating boilerplate specs with `rails generate`
96
-
97
- ```sh
98
- # RSpec hooks into built-in generators
99
- $ rails generate model user
100
- invoke active_record
101
- create db/migrate/20181017040312_create_users.rb
102
- create app/models/user.rb
103
- invoke rspec
104
- create spec/models/user_spec.rb
105
-
106
- # RSpec also provides its own spec file generators
107
- $ rails generate rspec:model user
108
- create spec/models/user_spec.rb
109
-
110
- # List all RSpec generators
111
- $ rails generate --help | grep rspec
112
- ```
113
-
114
- ### Running specs
115
-
116
- ```sh
117
- # Default: Run all spec files (i.e., those matching spec/**/*_spec.rb)
118
- $ bundle exec rspec
119
-
120
- # Run all spec files in a single directory (recursively)
121
- $ bundle exec rspec spec/models
122
-
123
- # Run a single spec file
124
- $ bundle exec rspec spec/controllers/accounts_controller_spec.rb
125
-
126
- # Run a single example from a spec file (by line number)
127
- $ bundle exec rspec spec/controllers/accounts_controller_spec.rb:8
128
-
129
- # See all options for running specs
130
- $ bundle exec rspec --help
131
- ```
132
-
133
- **Optional:** If `bundle exec rspec` is too verbose for you,
134
- you can generate a binstub at `bin/rspec` and use that instead:
135
-
136
- ```sh
137
- $ bundle binstubs rspec-core
138
- ```
139
-
140
- ## RSpec DSL Basics (or, how do I write a spec?)
141
-
142
- In RSpec, application behavior is described
143
- **first in (almost) plain English, then again in test code**, like so:
144
-
145
- ```ruby
146
- RSpec.describe 'Post' do #
147
- context 'before publication' do # (almost) plain English
148
- it 'cannot have comments' do #
149
- expect { Post.create.comments.create! }.to raise_error(ActiveRecord::RecordInvalid) # test code
150
- end
151
- end
152
- end
153
- ```
154
-
155
- Running `rspec` will execute this test code,
156
- and then use the plain-English descriptions
157
- to generate a report of where the application
158
- conforms to (or fails to meet) the spec:
159
-
160
- ```
161
- $ rspec --format documentation spec/models/post_spec.rb
162
-
163
- Post
164
- before publication
165
- cannot have comments
166
-
167
- Failures:
168
-
169
- 1) Post before publication cannot have comments
170
- Failure/Error: expect { Post.create.comments.create! }.to raise_error(ActiveRecord::RecordInvalid)
171
- expected ActiveRecord::RecordInvalid but nothing was raised
172
- # ./spec/models/post.rb:4:in `block (3 levels) in <top (required)>'
173
-
174
- Finished in 0.00527 seconds (files took 0.29657 seconds to load)
175
- 1 example, 1 failure
176
-
177
- Failed examples:
178
-
179
- rspec ./spec/models/post_spec.rb:3 # Post before publication cannot have comments
180
- ```
181
-
182
- For an in-depth look at the RSpec DSL, including lots of examples,
183
- read the official Cucumber documentation for [RSpec Core][].
184
-
185
- [RSpec Core]: https://rspec.info/features/3-12/rspec-core
186
-
187
- ### Helpful Rails Matchers
188
-
189
- In RSpec, assertions are called _expectations,_
190
- and every expectation is built around a _matcher._
191
- When you `expect(a).to eq(b)`, you’re using the `eq` matcher.
192
-
193
- In addition to [the matchers that come standard in RSpec][],
194
- here are some extras that make it easier
195
- to test the various parts of a Rails system:
196
-
197
- | RSpec matcher | Delegates to | Available in | Notes |
198
- | ------------------------ | ------------------- | ------------------------------- | -------------------------------------------------------- |
199
- | [`be_a_new`][] | | all | primarily intended for controller specs |
200
- | [`render_template`][] | `assert_template` | request / controller / view | use with `expect(response).to` |
201
- | [`redirect_to`][] | `assert_redirect` | request / controller | use with `expect(response).to` |
202
- | [`route_to`] | `assert_recognizes` | routing / controller | use with `expect(...).to route_to` |
203
- | [`be_routable`] | | routing / controller | use with `expect(...).not_to be_routable` |
204
- | [`have_http_status`][] | | request / controller / feature | |
205
- | [`match_array`][] | | all | for comparing arrays of ActiveRecord objects |
206
- | [`have_been_enqueued`][] | | all | requires config: `ActiveJob::Base.queue_adapter = :test` |
207
- | [`have_enqueued_job`][] | | all | requires config: `ActiveJob::Base.queue_adapter = :test` |
208
-
209
- Follow the links above for examples of how each matcher is used.
210
-
211
- [the matchers that come standard in RSpec]: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers
212
- [`be_a_new`]: https://rspec.info/features/6-0/rspec-rails/matchers/new-record-matcher
213
- [`render_template`]: https://rspec.info/features/6-0/rspec-rails/matchers/render-template-matcher
214
- [`redirect_to`]: https://rspec.info/features/6-0/rspec-rails/matchers/redirect-to-matcher
215
- [`route_to`]: https://rspec.info/features/6-0/rspec-rails/routing-specs/route-to-matcher
216
- [`be_routable`]: https://rspec.info/features/6-0/rspec-rails/routing-specs/be-routable-matcher
217
- [`have_http_status`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-http-status-matcher
218
- [`match_array`]: https://rspec.info/features/6-0/rspec-rails/matchers/relation-match-array
219
- [`have_been_enqueued`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-been-enqueued-matcher
220
- [`have_enqueued_job`]: https://rspec.info/features/6-0/rspec-rails/matchers/have-enqueued-job-matcher
221
-
222
- ### What else does RSpec Rails add?
223
-
224
- For a comprehensive look at RSpec Rails’ features,
225
- read the [official Cucumber documentation][].
226
-
227
- [official Cucumber documentation]: https://rspec.info/features/6-0/rspec-rails
228
-
229
- ## What tests should I write?
230
-
231
- RSpec Rails defines ten different _types_ of specs
232
- for testing different parts of a typical Rails application.
233
- Each one inherits from one of Rails’ built-in `TestCase` classes,
234
- meaning the helper methods provided by default in Rails tests
235
- are available in RSpec, as well.
236
-
237
- | Spec type | Corresponding Rails test class |
238
- | -------------- | -------------------------------- |
239
- | [model][] | |
240
- | [controller][] | [`ActionController::TestCase`][] |
241
- | [mailer][] | `ActionMailer::TestCase` |
242
- | [job][] | |
243
- | [view][] | `ActionView::TestCase` |
244
- | [routing][] | |
245
- | [helper][] | `ActionView::TestCase` |
246
- | [request][] | [`ActionDispatch::IntegrationTest`][] |
247
- | [feature][] | |
248
- | [system][] | [`ActionDispatch::SystemTestCase`][] |
249
-
250
- Follow the links above to see examples of each spec type,
251
- or for official Rails API documentation on the given `TestCase` class.
252
-
253
- > **Note: This is not a checklist.**
254
- >
255
- > Ask a hundred developers how to test an application,
256
- > and you’ll get a hundred different answers.
257
- >
258
- > RSpec Rails provides thoughtfully selected features
259
- > to encourage good testing practices, but there’s no “right” way to do it.
260
- > Ultimately, it’s up to you to decide how your test suite will be composed.
261
-
262
- When creating a spec file,
263
- assign it a type in the top-level `describe` block, like so:
264
-
265
- ```ruby
266
- # spec/models/user_spec.rb
267
-
268
- RSpec.describe User, type: :model do
269
- ...
270
- ```
271
-
272
- [request]: https://rspec.info/features/6-0/rspec-rails/request-specs/request-spec
273
- [feature]: https://rspec.info/features/6-0/rspec-rails/feature-specs/feature-spec
274
- [system]: https://rspec.info/features/6-0/rspec-rails/system-specs/system-specs
275
- [model]: https://rspec.info/features/6-0/rspec-rails/model-specs
276
- [controller]: https://rspec.info/features/6-0/rspec-rails/controller-specs
277
- [mailer]: https://rspec.info/features/6-0/rspec-rails/mailer-specs
278
- [job]: https://rspec.info/features/6-0/rspec-rails/job-specs/job-spec
279
- [view]: https://rspec.info/features/6-0/rspec-rails/view-specs/view-spec
280
- [routing]: https://rspec.info/features/6-0/rspec-rails/routing-specs
281
- [helper]: https://rspec.info/features/6-0/rspec-rails/helper-specs/helper-spec
282
- [`ActionDispatch::IntegrationTest`]: https://api.rubyonrails.org/classes/ActionDispatch/IntegrationTest.html
283
- [`ActionDispatch::SystemTestCase`]: https://api.rubyonrails.org/classes/ActionDispatch/SystemTestCase.html
284
- [`ActionController::TestCase`]: https://api.rubyonrails.org/classes/ActionController/TestCase.html
285
- [in the appropriate folder]: https://rspec.info/features/6-0/rspec-rails/directory-structure
286
-
287
- ### System specs, feature specs, request specs–what’s the difference?
288
-
289
- RSpec Rails provides some end-to-end (entire application) testing capability
290
- to specify the interaction with the client.
291
-
292
- #### System specs
293
-
294
- Also called **acceptance tests**, **browser tests**, or **end-to-end tests**,
295
- system specs test the application from the perspective of a _human client._
296
- The test code walks through a user’s browser interactions,
297
-
298
- * `visit '/login'`
299
- * `fill_in 'Name', with: 'jdoe'`
300
-
301
- and the expectations revolve around page content.
302
-
303
- * `expect(page).to have_text('Welcome')`
304
-
305
- Because system specs are a wrapper around Rails’ built-in `SystemTestCase`,
306
- they’re only available on Rails 5.1+.
307
- (Feature specs serve the same purpose, but without this dependency.)
308
-
309
- #### Feature specs
310
-
311
- Before Rails introduced system testing facilities,
312
- feature specs were the only spec type for end-to-end testing.
313
- While the RSpec team now [officially recommends system specs][] instead,
314
- feature specs are still fully supported, look basically identical,
315
- and work on older versions of Rails.
316
-
317
- On the other hand, feature specs require non-trivial configuration
318
- to get some important features working,
319
- like JavaScript testing or making sure each test runs with a fresh DB state.
320
- With system specs, this configuration is provided out-of-the-box.
321
-
322
- Like system specs, feature specs require the [Capybara][] gem.
323
- Rails 5.1+ includes it by default as part of system tests,
324
- but if you don’t have the luxury of upgrading,
325
- be sure to add it to the `:test` group of your `Gemfile` first:
326
-
327
- ```ruby
328
- group :test do
329
- gem "capybara"
330
- end
331
- ```
332
-
333
- [officially recommends system specs]: https://rspec.info/blog/2017/10/rspec-3-7-has-been-released/#rails-actiondispatchsystemtest-integration-system-specs
334
- [Capybara]: https://github.com/teamcapybara/capybara
335
-
336
- #### Request specs
337
-
338
- Request specs are for testing the application
339
- from the perspective of a _machine client._
340
- They begin with an HTTP request and end with the HTTP response,
341
- so they’re faster than feature specs,
342
- but do not examine your app’s UI or JavaScript.
343
-
344
- Request specs provide a high-level alternative to controller specs.
345
- In fact, as of RSpec 3.5, both the Rails and RSpec teams
346
- [discourage directly testing controllers][]
347
- in favor of functional tests like request specs.
348
-
349
- When writing them, try to answer the question,
350
- “For a given HTTP request (verb + path + parameters),
351
- what HTTP response should the application return?”
352
-
353
- [discourage directly testing controllers]: https://rspec.info/blog/2016/07/rspec-3-5-has-been-released/#rails-support-for-rails-5
354
-
355
- ## Contributing
356
-
357
- - [Build details](BUILD_DETAIL.md)
358
- - [Code of Conduct](CODE_OF_CONDUCT.md)
359
- - [Detailed contributing guide](CONTRIBUTING.md)
360
-
361
- Once you’ve cloned the repo and [set up the environment](DEVELOPMENT.md),
362
- you can run the specs and Cucumber features, or submit a pull request.
363
-
364
- ## See Also
365
-
366
- ### RSpec base libraries
367
-
368
- * https://github.com/rspec/rspec
369
- * https://github.com/rspec/rspec-core
370
- * https://github.com/rspec/rspec-expectations
371
- * https://github.com/rspec/rspec-mocks
372
-
373
- ### Recommended third-party extensions
374
-
375
- * [FactoryBot](https://github.com/thoughtbot/factory_bot)
376
- * [Capybara](https://github.com/teamcapybara/capybara)
377
- (Included by default in Rails 5.1+.
378
- Note that [additional configuration is required][] to use the Capybara DSL
379
- anywhere other than system specs and feature specs.)
380
-
381
- [additional configuration is required]: https://rubydoc.info/gems/rspec-rails/file/Capybara.md
@@ -1,20 +0,0 @@
1
- Copyright (c) 2012-24 Bozhidar Batsov
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,251 +0,0 @@
1
- <p align="center">
2
- <img src="https://raw.githubusercontent.com/rubocop/rubocop/master/logo/rubo-logo-horizontal-white.png" alt="RuboCop Logo"/>
3
- </p>
4
-
5
- ----------
6
- [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
7
- [![Gem Version](https://badge.fury.io/rb/rubocop.svg)](https://badge.fury.io/rb/rubocop)
8
- [![Actions Status](https://github.com/rubocop/rubocop/workflows/CI/badge.svg?branch=master)](https://github.com/rubocop/rubocop/actions?query=workflow%3ACI)
9
- [![Test Coverage](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/test_coverage)](https://codeclimate.com/github/rubocop/rubocop/test_coverage)
10
- [![Maintainability](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/maintainability)](https://codeclimate.com/github/rubocop/rubocop/maintainability)
11
- [![Discord](https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true)](https://discord.gg/wJjWvGRDmm)
12
-
13
- > Role models are important. <br/>
14
- > -- Officer Alex J. Murphy / RoboCop
15
-
16
- **RuboCop** is a Ruby static code analyzer (a.k.a. `linter`) and code formatter. Out of the box it
17
- will enforce many of the guidelines outlined in the community [Ruby Style
18
- Guide](https://rubystyle.guide). Apart from reporting the problems discovered in your code,
19
- RuboCop can also automatically fix many of them for you.
20
-
21
- RuboCop is extremely flexible and most aspects of its behavior can be tweaked via various
22
- [configuration options](https://github.com/rubocop/rubocop/blob/master/config/default.yml).
23
-
24
- ----------
25
- [![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)
26
- [![OpenCollective](https://opencollective.com/rubocop/backers/badge.svg)](#open-collective-backers)
27
- [![OpenCollective](https://opencollective.com/rubocop/sponsors/badge.svg)](#open-collective-sponsors)
28
- [![Tidelift](https://tidelift.com/badges/package/rubygems/rubocop)](https://tidelift.com/subscription/pkg/rubygems-rubocop?utm_source=rubygems-rubocop&utm_medium=referral&utm_campaign=readme)
29
-
30
- Working on RuboCop is often fun, but it also requires a great deal of time and energy.
31
-
32
- **Please consider [financially supporting its ongoing development](#funding).**
33
-
34
- ## Installation
35
-
36
- **RuboCop**'s installation is pretty standard:
37
-
38
- ```sh
39
- $ gem install rubocop
40
- ```
41
-
42
- If you'd rather install RuboCop using `bundler`, add a line for it in your `Gemfile` (but set the `require` option to `false`, as it is a standalone tool):
43
-
44
- ```rb
45
- gem 'rubocop', require: false
46
- ```
47
-
48
- RuboCop is stable between minor versions, both in terms of API and cop configuration.
49
- We aim to ease the maintenance of RuboCop extensions and the upgrades between RuboCop
50
- releases. All big changes are reserved for major releases.
51
- To prevent an unwanted RuboCop update you might want to use a conservative version lock
52
- in your `Gemfile`:
53
-
54
- ```rb
55
- gem 'rubocop', '~> 1.65', require: false
56
- ```
57
-
58
- See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
59
-
60
- ## Quickstart
61
-
62
- Just type `rubocop` in a Ruby project's folder and watch the magic happen.
63
-
64
- ```
65
- $ cd my/cool/ruby/project
66
- $ rubocop
67
- ```
68
-
69
- You can also use this magic in your favorite editor with RuboCop's [built-in LSP server](https://docs.rubocop.org/rubocop/usage/lsp.html).
70
-
71
- ## Documentation
72
-
73
- You can read a lot more about RuboCop in its [official docs](https://docs.rubocop.org).
74
-
75
- ## Compatibility
76
-
77
- RuboCop officially supports the following runtime Ruby implementations:
78
-
79
- * MRI 2.7+
80
- * JRuby 9.4+
81
-
82
- Targets Ruby 2.0+ code analysis.
83
-
84
- See the [compatibility documentation](https://docs.rubocop.org/rubocop/compatibility.html) for further details.
85
-
86
- ## Readme Badge
87
-
88
- If you use RuboCop in your project, you can include one of these badges in your readme to let people know that your code is written following the community Ruby Style Guide.
89
-
90
- [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
91
-
92
- [![Ruby Style Guide](https://img.shields.io/badge/code_style-community-brightgreen.svg)](https://rubystyle.guide)
93
-
94
-
95
- Here are the Markdown snippets for the two badges:
96
-
97
- ``` markdown
98
- [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
99
-
100
- [![Ruby Style Guide](https://img.shields.io/badge/code_style-community-brightgreen.svg)](https://rubystyle.guide)
101
- ```
102
-
103
- ## Team
104
-
105
- Here's a list of RuboCop's core developers:
106
-
107
- * [Bozhidar Batsov](https://github.com/bbatsov) (author & head maintainer)
108
- * [Jonas Arvidsson](https://github.com/jonas054)
109
- * [Yuji Nakayama](https://github.com/yujinakayama) (retired)
110
- * [Evgeni Dzhelyov](https://github.com/edzhelyov) (retired)
111
- * [Ted Johansson](https://github.com/drenmi)
112
- * [Masataka Kuwabara](https://github.com/pocke)
113
- * [Koichi Ito](https://github.com/koic)
114
- * [Maxim Krizhanovski](https://github.com/darhazer)
115
- * [Benjamin Quorning](https://github.com/bquorning)
116
- * [Marc-André Lafortune](https://github.com/marcandre)
117
- * [Daniel Vandersluis](https://github.com/dvandersluis)
118
-
119
- See the [team page](https://docs.rubocop.org/rubocop/about/team.html) for more details.
120
-
121
- ## Logo
122
-
123
- RuboCop's logo was created by [Dimiter Petrov](https://www.chadomoto.com/). You can find the logo in various
124
- formats [here](https://github.com/rubocop/rubocop/tree/master/logo).
125
-
126
- The logo is licensed under a
127
- [Creative Commons Attribution-NonCommercial 4.0 International License](https://creativecommons.org/licenses/by-nc/4.0/deed.en_GB).
128
-
129
- ## Contributors
130
-
131
- Here's a [list](https://github.com/rubocop/rubocop/graphs/contributors) of
132
- all the people who have contributed to the development of RuboCop.
133
-
134
- I'm extremely grateful to each and every one of them!
135
-
136
- If you'd like to contribute to RuboCop, please take the time to go
137
- through our short
138
- [contribution guidelines](CONTRIBUTING.md).
139
-
140
- Converting more of the Ruby Style Guide into RuboCop cops is our top
141
- priority right now. Writing a new cop is a great way to dive into RuboCop!
142
-
143
- Of course, bug reports and suggestions for improvements are always
144
- welcome. GitHub pull requests are even better! :-)
145
-
146
- ## Funding
147
-
148
- While RuboCop is free software and will always be, the project would benefit immensely from some funding.
149
- Raising a monthly budget of a couple of thousand dollars would make it possible to pay people to work on
150
- certain complex features, fund other development related stuff (e.g. hardware, conference trips) and so on.
151
- Raising a monthly budget of over $5000 would open the possibility of someone working full-time on the project
152
- which would speed up the pace of development significantly.
153
-
154
- We welcome both individual and corporate sponsors! We also offer a
155
- wide array of funding channels to account for your preferences
156
- (although
157
- currently [Open Collective](https://opencollective.com/rubocop) is our
158
- preferred funding platform).
159
-
160
- **If you're working in a company that's making significant use of RuboCop we'd appreciate it if you suggest to your company
161
- to become a RuboCop sponsor.**
162
-
163
- You can support the development of RuboCop via
164
- [GitHub Sponsors](https://github.com/sponsors/bbatsov),
165
- [Patreon](https://www.patreon.com/bbatsov),
166
- [PayPal](https://paypal.me/bbatsov),
167
- [Open Collective](https://opencollective.com/rubocop)
168
- and [Tidelift](https://tidelift.com/subscription/pkg/rubygems-rubocop?utm_source=rubygems-rubocop&utm_medium=referral&utm_campaign=readme)
169
- .
170
-
171
- **Note:** If doing a sponsorship in the form of donation is problematic for your company from an accounting standpoint, we'd recommend
172
- the use of Tidelift, where you can get a support-like subscription instead.
173
-
174
- ### Open Collective Backers
175
-
176
- Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/rubocop#backer)]
177
-
178
- <a href="https://opencollective.com/rubocop/backer/0/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/0/avatar.svg"></a>
179
- <a href="https://opencollective.com/rubocop/backer/1/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/1/avatar.svg"></a>
180
- <a href="https://opencollective.com/rubocop/backer/2/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/2/avatar.svg"></a>
181
- <a href="https://opencollective.com/rubocop/backer/3/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/3/avatar.svg"></a>
182
- <a href="https://opencollective.com/rubocop/backer/4/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/4/avatar.svg"></a>
183
- <a href="https://opencollective.com/rubocop/backer/5/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/5/avatar.svg"></a>
184
- <a href="https://opencollective.com/rubocop/backer/6/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/6/avatar.svg"></a>
185
- <a href="https://opencollective.com/rubocop/backer/7/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/7/avatar.svg"></a>
186
- <a href="https://opencollective.com/rubocop/backer/8/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/8/avatar.svg"></a>
187
- <a href="https://opencollective.com/rubocop/backer/9/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/9/avatar.svg"></a>
188
- <a href="https://opencollective.com/rubocop/backer/10/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/10/avatar.svg"></a>
189
- <a href="https://opencollective.com/rubocop/backer/11/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/11/avatar.svg"></a>
190
- <a href="https://opencollective.com/rubocop/backer/12/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/12/avatar.svg"></a>
191
- <a href="https://opencollective.com/rubocop/backer/13/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/13/avatar.svg"></a>
192
- <a href="https://opencollective.com/rubocop/backer/14/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/14/avatar.svg"></a>
193
- <a href="https://opencollective.com/rubocop/backer/15/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/15/avatar.svg"></a>
194
- <a href="https://opencollective.com/rubocop/backer/16/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/16/avatar.svg"></a>
195
- <a href="https://opencollective.com/rubocop/backer/17/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/17/avatar.svg"></a>
196
- <a href="https://opencollective.com/rubocop/backer/18/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/18/avatar.svg"></a>
197
- <a href="https://opencollective.com/rubocop/backer/19/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/19/avatar.svg"></a>
198
- <a href="https://opencollective.com/rubocop/backer/20/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/20/avatar.svg"></a>
199
- <a href="https://opencollective.com/rubocop/backer/21/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/21/avatar.svg"></a>
200
- <a href="https://opencollective.com/rubocop/backer/22/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/22/avatar.svg"></a>
201
- <a href="https://opencollective.com/rubocop/backer/23/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/23/avatar.svg"></a>
202
- <a href="https://opencollective.com/rubocop/backer/24/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/24/avatar.svg"></a>
203
- <a href="https://opencollective.com/rubocop/backer/25/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/25/avatar.svg"></a>
204
- <a href="https://opencollective.com/rubocop/backer/26/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/26/avatar.svg"></a>
205
- <a href="https://opencollective.com/rubocop/backer/27/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/27/avatar.svg"></a>
206
- <a href="https://opencollective.com/rubocop/backer/28/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/28/avatar.svg"></a>
207
- <a href="https://opencollective.com/rubocop/backer/29/website" target="_blank"><img src="https://opencollective.com/rubocop/backer/29/avatar.svg"></a>
208
-
209
- ### Open Collective Sponsors
210
-
211
- Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/rubocop#sponsor)]
212
-
213
- <a href="https://opencollective.com/rubocop/sponsor/0/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/0/avatar.svg"></a>
214
- <a href="https://opencollective.com/rubocop/sponsor/1/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/1/avatar.svg"></a>
215
- <a href="https://opencollective.com/rubocop/sponsor/2/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/2/avatar.svg"></a>
216
- <a href="https://opencollective.com/rubocop/sponsor/3/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/3/avatar.svg"></a>
217
- <a href="https://opencollective.com/rubocop/sponsor/4/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/4/avatar.svg"></a>
218
- <a href="https://opencollective.com/rubocop/sponsor/5/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/5/avatar.svg"></a>
219
- <a href="https://opencollective.com/rubocop/sponsor/6/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/6/avatar.svg"></a>
220
- <a href="https://opencollective.com/rubocop/sponsor/7/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/7/avatar.svg"></a>
221
- <a href="https://opencollective.com/rubocop/sponsor/8/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/8/avatar.svg"></a>
222
- <a href="https://opencollective.com/rubocop/sponsor/9/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/9/avatar.svg"></a>
223
- <a href="https://opencollective.com/rubocop/sponsor/10/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/10/avatar.svg"></a>
224
- <a href="https://opencollective.com/rubocop/sponsor/11/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/11/avatar.svg"></a>
225
- <a href="https://opencollective.com/rubocop/sponsor/12/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/12/avatar.svg"></a>
226
- <a href="https://opencollective.com/rubocop/sponsor/13/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/13/avatar.svg"></a>
227
- <a href="https://opencollective.com/rubocop/sponsor/14/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/14/avatar.svg"></a>
228
- <a href="https://opencollective.com/rubocop/sponsor/15/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/15/avatar.svg"></a>
229
- <a href="https://opencollective.com/rubocop/sponsor/16/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/16/avatar.svg"></a>
230
- <a href="https://opencollective.com/rubocop/sponsor/17/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/17/avatar.svg"></a>
231
- <a href="https://opencollective.com/rubocop/sponsor/18/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/18/avatar.svg"></a>
232
- <a href="https://opencollective.com/rubocop/sponsor/19/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/19/avatar.svg"></a>
233
- <a href="https://opencollective.com/rubocop/sponsor/20/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/20/avatar.svg"></a>
234
- <a href="https://opencollective.com/rubocop/sponsor/21/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/21/avatar.svg"></a>
235
- <a href="https://opencollective.com/rubocop/sponsor/22/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/22/avatar.svg"></a>
236
- <a href="https://opencollective.com/rubocop/sponsor/23/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/23/avatar.svg"></a>
237
- <a href="https://opencollective.com/rubocop/sponsor/24/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/24/avatar.svg"></a>
238
- <a href="https://opencollective.com/rubocop/sponsor/25/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/25/avatar.svg"></a>
239
- <a href="https://opencollective.com/rubocop/sponsor/26/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/26/avatar.svg"></a>
240
- <a href="https://opencollective.com/rubocop/sponsor/27/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/27/avatar.svg"></a>
241
- <a href="https://opencollective.com/rubocop/sponsor/28/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/28/avatar.svg"></a>
242
- <a href="https://opencollective.com/rubocop/sponsor/29/website" target="_blank"><img src="https://opencollective.com/rubocop/sponsor/29/avatar.svg"></a>
243
-
244
- ## Changelog
245
-
246
- RuboCop's changelog is available [here](CHANGELOG.md).
247
-
248
- ## Copyright
249
-
250
- Copyright (c) 2012-2024 Bozhidar Batsov. See [LICENSE.txt](LICENSE.txt) for
251
- further details.