rails-rfc6570 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d64ff59be5c243ac467801b36775e27e670b85ef0bdf404e9feddf1ee3c1c4cd
4
- data.tar.gz: 375ec93eec7b22b23f02d2c1dffba2476792556e8207b891544884d4cbc01155
3
+ metadata.gz: 9da33d88750739a23961a9f48f5b26c2bb5e979a38a73f7646407ce41437a599
4
+ data.tar.gz: f8083a5cbcda1e9fe0b8bea8417161a9ae9940d784098f1507e7cbcf52a73f32
5
5
  SHA512:
6
- metadata.gz: 12890982bffea5d806560c5593224532ef0f2807b18cdc534df9a3eefdd3b2282e2dbaeba03f03e4cea03cabcbd66f652fe78c6cadd44efbeb1ff3a042c620b0
7
- data.tar.gz: 244478acb92ecd39ea948b616ff5ffa7aad051cd0bab37b0088e7926fab380bfabe42ad8ca0264110e4f2547141d399f43ad2254c6420cb04acbb37c57270bf1
6
+ metadata.gz: 4342753841b8c3e94054412f1a275fc67be3ac6d2cde95fe16731e5d920a4e7b5e833c6dd4cb3a9b54f3f33be1ffda3a17a7f4be21e91fac8c5f3e192093da71
7
+ data.tar.gz: 5891d48dd9cbb1fe6a7b9a98b0cee339794d5f1da49cd7fa2e14e4314b22ed9729d1b8e3bd6c50fdfa136a777f8c3f21e3f484391b40d046cbba0059b2dad699
data/CHANGELOG.md CHANGED
@@ -11,17 +11,47 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Ch
11
11
 
12
12
  ### Changes
13
13
 
14
+ - Optimize named `*_rfc6570` helpers by removing unnecessary indirection
15
+ - Optimize `#rfc6570_routes` and `#rfc6570_route` helpers
16
+
14
17
  ### Fixes
15
18
 
19
+ - Fix up `RouteSet#to_rfc6570` and `NamedRouteCollection#to_rfc6570`
20
+
16
21
  ### Breaks
17
22
 
23
+ ## 3.4.0 - (2025-01-31)
24
+
25
+ ---
26
+
27
+ ### New
28
+
29
+ - Support for Ruby 3.4
30
+
31
+ ### Changes
32
+
33
+ - Optimize named `*_rfc6570` helpers by removing unnecessary indirection
34
+ - Optimize `#rfc6570_routes` and `#rfc6570_route` helpers
35
+
36
+ ### Fixes
37
+
38
+ - Fix up `RouteSet#to_rfc6570` and `NamedRouteCollection#to_rfc6570`
39
+
40
+ ## 3.3.0 - (2024-11-25)
41
+
42
+ ---
43
+
44
+ ### New
45
+
46
+ - Support Rails 8.0 by @jgraichen
47
+
18
48
  ## 3.2.0 - (2024-08-24)
19
49
 
20
50
  ---
21
51
 
22
52
  ### New
23
53
 
24
- - Add support for Rails 7.2
54
+ - Add support for Rails 7.2 by @jgraichen
25
55
 
26
56
  ## 3.1.0 - (2023-11-28)
27
57
 
data/README.md CHANGED
@@ -3,7 +3,9 @@
3
3
  [![Gem Version](https://img.shields.io/gem/v/rails-rfc6570?logo=ruby)](https://rubygems.org/gems/rails-rfc6570)
4
4
  [![Build Status](https://img.shields.io/github/actions/workflow/status/jgraichen/rails-rfc6570/test.yml?logo=github)](https://github.com/jgraichen/rails-rfc6570/actions/workflows/test.yml)
5
5
 
6
- Pragmatic access to your Rails routes as RFC6570 URI templates. Tested with Rails 6.1, 7.0, 7.1, 7.2 and Ruby 2.7, 3.0, 3.1, 3.2, 3.3.
6
+ Pragmatic access to your Rails routes as RFC6570 URI templates.
7
+
8
+ Tested with Rails 6.1, 7.0, 7.1, 7.2 and Ruby 2.7, 3.0, 3.1, 3.2, 3.3, and 3.4.
7
9
 
8
10
  ## Installation
9
11
 
@@ -4,7 +4,7 @@ module Rails
4
4
  module RFC6570
5
5
  module VERSION
6
6
  MAJOR = 3
7
- MINOR = 2
7
+ MINOR = 4
8
8
  PATCH = 0
9
9
  STAGE = nil
10
10
 
data/lib/rails/rfc6570.rb CHANGED
@@ -32,14 +32,14 @@ module Rails
32
32
 
33
33
  module Extensions
34
34
  module RouteSet
35
- def to_rfc6570(opts = {})
36
- routes.map {|r| r.to_rfc6570(opts) }
35
+ def to_rfc6570(**opts)
36
+ named_routes.to_rfc6570(**opts)
37
37
  end
38
38
  end
39
39
 
40
40
  module NamedRouteCollection
41
- def to_rfc6570(opts = {})
42
- routes.to_h {|n, r| [n, r.to_rfc6570(opts)] }
41
+ def to_rfc6570(**opts)
42
+ routes.to_h {|name, route| [name, route.to_rfc6570(**opts)] }
43
43
  end
44
44
 
45
45
  def define_rfc6570_helpers(name, route, mod, set)
@@ -53,25 +53,15 @@ module Rails
53
53
 
54
54
  mod.module_eval do
55
55
  define_method(rfc6570_name) do |**opts|
56
- ::Rails::RFC6570.build_url_template(self, route, **opts)
56
+ route.to_rfc6570(**opts, ctx: self)
57
57
  end
58
58
 
59
59
  define_method(rfc6570_url_name) do |**opts|
60
- ::Rails::RFC6570.build_url_template(
61
- self,
62
- route,
63
- **opts,
64
- path_only: false,
65
- )
60
+ route.to_rfc6570(**opts, ctx: self, path_only: false)
66
61
  end
67
62
 
68
63
  define_method(rfc6570_path_name) do |**opts|
69
- ::Rails::RFC6570.build_url_template(
70
- self,
71
- route,
72
- **opts,
73
- path_only: true,
74
- )
64
+ route.to_rfc6570(**opts, ctx: self, path_only: true)
75
65
  end
76
66
  end
77
67
 
@@ -98,16 +88,11 @@ module Rails
98
88
 
99
89
  module Helper
100
90
  def rfc6570_routes(**opts)
101
- routes = {}
102
- Rails.application.routes.named_routes.names.each do |key|
103
- routes[key] = rfc6570_route(key, **opts)
104
- end
105
-
106
- routes
91
+ _routes.named_routes.to_rfc6570(**opts, ctx: self)
107
92
  end
108
93
 
109
94
  def rfc6570_route(name, **opts)
110
- route = Rails.application.routes.named_routes[name]
95
+ route = _routes.named_routes[name]
111
96
  raise KeyError.new "No named routed for `#{name}'." unless route
112
97
 
113
98
  route.to_rfc6570(**opts, ctx: self)
@@ -130,15 +115,11 @@ module Rails
130
115
 
131
116
  def params_for(controller, action)
132
117
  ctr = "#{controller.camelize}Controller".constantize
133
- ctr.rfc6570_defs[action.to_sym] if ctr.respond_to?(:rfc6570_defs)
118
+ ctr.rfc6570_params_for(action.to_sym) if ctr.respond_to?(:rfc6570_params_for)
134
119
  rescue NameError
135
120
  nil
136
121
  end
137
122
 
138
- def build_url_template(ctx, route, **kwargs)
139
- route.to_rfc6570(ctx: ctx, **kwargs)
140
- end
141
-
142
123
  extend self # rubocop:disable Style/ModuleFunction
143
124
  end
144
125
  end
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.required_ruby_version = '>= 2.7'
29
29
 
30
- spec.add_dependency 'actionpack', '>= 4.2', '< 8.0'
30
+ spec.add_dependency 'actionpack', '>= 4.2', '< 8.1'
31
31
  spec.add_dependency 'addressable', '~> 2.3'
32
32
  end
@@ -1,5 +1,10 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
+ # Workaround for missing require "logger" in some Rails versions.
4
+ #
5
+ # See https://github.com/rails/rails/pull/54264.
6
+ require 'logger'
7
+
3
8
  require 'rails/all'
4
9
 
5
10
  Bundler.require(*Rails.groups)
@@ -19,4 +24,3 @@ module Dummy
19
24
  # config.i18n.default_locale = :de
20
25
  end
21
26
  end
22
-
@@ -21,7 +21,7 @@ Dummy::Application.configure do
21
21
  config.action_controller.perform_caching = false
22
22
 
23
23
  # Raise exceptions instead of rendering exception templates.
24
- config.action_dispatch.show_exceptions = false
24
+ config.action_dispatch.show_exceptions = :none
25
25
 
26
26
  # Disable request forgery protection in test environment.
27
27
  config.action_controller.allow_forgery_protection = false
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Rails::RFC6570::Extensions::RouteSet do
6
+ subject(:route_set) do
7
+ ActionDispatch::Routing::RouteSet.new.tap do |routes|
8
+ routes.draw do
9
+ get '/path/:id', to: 'controller#action', as: :test1
10
+ end
11
+ end
12
+ end
13
+
14
+ let(:ctx) do
15
+ Class.new do
16
+ def url_options
17
+ {host: 'www.example.org'}
18
+ end
19
+ end.new
20
+ end
21
+
22
+ describe '#to_rfc6570' do
23
+ it 'returns dictionary of all named routes' do
24
+ expect(route_set.to_rfc6570(ctx: ctx)).to eq({
25
+ test1: Addressable::Template.new('http://www.example.org/path/{id}'),
26
+ })
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Rails::RFC6570::Helper do
6
+ subject(:helper) do
7
+ routes = self.routes
8
+
9
+ Class.new do
10
+ def url_options
11
+ {host: 'www.example.org'}
12
+ end
13
+
14
+ include routes.url_helpers
15
+ include Rails::RFC6570::Helper
16
+ end.new
17
+ end
18
+
19
+ let(:routes) do
20
+ ActionDispatch::Routing::RouteSet.new.tap do |routes|
21
+ routes.draw do
22
+ get '/path/:id', to: 'controller#action', as: :test1
23
+ end
24
+ end
25
+ end
26
+
27
+ describe '#rfc6570_routes' do
28
+ it 'returns dictionary of all named routes' do
29
+ expect(helper.rfc6570_routes).to eq({
30
+ test1: Addressable::Template.new('http://www.example.org/path/{id}'),
31
+ })
32
+ end
33
+ end
34
+
35
+ describe '#rfc6570_route' do
36
+ it 'returns template for named route' do
37
+ expect(helper.rfc6570_route(:test1)).to eq Addressable::Template.new('http://www.example.org/path/{id}')
38
+ end
39
+
40
+ it 'raise KeyError with unknown named route' do
41
+ expect { helper.rfc6570_route(:not_found) }.to raise_error KeyError
42
+ end
43
+ end
44
+ end
@@ -20,12 +20,24 @@ RSpec.describe Rails::RFC6570::Visitor do
20
20
  it { is_expected.to eq %w[/ path / path] }
21
21
  end
22
22
 
23
+ describe '/path.:format' do
24
+ let(:path) { '/path.:format' }
25
+
26
+ it { is_expected.to eq %w[/ path . {format}] }
27
+ end
28
+
23
29
  describe '/:title' do
24
30
  let(:path) { '/:title' }
25
31
 
26
32
  it { is_expected.to eq %w[/ {title}] }
27
33
  end
28
34
 
35
+ describe '/:title.html' do
36
+ let(:path) { '/:title.html' }
37
+
38
+ it { is_expected.to eq %w[/ {title} . html] }
39
+ end
40
+
29
41
  describe '/:title(.:format)' do
30
42
  let(:path) { '/:title(.:format)' }
31
43
 
data/spec/spec_helper.rb CHANGED
@@ -30,4 +30,10 @@ end
30
30
 
31
31
  RSpec.configure do |config|
32
32
  config.order = 'random'
33
+
34
+ # Use the GitHub Annotations formatter for CI
35
+ if ENV['GITHUB_ACTIONS'] == 'true'
36
+ require 'rspec/github'
37
+ config.add_formatter RSpec::Github::Formatter
38
+ end
33
39
  end
@@ -1,31 +1,31 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rubocop-config 11.0.0 ruby lib
2
+ # stub: rubocop-config 13.0.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rubocop-config".freeze
6
- s.version = "11.0.0".freeze
6
+ s.version = "13.0.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.metadata = { "allowed_push_host" => ".", "rubygems_mfa_required" => "true" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["Jan Graichen".freeze]
12
- s.date = "2024-08-24"
12
+ s.date = "2025-01-31"
13
13
  s.email = ["jgraichen@altimos.de".freeze]
14
14
  s.files = ["LICENSE".freeze, "README.md".freeze, "default.yml".freeze]
15
15
  s.homepage = "https://github.com/jgraichen/rubocop-config".freeze
16
16
  s.licenses = ["MIT".freeze]
17
17
  s.required_ruby_version = Gem::Requirement.new(">= 2.7.0".freeze)
18
- s.rubygems_version = "3.5.11".freeze
18
+ s.rubygems_version = "3.6.2".freeze
19
19
  s.summary = "Shared rubocop config".freeze
20
20
 
21
- s.installed_by_version = "3.5.11".freeze if s.respond_to? :installed_by_version
21
+ s.installed_by_version = "3.6.2".freeze
22
22
 
23
23
  s.specification_version = 4
24
24
 
25
- s.add_runtime_dependency(%q<rubocop>.freeze, ["~> 1.65.0".freeze])
26
- s.add_runtime_dependency(%q<rubocop-performance>.freeze, ["~> 1.21.1".freeze])
27
- s.add_runtime_dependency(%q<rubocop-rspec>.freeze, ["~> 3.0.2".freeze])
25
+ s.add_runtime_dependency(%q<rubocop>.freeze, ["~> 1.70.0".freeze])
28
26
  s.add_runtime_dependency(%q<rubocop-capybara>.freeze, ["~> 2.21.0".freeze])
29
27
  s.add_runtime_dependency(%q<rubocop-factory_bot>.freeze, ["~> 2.26.1".freeze])
28
+ s.add_runtime_dependency(%q<rubocop-performance>.freeze, ["~> 1.23.0".freeze])
29
+ s.add_runtime_dependency(%q<rubocop-rspec>.freeze, ["~> 3.3.0".freeze])
30
30
  s.add_runtime_dependency(%q<rubocop-rspec_rails>.freeze, ["~> 2.30.0".freeze])
31
31
  end
@@ -0,0 +1,205 @@
1
+ ## Rails 8.0.1 (December 13, 2024) ##
2
+
3
+ * Add `ActionDispatch::Request::Session#store` method to conform Rack spec.
4
+
5
+ *Yaroslav*
6
+
7
+
8
+ ## Rails 8.0.0.1 (December 10, 2024) ##
9
+
10
+ * Add validation to content security policies to disallow spaces and semicolons.
11
+ Developers should use multiple arguments, and different directive methods instead.
12
+
13
+ [CVE-2024-54133]
14
+
15
+ *Gannon McGibbon*
16
+
17
+
18
+ ## Rails 8.0.0 (November 07, 2024) ##
19
+
20
+ * No changes.
21
+
22
+
23
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
24
+
25
+ * Fix routes with `::` in the path.
26
+
27
+ *Rafael Mendonça França*
28
+
29
+ * Maintain Rack 2 parameter parsing behaviour.
30
+
31
+ *Matthew Draper*
32
+
33
+
34
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
35
+
36
+ * Remove `Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality`.
37
+
38
+ *Rafael Mendonça França*
39
+
40
+ * Improve `ActionController::TestCase` to expose a binary encoded `request.body`.
41
+
42
+ The rack spec clearly states:
43
+
44
+ > The input stream is an IO-like object which contains the raw HTTP POST data.
45
+ > When applicable, its external encoding must be “ASCII-8BIT” and it must be opened in binary mode.
46
+
47
+ Until now its encoding was generally UTF-8, which doesn't accurately reflect production
48
+ behavior.
49
+
50
+ *Jean Boussier*
51
+
52
+ * Update `ActionController::AllowBrowser` to support passing method names to `:block`
53
+
54
+ ```ruby
55
+ class ApplicationController < ActionController::Base
56
+ allow_browser versions: :modern, block: :handle_outdated_browser
57
+
58
+ private
59
+ def handle_outdated_browser
60
+ render file: Rails.root.join("public/custom-error.html"), status: :not_acceptable
61
+ end
62
+ end
63
+ ```
64
+
65
+ *Sean Doyle*
66
+
67
+ * Raise an `ArgumentError` when invalid `:only` or `:except` options are passed into `#resource` and `#resources`.
68
+
69
+ *Joshua Young*
70
+
71
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
72
+
73
+ * Fix non-GET requests not updating cookies in `ActionController::TestCase`.
74
+
75
+ *Jon Moss*, *Hartley McGuire*
76
+
77
+ * Update `ActionController::Live` to use a thread-pool to reuse threads across requests.
78
+
79
+ *Adam Renberg Tamm*
80
+
81
+ * Introduce safer, more explicit params handling method with `params#expect` such that
82
+ `params.expect(table: [ :attr ])` replaces `params.require(:table).permit(:attr)`
83
+
84
+ Ensures params are filtered with consideration for the expected
85
+ types of values, improving handling of params and avoiding ignorable
86
+ errors caused by params tampering.
87
+
88
+ ```ruby
89
+ # If the url is altered to ?person=hacked
90
+ # Before
91
+ params.require(:person).permit(:name, :age, pets: [:name])
92
+ # raises NoMethodError, causing a 500 and potential error reporting
93
+
94
+ # After
95
+ params.expect(person: [ :name, :age, pets: [[:name]] ])
96
+ # raises ActionController::ParameterMissing, correctly returning a 400 error
97
+ ```
98
+
99
+ You may also notice the new double array `[[:name]]`. In order to
100
+ declare when a param is expected to be an array of parameter hashes,
101
+ this new double array syntax is used to explicitly declare an array.
102
+ `expect` requires you to declare expected arrays in this way, and will
103
+ ignore arrays that are passed when, for example, `pet: [:name]` is used.
104
+
105
+ In order to preserve compatibility, `permit` does not adopt the new
106
+ double array syntax and is therefore more permissive about unexpected
107
+ types. Using `expect` everywhere is recommended.
108
+
109
+ We suggest replacing `params.require(:person).permit(:name, :age)`
110
+ with the direct replacement `params.expect(person: [:name, :age])`
111
+ to prevent external users from manipulating params to trigger 500
112
+ errors. A 400 error will be returned instead, using public/400.html
113
+
114
+ Usage of `params.require(:id)` should likewise be replaced with
115
+ `params.expect(:id)` which is designed to ensure that `params[:id]`
116
+ is a scalar and not an array or hash, also requiring the param.
117
+
118
+ ```ruby
119
+ # Before
120
+ User.find(params.require(:id)) # allows an array, altering behavior
121
+
122
+ # After
123
+ User.find(params.expect(:id)) # expect only returns non-blank permitted scalars (excludes Hash, Array, nil, "", etc)
124
+ ```
125
+
126
+ *Martin Emde*
127
+
128
+ * System Testing: Disable Chrome's search engine choice by default in system tests.
129
+
130
+ *glaszig*
131
+
132
+ * Fix `Request#raw_post` raising `NoMethodError` when `rack.input` is `nil`.
133
+
134
+ *Hartley McGuire*
135
+
136
+ * Remove `racc` dependency by manually writing `ActionDispatch::Journey::Scanner`.
137
+
138
+ *Gannon McGibbon*
139
+
140
+ * Speed up `ActionDispatch::Routing::Mapper::Scope#[]` by merging frame hashes.
141
+
142
+ *Gannon McGibbon*
143
+
144
+ * Allow bots to ignore `allow_browser`.
145
+
146
+ *Matthew Nguyen*
147
+
148
+ * Deprecate drawing routes with multiple paths to make routing faster.
149
+ You may use `with_options` or a loop to make drawing multiple paths easier.
150
+
151
+ ```ruby
152
+ # Before
153
+ get "/users", "/other_path", to: "users#index"
154
+
155
+ # After
156
+ get "/users", to: "users#index"
157
+ get "/other_path", to: "users#index"
158
+ ```
159
+
160
+ *Gannon McGibbon*
161
+
162
+ * Make `http_cache_forever` use `immutable: true`
163
+
164
+ *Nate Matykiewicz*
165
+
166
+ * Add `config.action_dispatch.strict_freshness`.
167
+
168
+ When set to `true`, the `ETag` header takes precedence over the `Last-Modified` header when both are present,
169
+ as specified by RFC 7232, Section 6.
170
+
171
+ Defaults to `false` to maintain compatibility with previous versions of Rails, but is enabled as part of
172
+ Rails 8.0 defaults.
173
+
174
+ *heka1024*
175
+
176
+ * Support `immutable` directive in Cache-Control
177
+
178
+ ```ruby
179
+ expires_in 1.minute, public: true, immutable: true
180
+ # Cache-Control: public, max-age=60, immutable
181
+ ```
182
+
183
+ *heka1024*
184
+
185
+ * Add `:wasm_unsafe_eval` mapping for `content_security_policy`
186
+
187
+ ```ruby
188
+ # Before
189
+ policy.script_src "'wasm-unsafe-eval'"
190
+
191
+ # After
192
+ policy.script_src :wasm_unsafe_eval
193
+ ```
194
+
195
+ *Joe Haig*
196
+
197
+ * Add `display_capture` and `keyboard_map` in `permissions_policy`
198
+
199
+ *Cyril Blaecke*
200
+
201
+ * Add `connect` route helper.
202
+
203
+ *Samuel Williams*
204
+
205
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionpack/CHANGELOG.md) for previous changes.
@@ -0,0 +1,67 @@
1
+ ## Rails 8.0.1 (December 13, 2024) ##
2
+
3
+ * Fix a crash in ERB template error highlighting when the error occurs on a
4
+ line in the compiled template that is past the end of the source template.
5
+
6
+ *Martin Emde*
7
+
8
+ * Improve reliability of ERB template error highlighting.
9
+ Fix infinite loops and crashes in highlighting and
10
+ improve tolerance for alternate ERB handlers.
11
+
12
+ *Martin Emde*
13
+
14
+
15
+ ## Rails 8.0.0.1 (December 10, 2024) ##
16
+
17
+ * No changes.
18
+
19
+
20
+ ## Rails 8.0.0 (November 07, 2024) ##
21
+
22
+ * No changes.
23
+
24
+
25
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
26
+
27
+ * No changes.
28
+
29
+
30
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
31
+
32
+ * Remove deprecated support to passing a content to void tag elements on the `tag` builder.
33
+
34
+ *Rafael Mendonça França*
35
+
36
+ * Remove deprecated support to passing `nil` to the `model:` argument of `form_with`.
37
+
38
+ *Rafael Mendonça França*
39
+
40
+
41
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
42
+
43
+ * Enable DependencyTracker to evaluate renders with trailing interpolation.
44
+
45
+ ```erb
46
+ <%= render "maintenance_tasks/runs/info/#{run.status}" %>
47
+ ```
48
+
49
+ Previously, the DependencyTracker would ignore this render, but now it will
50
+ mark all partials in the "maintenance_tasks/runs/info" folder as
51
+ dependencies.
52
+
53
+ *Hartley McGuire*
54
+
55
+ * Rename `text_area` methods into `textarea`
56
+
57
+ Old names are still available as aliases.
58
+
59
+ *Sean Doyle*
60
+
61
+ * Rename `check_box*` methods into `checkbox*`.
62
+
63
+ Old names are still available as aliases.
64
+
65
+ *Jean Boussier*
66
+
67
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionview/CHANGELOG.md) for previous changes.