acfs 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/acfs.gemspec +1 -1
  5. data/lib/acfs/location.rb +2 -2
  6. data/lib/acfs/middleware/json.rb +3 -3
  7. data/lib/acfs/request.rb +1 -0
  8. data/lib/acfs/resource/attributes.rb +1 -1
  9. data/lib/acfs/stub.rb +1 -1
  10. data/lib/acfs/version.rb +2 -2
  11. data/lib/acfs.rb +3 -4
  12. data/spec/acfs/collection_spec.rb +16 -10
  13. data/spec/acfs/global_spec.rb +2 -2
  14. data/spec/acfs/middleware/json_spec.rb +16 -0
  15. data/spec/acfs/operation_spec.rb +2 -2
  16. data/spec/acfs/request/callbacks_spec.rb +2 -2
  17. data/spec/acfs/resource/locatable_spec.rb +5 -11
  18. data/spec/acfs/resource/query_methods_spec.rb +1 -1
  19. data/spec/acfs/resource/validation_spec.rb +3 -4
  20. data/spec/acfs/runner_spec.rb +6 -6
  21. data/spec/acfs/stub_spec.rb +6 -4
  22. data/spec/acfs_spec.rb +4 -4
  23. data/vendor/bundle/ruby/4.0.0/bundler/gems/rubocop-config-2b861962124a/README.md +23 -0
  24. data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/rubocop-config.gemspec +11 -11
  25. data/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.3/CHANGELOG.md +514 -0
  26. data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/README.rdoc +1 -1
  27. data/vendor/bundle/ruby/4.0.0/gems/actionview-8.1.3/CHANGELOG.md +191 -0
  28. data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/README.rdoc +1 -1
  29. data/vendor/bundle/ruby/4.0.0/gems/activemodel-8.1.3/CHANGELOG.md +68 -0
  30. data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/README.rdoc +1 -1
  31. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +561 -0
  32. data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/README.rdoc +1 -1
  33. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md +71 -46
  34. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md +6 -6
  35. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  36. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  37. data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/bigdecimal.gemspec +6 -1
  38. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/CHANGELOG.md +12 -0
  39. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/README.md +4 -2
  40. data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/README.md +49 -34
  41. data/vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/connection_pool.gemspec +35 -0
  42. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/CHANGELOG.md +27 -0
  43. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/README.md +1 -1
  44. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +21 -0
  45. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +409 -0
  46. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  47. data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/drb-2.2.3}/drb.gemspec +2 -1
  48. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/CHANGELOG.md +43 -1
  49. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/README.md +1 -1
  50. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/ethon.gemspec +37 -0
  51. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/CHANGELOG.md +42 -0
  52. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/README.md +1 -0
  53. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/ffi.gemspec +7 -6
  54. data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/README.md +26 -1
  55. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +127 -0
  56. data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/README.md +13 -1
  57. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/README.md +43 -1
  58. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/json.gemspec +2 -3
  59. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  60. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  61. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  62. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  63. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  64. data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/CHANGELOG.md +17 -0
  65. data/vendor/bundle/ruby/{3.4.0/gems/minitest-5.25.4 → 4.0.0/gems/minitest-6.0.6}/README.rdoc +33 -105
  66. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/ChangeLog +383 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/LICENSE +177 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/README.md +302 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/msgpack.gemspec +41 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +20 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +281 -0
  72. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +187 -0
  73. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/README.md +18 -3
  74. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +219 -0
  75. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/README.md +1 -2
  76. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/CHANGELOG.md +110 -0
  77. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/README.md +1 -1
  78. data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +20 -0
  79. data/vendor/bundle/ruby/{3.4.0/gems/rspec-collection_matchers-1.2.1 → 4.0.0/gems/parser-3.3.11.1}/LICENSE.txt +4 -5
  80. data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/parser.gemspec +43 -0
  81. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  82. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +7 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +143 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/prism.gemspec +172 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +649 -0
  86. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/LICENSE.txt +1 -1
  87. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/README.md +38 -29
  88. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/CHANGELOG.md +338 -4
  89. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/README.md +76 -20
  90. data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/README.md +3 -0
  91. data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/CHANGELOG.md +10 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  94. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  95. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/README.rdoc +5 -5
  96. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/rake.gemspec +3 -2
  97. data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/rake-release.gemspec +4 -4
  98. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +22 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/regexp_parser.gemspec +36 -0
  100. data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/Changelog.md +24 -2
  101. data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/Changelog.md +154 -140
  102. data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/Changelog.md +181 -129
  103. data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/Changelog.md +101 -65
  104. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +20 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +255 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +20 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +54 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +116 -0
  109. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +21 -0
  110. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +91 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +135 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +21 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +91 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +20 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +100 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +1136 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +21 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +112 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +98 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +21 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +93 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +974 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +202 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +65 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/simplecov-cobertura.gemspec +29 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  135. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/README.md +1 -2
  136. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/thor.gemspec +3 -3
  137. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/CHANGELOG.md +56 -1
  138. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/README.md +2 -2
  139. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/typhoeus.gemspec +14 -4
  140. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  141. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  142. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  143. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +205 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/unicode-emoji.gemspec +22 -0
  147. data/vendor/bundle/ruby/{3.4.0/gems/uri-1.0.2 → 4.0.0/gems/uri-1.1.1}/README.md +1 -1
  148. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/CHANGELOG.md +38 -0
  149. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/README.md +6 -0
  150. data/vendor/bundle/ruby/{3.4.0/specifications/actionpack-8.0.1.gemspec → 4.0.0/specifications/actionpack-8.1.3.gemspec} +9 -9
  151. data/vendor/bundle/ruby/{3.4.0/specifications/actionview-8.0.1.gemspec → 4.0.0/specifications/actionview-8.1.3.gemspec} +9 -9
  152. data/vendor/bundle/ruby/{3.4.0/specifications/activemodel-8.0.1.gemspec → 4.0.0/specifications/activemodel-8.1.3.gemspec} +7 -7
  153. data/vendor/bundle/ruby/{3.4.0/specifications/activesupport-8.0.1.gemspec → 4.0.0/specifications/activesupport-8.1.3.gemspec} +7 -7
  154. data/vendor/bundle/ruby/{3.4.0/specifications/addressable-2.8.7.gemspec → 4.0.0/specifications/addressable-2.9.0.gemspec} +7 -8
  155. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/appraisal-2.5.0.gemspec +1 -1
  156. data/vendor/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  157. data/vendor/bundle/ruby/{3.4.0/specifications/base64-0.2.0.gemspec → 4.0.0/specifications/base64-0.3.0.gemspec} +6 -6
  158. data/vendor/bundle/ruby/{3.4.0/specifications/bigdecimal-3.1.9.gemspec → 4.0.0/specifications/bigdecimal-4.1.2.gemspec} +6 -6
  159. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/builder-3.3.0.gemspec +1 -1
  160. data/vendor/bundle/ruby/{3.4.0/specifications/concurrent-ruby-1.3.5.gemspec → 4.0.0/specifications/concurrent-ruby-1.3.7.gemspec} +6 -6
  161. data/vendor/bundle/ruby/{3.4.0/specifications/connection_pool-2.5.0.gemspec → 4.0.0/specifications/connection_pool-3.0.2.gemspec} +8 -8
  162. data/vendor/bundle/ruby/{3.4.0/specifications/crack-1.0.0.gemspec → 4.0.0/specifications/crack-1.0.1.gemspec} +4 -4
  163. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/crass-1.0.6.gemspec +1 -1
  164. data/vendor/bundle/ruby/{3.4.0/specifications/diff-lcs-1.6.0.gemspec → 4.0.0/specifications/diff-lcs-1.6.2.gemspec} +11 -14
  165. data/vendor/bundle/ruby/4.0.0/specifications/docile-1.4.1.gemspec +22 -0
  166. data/vendor/bundle/ruby/{3.4.0/specifications/drb-2.2.1.gemspec → 4.0.0/specifications/drb-2.2.3.gemspec} +6 -6
  167. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/erubi-1.13.1.gemspec +1 -1
  168. data/vendor/bundle/ruby/4.0.0/specifications/ethon-0.18.0.gemspec +27 -0
  169. data/vendor/bundle/ruby/{3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec → 4.0.0/specifications/ffi-1.17.4-x86_64-linux-gnu.gemspec} +7 -14
  170. data/vendor/bundle/ruby/{3.4.0/specifications/hashdiff-1.1.2.gemspec → 4.0.0/specifications/hashdiff-1.2.1.gemspec} +4 -4
  171. data/vendor/bundle/ruby/{3.4.0/specifications/i18n-1.14.7.gemspec → 4.0.0/specifications/i18n-1.15.2.gemspec} +6 -6
  172. data/vendor/bundle/ruby/{3.4.0/specifications/json-2.10.1.gemspec → 4.0.0/specifications/json-2.19.9.gemspec} +0 -0
  173. data/vendor/bundle/ruby/4.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +31 -0
  174. data/vendor/bundle/ruby/4.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  175. data/vendor/bundle/ruby/{3.4.0/specifications/logger-1.6.6.gemspec → 4.0.0/specifications/logger-1.7.0.gemspec} +4 -4
  176. data/vendor/bundle/ruby/{3.4.0/specifications/loofah-2.24.0.gemspec → 4.0.0/specifications/loofah-2.25.1.gemspec} +5 -5
  177. data/vendor/bundle/ruby/4.0.0/specifications/minitest-6.0.6.gemspec +35 -0
  178. data/vendor/bundle/ruby/4.0.0/specifications/msgpack-1.8.3.gemspec +36 -0
  179. data/vendor/bundle/ruby/4.0.0/specifications/multi_json-1.21.1.gemspec +22 -0
  180. data/vendor/bundle/ruby/{3.4.0/specifications/nokogiri-1.18.2-x86_64-linux-gnu.gemspec → 4.0.0/specifications/nokogiri-1.19.4-x86_64-linux-gnu.gemspec} +7 -7
  181. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-api-1.4.0.gemspec → 4.0.0/specifications/opentelemetry-api-1.10.0.gemspec} +11 -11
  182. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-common-0.21.0.gemspec → 4.0.0/specifications/opentelemetry-common-0.25.0.gemspec} +9 -10
  183. data/vendor/bundle/ruby/4.0.0/specifications/parallel-2.1.0.gemspec +21 -0
  184. data/vendor/bundle/ruby/4.0.0/specifications/parser-3.3.11.1.gemspec +37 -0
  185. data/vendor/bundle/ruby/4.0.0/specifications/prism-1.9.0.gemspec +24 -0
  186. data/vendor/bundle/ruby/{3.4.0/specifications/public_suffix-6.0.1.gemspec → 4.0.0/specifications/public_suffix-7.0.5.gemspec} +7 -7
  187. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/racc-1.8.1.gemspec +1 -1
  188. data/vendor/bundle/ruby/{3.4.0/specifications/rack-3.1.10.gemspec → 4.0.0/specifications/rack-3.2.6.gemspec} +7 -7
  189. data/vendor/bundle/ruby/{3.4.0/specifications/rack-session-2.1.0.gemspec → 4.0.0/specifications/rack-session-2.1.2.gemspec} +5 -5
  190. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/rack-test-2.2.0.gemspec +1 -1
  191. data/vendor/bundle/ruby/{3.4.0/specifications/rails-dom-testing-2.2.0.gemspec → 4.0.0/specifications/rails-dom-testing-2.3.0.gemspec} +5 -5
  192. data/vendor/bundle/ruby/{3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec → 4.0.0/specifications/rails-html-sanitizer-1.7.0.gemspec} +7 -7
  193. data/vendor/bundle/ruby/4.0.0/specifications/rainbow-3.1.1.gemspec +25 -0
  194. data/vendor/bundle/ruby/{3.4.0/specifications/rake-13.2.1.gemspec → 4.0.0/specifications/rake-13.4.2.gemspec} +6 -6
  195. data/vendor/bundle/ruby/{3.4.0/specifications/rake-release-1.3.0.gemspec → 4.0.0/specifications/rake-release-1.4.0.gemspec} +7 -7
  196. data/vendor/bundle/ruby/4.0.0/specifications/regexp_parser-2.12.0.gemspec +22 -0
  197. data/vendor/bundle/ruby/{3.4.0/specifications/rexml-3.4.0.gemspec → 4.0.0/specifications/rexml-3.4.4.gemspec} +6 -6
  198. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-3.13.0.gemspec → 4.0.0/specifications/rspec-3.13.2.gemspec} +9 -9
  199. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-core-3.13.3.gemspec → 4.0.0/specifications/rspec-core-3.13.6.gemspec} +8 -8
  200. data/vendor/bundle/ruby/4.0.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
  201. data/vendor/bundle/ruby/4.0.0/specifications/rspec-mocks-3.13.8.gemspec +29 -0
  202. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-support-3.13.2.gemspec → 4.0.0/specifications/rspec-support-3.13.7.gemspec} +9 -9
  203. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-1.88.0.gemspec +39 -0
  204. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-ast-1.49.1.gemspec +29 -0
  205. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-capybara-2.23.0.gemspec +28 -0
  206. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-factory_bot-2.28.0.gemspec +28 -0
  207. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-performance-1.26.1.gemspec +30 -0
  208. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec-3.10.2.gemspec +30 -0
  209. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec_rails-2.32.0.gemspec +29 -0
  210. data/vendor/bundle/ruby/4.0.0/specifications/ruby-progressbar-1.13.0.gemspec +29 -0
  211. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/securerandom-0.4.1.gemspec +1 -1
  212. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-0.22.0.gemspec +28 -0
  213. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-cobertura-3.2.0.gemspec +29 -0
  214. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  215. data/vendor/bundle/ruby/4.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  216. data/vendor/bundle/ruby/{3.4.0/specifications/thor-1.3.2.gemspec → 4.0.0/specifications/thor-1.5.0.gemspec} +8 -8
  217. data/vendor/bundle/ruby/4.0.0/specifications/typhoeus-1.6.0.gemspec +26 -0
  218. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/tzinfo-2.0.6.gemspec +1 -1
  219. data/vendor/bundle/ruby/4.0.0/specifications/unicode-display_width-3.2.0.gemspec +30 -0
  220. data/vendor/bundle/ruby/4.0.0/specifications/unicode-emoji-4.2.0.gemspec +22 -0
  221. data/vendor/bundle/ruby/{3.4.0/specifications/uri-1.0.2.gemspec → 4.0.0/specifications/uri-1.1.1.gemspec} +5 -5
  222. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/useragent-0.16.11.gemspec +1 -1
  223. data/vendor/bundle/ruby/{3.4.0/specifications/webmock-3.25.0.gemspec → 4.0.0/specifications/webmock-3.26.2.gemspec} +7 -8
  224. metadata +277 -206
  225. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +0 -23
  226. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +0 -205
  227. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +0 -67
  228. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +0 -110
  229. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +0 -157
  230. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +0 -28
  231. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +0 -138
  232. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +0 -32
  233. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +0 -24
  234. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +0 -26
  235. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +0 -119
  236. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.6/logger.gemspec +0 -28
  237. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +0 -275
  238. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +0 -20
  239. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +0 -121
  240. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-api-1.4.0/CHANGELOG.md +0 -188
  241. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-common-0.21.0/CHANGELOG.md +0 -94
  242. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +0 -491
  243. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +0 -22
  244. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +0 -68
  245. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +0 -76
  246. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +0 -33
  247. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +0 -73
  248. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +0 -27
  249. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +0 -104
  250. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +0 -31
  251. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +0 -23
  252. data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +0 -24
  253. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +0 -31
  254. data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +0 -26
  255. data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +0 -27
  256. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +0 -33
  257. data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +0 -27
  258. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +0 -33
  259. data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +0 -24
  260. /data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/LICENSE +0 -0
  261. /data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/MIT-LICENSE +0 -0
  262. /data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/MIT-LICENSE +0 -0
  263. /data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/MIT-LICENSE +0 -0
  264. /data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/MIT-LICENSE +0 -0
  265. /data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/LICENSE.txt +0 -0
  266. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/MIT-LICENSE +0 -0
  267. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/README.md +0 -0
  268. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/appraisal.gemspec +0 -0
  269. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/base64-0.3.0}/README.md +0 -0
  270. /data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/LICENSE +0 -0
  271. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/MIT-LICENSE +0 -0
  272. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/README.md +0 -0
  273. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/builder.gemspec +0 -0
  274. /data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/LICENSE.txt +0 -0
  275. /data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/LICENSE +0 -0
  276. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/LICENSE +0 -0
  277. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/README.md +0 -0
  278. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/LICENSE +0 -0
  279. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/README.md +0 -0
  280. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/crass.gemspec +0 -0
  281. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/drb-2.2.3}/LICENSE.txt +0 -0
  282. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/CHANGELOG +0 -0
  283. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/MIT-LICENSE +0 -0
  284. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/README.rdoc +0 -0
  285. /data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/LICENSE +0 -0
  286. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE +0 -0
  287. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  288. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/LICENSE +0 -0
  289. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/hashdiff.gemspec +0 -0
  290. /data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/MIT-LICENSE +0 -0
  291. /data/vendor/bundle/ruby/{3.4.0/gems/logger-1.6.6 → 4.0.0/gems/logger-1.7.0}/README.md +0 -0
  292. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/MIT-LICENSE.txt +0 -0
  293. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/README.md +0 -0
  294. /data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE.md +0 -0
  295. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/LICENSE +0 -0
  296. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/LICENSE +0 -0
  297. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/ChangeLog +0 -0
  298. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.ja.rdoc +0 -0
  299. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.rdoc +0 -0
  300. /data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/MIT-LICENSE +0 -0
  301. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/license.md +0 -0
  302. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/readme.md +0 -0
  303. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/MIT-LICENSE.txt +0 -0
  304. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/README.md +0 -0
  305. /data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/MIT-LICENSE +0 -0
  306. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/MIT-LICENSE +0 -0
  307. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/README.md +0 -0
  308. /data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/MIT-LICENSE +0 -0
  309. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/LICENSE +0 -0
  310. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/README.md +0 -0
  311. /data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
  312. /data/vendor/bundle/ruby/{3.4.0/gems/rexml-3.4.0 → 4.0.0/gems/rexml-3.4.4}/README.md +0 -0
  313. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/LICENSE.md +0 -0
  314. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/README.md +0 -0
  315. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/LICENSE.md +0 -0
  316. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/README.md +0 -0
  317. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/LICENSE.md +0 -0
  318. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/README.md +0 -0
  319. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/LICENSE.md +0 -0
  320. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/README.md +0 -0
  321. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/LICENSE.md +0 -0
  322. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/README.md +0 -0
  323. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/securerandom-0.4.1/README.md +0 -0
  324. /data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/LICENSE.md +0 -0
  325. /data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/LICENSE +0 -0
  326. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  327. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/README.md +0 -0
  328. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/LICENSE +0 -0
  329. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/README.md +0 -0
  330. /data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/LICENSE +0 -0
@@ -1,205 +0,0 @@
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.
@@ -1,67 +0,0 @@
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.
@@ -1,110 +0,0 @@
1
- ## Rails 8.0.1 (December 13, 2024) ##
2
-
3
- * No changes.
4
-
5
-
6
- ## Rails 8.0.0.1 (December 10, 2024) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 8.0.0 (November 07, 2024) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 8.0.0.rc2 (October 30, 2024) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 8.0.0.rc1 (October 19, 2024) ##
22
-
23
- * Add `:except_on` option for validations. Grants the ability to _skip_ validations in specified contexts.
24
-
25
- ```ruby
26
- class User < ApplicationRecord
27
- #...
28
- validates :birthday, presence: { except_on: :admin }
29
- #...
30
- end
31
-
32
- user = User.new(attributes except birthday)
33
- user.save(context: :admin)
34
- ```
35
-
36
- *Drew Bragg*
37
-
38
- ## Rails 8.0.0.beta1 (September 26, 2024) ##
39
-
40
- * Make `ActiveModel::Serialization#read_attribute_for_serialization` public
41
-
42
- *Sean Doyle*
43
-
44
- * Add a default token generator for password reset tokens when using `has_secure_password`.
45
-
46
- ```ruby
47
- class User < ApplicationRecord
48
- has_secure_password
49
- end
50
-
51
- user = User.create!(name: "david", password: "123", password_confirmation: "123")
52
- token = user.password_reset_token
53
- User.find_by_password_reset_token(token) # returns user
54
-
55
- # 16 minutes later...
56
- User.find_by_password_reset_token(token) # returns nil
57
-
58
- # raises ActiveSupport::MessageVerifier::InvalidSignature since the token is expired
59
- User.find_by_password_reset_token!(token)
60
- ```
61
-
62
- *DHH*
63
-
64
- * Add a load hook `active_model_translation` for `ActiveModel::Translation`.
65
-
66
- *Shouichi Kamiya*
67
-
68
- * Add `raise_on_missing_translations` option to `ActiveModel::Translation`.
69
- When the option is set, `human_attribute_name` raises an error if a translation of the given attribute is missing.
70
-
71
- ```ruby
72
- # ActiveModel::Translation.raise_on_missing_translations = false
73
- Post.human_attribute_name("title")
74
- => "Title"
75
-
76
- # ActiveModel::Translation.raise_on_missing_translations = true
77
- Post.human_attribute_name("title")
78
- => Translation missing. Options considered were: (I18n::MissingTranslationData)
79
- - en.activerecord.attributes.post.title
80
- - en.attributes.title
81
-
82
- raise exception.respond_to?(:to_exception) ? exception.to_exception : exception
83
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
84
- ```
85
-
86
- *Shouichi Kamiya*
87
-
88
- * Introduce `ActiveModel::AttributeAssignment#attribute_writer_missing`
89
-
90
- Provide instances with an opportunity to gracefully handle assigning to an
91
- unknown attribute:
92
-
93
- ```ruby
94
- class Rectangle
95
- include ActiveModel::AttributeAssignment
96
-
97
- attr_accessor :length, :width
98
-
99
- def attribute_writer_missing(name, value)
100
- Rails.logger.warn "Tried to assign to unknown attribute #{name}"
101
- end
102
- end
103
-
104
- rectangle = Rectangle.new
105
- rectangle.assign_attributes(height: 10) # => Logs "Tried to assign to unknown attribute 'height'"
106
- ```
107
-
108
- *Sean Doyle*
109
-
110
- Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activemodel/CHANGELOG.md) for previous changes.
@@ -1,157 +0,0 @@
1
- ## Rails 8.0.1 (December 13, 2024) ##
2
-
3
- * Fix a bug in `ERB::Util.tokenize` that causes incorrect tokenization when ERB tags are preceeded by multibyte characters.
4
-
5
- *Martin Emde*
6
-
7
- * Restore the ability to decorate methods generated by `class_attribute`.
8
-
9
- It always has been complicated to use Module#prepend or an alias method chain
10
- to decorate methods defined by `class_attribute`, but became even harder in 8.0.
11
-
12
- This capability is now supported for both reader and writer methods.
13
-
14
- *Jean Boussier*
15
-
16
-
17
- ## Rails 8.0.0.1 (December 10, 2024) ##
18
-
19
- * No changes.
20
-
21
-
22
- ## Rails 8.0.0 (November 07, 2024) ##
23
-
24
- * No changes.
25
-
26
-
27
- ## Rails 8.0.0.rc2 (October 30, 2024) ##
28
-
29
- * No changes.
30
-
31
-
32
- ## Rails 8.0.0.rc1 (October 19, 2024) ##
33
-
34
- * Remove deprecated support to passing an array of strings to `ActiveSupport::Deprecation#warn`.
35
-
36
- *Rafael Mendonça França*
37
-
38
- * Remove deprecated support to setting `attr_internal_naming_format` with a `@` prefix.
39
-
40
- *Rafael Mendonça França*
41
-
42
- * Remove deprecated `ActiveSupport::ProxyObject`.
43
-
44
- *Rafael Mendonça França*
45
-
46
- * Don't execute i18n watcher on boot. It shouldn't catch any file changes initially,
47
- and unnecessarily slows down boot of applications with lots of translations.
48
-
49
- *Gannon McGibbon*, *David Stosik*
50
-
51
- * Fix `ActiveSupport::HashWithIndifferentAccess#stringify_keys` to stringify all keys not just symbols.
52
-
53
- Previously:
54
-
55
- ```ruby
56
- { 1 => 2 }.with_indifferent_access.stringify_keys[1] # => 2
57
- ```
58
-
59
- After this change:
60
-
61
- ```ruby
62
- { 1 => 2 }.with_indifferent_access.stringify_keys["1"] # => 2
63
- ```
64
-
65
- This change can be seen as a bug fix, but since it behaved like this for a very long time, we're deciding
66
- to not backport the fix and to make the change in a major release.
67
-
68
- *Jean Boussier*
69
-
70
- ## Rails 8.0.0.beta1 (September 26, 2024) ##
71
-
72
- * Include options when instrumenting `ActiveSupport::Cache::Store#delete` and `ActiveSupport::Cache::Store#delete_multi`.
73
-
74
- *Adam Renberg Tamm*
75
-
76
- * Print test names when running `rails test -v` for parallel tests.
77
-
78
- *John Hawthorn*, *Abeid Ahmed*
79
-
80
- * Deprecate `Benchmark.ms` core extension.
81
-
82
- The `benchmark` gem will become bundled in Ruby 3.5
83
-
84
- *Earlopain*
85
-
86
- * `ActiveSupport::TimeWithZone#inspect` now uses ISO 8601 style time like `Time#inspect`
87
-
88
- *John Hawthorn*
89
-
90
- * `ActiveSupport::ErrorReporter#report` now assigns a backtrace to unraised exceptions.
91
-
92
- Previously reporting an un-raised exception would result in an error report without
93
- a backtrace. Now it automatically generates one.
94
-
95
- *Jean Boussier*
96
-
97
- * Add `escape_html_entities` option to `ActiveSupport::JSON.encode`.
98
-
99
- This allows for overriding the global configuration found at
100
- `ActiveSupport.escape_html_entities_in_json` for specific calls to `to_json`.
101
-
102
- This should be usable from controllers in the following manner:
103
- ```ruby
104
- class MyController < ApplicationController
105
- def index
106
- render json: { hello: "world" }, escape_html_entities: false
107
- end
108
- end
109
- ```
110
-
111
- *Nigel Baillie*
112
-
113
- * Raise when using key which can't respond to `#to_sym` in `EncryptedConfiguration`.
114
-
115
- As is the case when trying to use an Integer or Float as a key, which is unsupported.
116
-
117
- *zzak*
118
-
119
- * Deprecate addition and since between two `Time` and `ActiveSupport::TimeWithZone`.
120
-
121
- Previously adding time instances together such as `10.days.ago + 10.days.ago` or `10.days.ago.since(10.days.ago)` produced a nonsensical future date. This behavior is deprecated and will be removed in Rails 8.1.
122
-
123
- *Nick Schwaderer*
124
-
125
- * Support rfc2822 format for Time#to_fs & Date#to_fs.
126
-
127
- *Akshay Birajdar*
128
-
129
- * Optimize load time for `Railtie#initialize_i18n`. Filter `I18n.load_path`s passed to the file watcher to only those
130
- under `Rails.root`. Previously the watcher would grab all available locales, including those in gems
131
- which do not require a watcher because they won't change.
132
-
133
- *Nick Schwaderer*
134
-
135
- * Add a `filter` option to `in_order_of` to prioritize certain values in the sorting without filtering the results
136
- by these values.
137
-
138
- *Igor Depolli*
139
-
140
- * Improve error message when using `assert_difference` or `assert_changes` with a
141
- proc by printing the proc's source code (MRI only).
142
-
143
- *Richard Böhme*, *Jean Boussier*
144
-
145
- * Add a new configuration value `:zone` for `ActiveSupport.to_time_preserves_timezone` and rename the previous `true` value to `:offset`. The new default value is `:zone`.
146
-
147
- *Jason Kim*, *John Hawthorn*
148
-
149
- * Align instrumentation `payload[:key]` in ActiveSupport::Cache to follow the same pattern, with namespaced and normalized keys.
150
-
151
- *Frederik Erbs Spang Thomsen*
152
-
153
- * Fix `travel_to` to set usec 0 when `with_usec` is `false` and the given argument String or DateTime.
154
-
155
- *mopp*
156
-
157
- Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activesupport/CHANGELOG.md) for previous changes.
@@ -1,28 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- # stub: addressable 2.8.7 ruby lib
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "addressable".freeze
6
- s.version = "2.8.7".freeze
7
-
8
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
- s.metadata = { "changelog_uri" => "https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md#v2.8.7" } if s.respond_to? :metadata=
10
- s.require_paths = ["lib".freeze]
11
- s.authors = ["Bob Aman".freeze]
12
- s.date = "2024-06-21"
13
- s.description = "Addressable is an alternative implementation to the URI implementation that is\npart of Ruby's standard library. It is flexible, offers heuristic parsing, and\nadditionally provides extensive support for IRIs and URI templates.\n".freeze
14
- s.email = "bob@sporkmonger.com".freeze
15
- s.extra_rdoc_files = ["README.md".freeze]
16
- s.files = ["CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "addressable.gemspec".freeze, "data/unicode.data".freeze, "lib/addressable.rb".freeze, "lib/addressable/idna.rb".freeze, "lib/addressable/idna/native.rb".freeze, "lib/addressable/idna/pure.rb".freeze, "lib/addressable/template.rb".freeze, "lib/addressable/uri.rb".freeze, "lib/addressable/version.rb".freeze, "spec/addressable/idna_spec.rb".freeze, "spec/addressable/net_http_compat_spec.rb".freeze, "spec/addressable/security_spec.rb".freeze, "spec/addressable/template_spec.rb".freeze, "spec/addressable/uri_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tasks/clobber.rake".freeze, "tasks/gem.rake".freeze, "tasks/git.rake".freeze, "tasks/metrics.rake".freeze, "tasks/profile.rake".freeze, "tasks/rspec.rake".freeze, "tasks/yard.rake".freeze]
17
- s.homepage = "https://github.com/sporkmonger/addressable".freeze
18
- s.licenses = ["Apache-2.0".freeze]
19
- s.rdoc_options = ["--main".freeze, "README.md".freeze]
20
- s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze)
21
- s.rubygems_version = "3.5.11".freeze
22
- s.summary = "URI Implementation".freeze
23
-
24
- s.specification_version = 4
25
-
26
- s.add_runtime_dependency(%q<public_suffix>.freeze, [">= 2.0.2".freeze, "< 7.0".freeze])
27
- s.add_development_dependency(%q<bundler>.freeze, [">= 1.0".freeze, "< 3.0".freeze])
28
- end
@@ -1,138 +0,0 @@
1
- # Benchmark
2
-
3
- The Benchmark module provides methods for benchmarking Ruby code, giving detailed reports on the time taken for each task.
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'benchmark'
11
- ```
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install benchmark
20
-
21
- ## Usage
22
-
23
- The Benchmark module provides methods to measure and report the time used to execute Ruby code.
24
-
25
- Measure the time to construct the string given by the expression <code>"a"*1_000_000_000</code>:
26
-
27
- ```ruby
28
- require 'benchmark'
29
- puts Benchmark.measure { "a"*1_000_000_000 }
30
- ```
31
-
32
- On my machine (OSX 10.8.3 on i5 1.7 GHz) this generates:
33
-
34
- ```
35
- 0.350000 0.400000 0.750000 ( 0.835234)
36
- ```
37
-
38
- This report shows the user CPU time, system CPU time, the sum of the user and system CPU times, and the elapsed real time. The unit of time is seconds.
39
-
40
- Do some experiments sequentially using the #bm method:
41
-
42
- ```ruby
43
- require 'benchmark'
44
- n = 5000000
45
- Benchmark.bm do |x|
46
- x.report { for i in 1..n; a = "1"; end }
47
- x.report { n.times do ; a = "1"; end }
48
- x.report { 1.upto(n) do ; a = "1"; end }
49
- end
50
- ```
51
-
52
- The result:
53
-
54
- ```
55
- user system total real
56
- 1.010000 0.000000 1.010000 ( 1.014479)
57
- 1.000000 0.000000 1.000000 ( 0.998261)
58
- 0.980000 0.000000 0.980000 ( 0.981335)
59
- ```
60
-
61
- Continuing the previous example, put a label in each report:
62
-
63
- ```ruby
64
- require 'benchmark'
65
- n = 5000000
66
- Benchmark.bm(7) do |x|
67
- x.report("for:") { for i in 1..n; a = "1"; end }
68
- x.report("times:") { n.times do ; a = "1"; end }
69
- x.report("upto:") { 1.upto(n) do ; a = "1"; end }
70
- end
71
- ```
72
-
73
- The result:
74
-
75
- ```
76
- user system total real
77
- for: 1.010000 0.000000 1.010000 ( 1.015688)
78
- times: 1.000000 0.000000 1.000000 ( 1.003611)
79
- upto: 1.030000 0.000000 1.030000 ( 1.028098)
80
- ```
81
-
82
- The times for some benchmarks depend on the order in which items are run. These differences are due to the cost of memory allocation and garbage collection. To avoid these discrepancies, the #bmbm method is provided. For example, to compare ways to sort an array of floats:
83
-
84
- ```ruby
85
- require 'benchmark'
86
- array = (1..1000000).map { rand }
87
- Benchmark.bmbm do |x|
88
- x.report("sort!") { array.dup.sort! }
89
- x.report("sort") { array.dup.sort }
90
- end
91
- ```
92
-
93
- The result:
94
-
95
- ```
96
- Rehearsal -----------------------------------------
97
- sort! 1.490000 0.010000 1.500000 ( 1.490520)
98
- sort 1.460000 0.000000 1.460000 ( 1.463025)
99
- -------------------------------- total: 2.960000sec
100
- user system total real
101
- sort! 1.460000 0.000000 1.460000 ( 1.460465)
102
- sort 1.450000 0.010000 1.460000 ( 1.448327)
103
- ```
104
-
105
- Report statistics of sequential experiments with unique labels, using the #benchmark method:
106
-
107
- ```ruby
108
- require 'benchmark'
109
- include Benchmark # we need the CAPTION and FORMAT constants
110
- n = 5000000
111
- Benchmark.benchmark(CAPTION, 7, FORMAT, ">total:", ">avg:") do |x|
112
- tf = x.report("for:") { for i in 1..n; a = "1"; end }
113
- tt = x.report("times:") { n.times do ; a = "1"; end }
114
- tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end }
115
- [tf+tt+tu, (tf+tt+tu)/3]
116
- end
117
- ```
118
-
119
- The result:
120
-
121
- ```
122
- user system total real
123
- for: 0.950000 0.000000 0.950000 ( 0.952039)
124
- times: 0.980000 0.000000 0.980000 ( 0.984938)
125
- upto: 0.950000 0.000000 0.950000 ( 0.946787)
126
- >total: 2.880000 0.000000 2.880000 ( 2.883764)
127
- >avg: 0.960000 0.000000 0.960000 ( 0.961255)
128
- ```
129
-
130
- ## Development
131
-
132
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
133
-
134
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
135
-
136
- ## Contributing
137
-
138
- Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/benchmark.