rails-rfc6570 3.2.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/README.md +3 -1
  4. data/lib/rails/rfc6570/version.rb +1 -1
  5. data/lib/rails/rfc6570.rb +10 -29
  6. data/rails-rfc6570.gemspec +1 -1
  7. data/spec/dummy/config/application.rb +5 -1
  8. data/spec/dummy/config/environments/test.rb +1 -1
  9. data/spec/rails/rfc6570/extensions/route_set_spec.rb +29 -0
  10. data/spec/rails/rfc6570/helper_spec.rb +44 -0
  11. data/spec/rails/rfc6570/visitor_spec.rb +12 -0
  12. data/spec/spec_helper.rb +6 -0
  13. data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/rubocop-config.gemspec +8 -8
  14. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +205 -0
  15. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +67 -0
  16. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +157 -0
  17. data/vendor/bundle/ruby/{3.3.0/gems/io-console-0.7.2 → 3.4.0/gems/base64-0.2.0}/README.md +17 -15
  18. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +138 -0
  19. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +32 -0
  20. data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/CHANGELOG.md +12 -2
  21. data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/README.md +1 -1
  22. data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/README.md +32 -0
  23. data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/CHANGELOG +4 -0
  24. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/README.md +104 -0
  25. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +28 -0
  26. data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/CHANGELOG.md +25 -0
  27. data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/README.md +59 -12
  28. data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +6 -6
  29. data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/README.md +8 -5
  30. data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/CHANGELOG.md +12 -0
  31. data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/CHANGELOG.md +54 -0
  32. data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/README.md +0 -4
  33. data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
  34. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.2/README.md +55 -0
  35. data/vendor/bundle/ruby/{3.3.0/gems/useragent-0.16.10 → 3.4.0/gems/useragent-0.16.11}/README.md +2 -2
  36. data/vendor/bundle/ruby/{3.3.0/specifications/actionpack-7.2.1.gemspec → 3.4.0/specifications/actionpack-8.0.1.gemspec} +11 -12
  37. data/vendor/bundle/ruby/{3.3.0/specifications/actionview-7.2.1.gemspec → 3.4.0/specifications/actionview-8.0.1.gemspec} +10 -10
  38. data/vendor/bundle/ruby/{3.3.0/specifications/activesupport-7.2.1.gemspec → 3.4.0/specifications/activesupport-8.0.1.gemspec} +9 -7
  39. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/addressable-2.8.7.gemspec +1 -1
  40. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  41. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +23 -0
  42. data/vendor/bundle/ruby/{3.3.0/specifications/bigdecimal-3.1.8.gemspec → 3.4.0/specifications/bigdecimal-3.1.9.gemspec} +5 -5
  43. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/builder-3.3.0.gemspec +1 -1
  44. data/vendor/bundle/ruby/{3.3.0/specifications/concurrent-ruby-1.3.4.gemspec → 3.4.0/specifications/concurrent-ruby-1.3.5.gemspec} +4 -4
  45. data/vendor/bundle/ruby/{3.3.0/specifications/connection_pool-2.4.1.gemspec → 3.4.0/specifications/connection_pool-2.5.0.gemspec} +5 -5
  46. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/crass-1.0.6.gemspec +1 -1
  47. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/diff-lcs-1.5.1.gemspec +1 -1
  48. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/drb-2.2.1.gemspec +1 -1
  49. data/vendor/bundle/ruby/{3.3.0/specifications/erubi-1.13.0.gemspec → 3.4.0/specifications/erubi-1.13.1.gemspec} +5 -5
  50. data/vendor/bundle/ruby/{3.3.0/specifications/i18n-1.14.5.gemspec → 3.4.0/specifications/i18n-1.14.7.gemspec} +5 -5
  51. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.6.5.gemspec +22 -0
  52. data/vendor/bundle/ruby/{3.3.0/specifications/loofah-2.22.0.gemspec → 3.4.0/specifications/loofah-2.24.0.gemspec} +6 -6
  53. data/vendor/bundle/ruby/{3.3.0/specifications/minitest-5.25.1.gemspec → 3.4.0/specifications/minitest-5.25.4.gemspec} +5 -5
  54. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.2-x86_64-linux-gnu.gemspec +31 -0
  55. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/public_suffix-6.0.1.gemspec +1 -1
  56. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/racc-1.8.1.gemspec +1 -1
  57. data/vendor/bundle/ruby/{3.3.0/specifications/rack-3.1.7.gemspec → 3.4.0/specifications/rack-3.1.9.gemspec} +5 -5
  58. data/vendor/bundle/ruby/{3.3.0/specifications/rack-session-2.0.0.gemspec → 3.4.0/specifications/rack-session-2.1.0.gemspec} +8 -6
  59. data/vendor/bundle/ruby/{3.3.0/specifications/rack-test-2.1.0.gemspec → 3.4.0/specifications/rack-test-2.2.0.gemspec} +5 -5
  60. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rails-dom-testing-2.2.0.gemspec +1 -1
  61. data/vendor/bundle/ruby/{3.3.0/specifications/rails-html-sanitizer-1.6.0.gemspec → 3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec} +7 -7
  62. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rake-13.2.1.gemspec +1 -1
  63. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rake-release-1.3.0.gemspec +1 -1
  64. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/rspec-3.13.0.gemspec +1 -1
  65. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-core-3.13.0.gemspec → 3.4.0/specifications/rspec-core-3.13.2.gemspec} +7 -7
  66. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-expectations-3.13.2.gemspec → 3.4.0/specifications/rspec-expectations-3.13.3.gemspec} +6 -6
  67. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-mocks-3.13.1.gemspec → 3.4.0/specifications/rspec-mocks-3.13.2.gemspec} +7 -7
  68. data/vendor/bundle/ruby/{3.3.0/specifications/rspec-support-3.13.1.gemspec → 3.4.0/specifications/rspec-support-3.13.2.gemspec} +8 -8
  69. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
  70. data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/specifications/tzinfo-2.0.6.gemspec +1 -1
  71. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.2.gemspec +23 -0
  72. data/vendor/bundle/ruby/{3.3.0/specifications/useragent-0.16.10.gemspec → 3.4.0/specifications/useragent-0.16.11.gemspec} +6 -6
  73. metadata +132 -262
  74. data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/CHANGELOG.md +0 -154
  75. data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/CHANGELOG.md +0 -113
  76. data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/CHANGELOG.md +0 -258
  77. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/MIT-LICENSE +0 -21
  78. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/README.md +0 -243
  79. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/appraisal.gemspec +0 -29
  80. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/LICENSE.MIT +0 -20
  81. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/README.YARD.md +0 -12
  82. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/LICENSE +0 -20
  83. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/README.md +0 -279
  84. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/CHANGELOG.md +0 -934
  85. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/LICENSE +0 -23
  86. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/README.md +0 -199
  87. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/MIT-LICENSE +0 -22
  88. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/README_INDEX.rdoc +0 -123
  89. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/LICENSE +0 -21
  90. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/README.md +0 -409
  91. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/docile.gemspec +0 -36
  92. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/LICENSE.txt +0 -22
  93. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/README.md +0 -405
  94. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/irb.gemspec +0 -46
  95. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/LICENSE +0 -56
  96. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/README.md +0 -416
  97. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/json.gemspec +0 -68
  98. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/LICENSE.txt +0 -21
  99. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/README.md +0 -88
  100. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/CHANGELOG.md +0 -15
  101. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/LICENSE +0 -22
  102. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/README.markdown +0 -101
  103. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/method_source.gemspec +0 -19
  104. data/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/MIT-LICENSE.txt +0 -20
  105. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/LICENSE.txt +0 -25
  106. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/parser.gemspec +0 -43
  107. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/CHANGELOG.md +0 -1141
  108. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/LICENSE +0 -25
  109. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/README.md +0 -466
  110. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/lib/pry/slop/LICENSE +0 -20
  111. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/CHANGELOG.md +0 -230
  112. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/LICENSE +0 -20
  113. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/README.md +0 -189
  114. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/CHANGELOG.md +0 -361
  115. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/MIT-LICENSE +0 -20
  116. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/README.rdoc +0 -39
  117. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/app/templates/README.md.tt +0 -24
  118. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +0 -28
  119. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +0 -20
  120. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/README.md.tt +0 -28
  121. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/LICENSE +0 -20
  122. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/README.markdown +0 -227
  123. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/LICENSE.rdoc +0 -57
  124. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/README.rdoc +0 -129
  125. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/LICENSE +0 -22
  126. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/regexp_parser.gemspec +0 -34
  127. data/vendor/bundle/ruby/3.3.0/gems/reline-0.5.9/README.md +0 -94
  128. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/LICENSE.txt +0 -22
  129. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/README.md +0 -57
  130. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/LICENSE.md +0 -25
  131. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/README.md +0 -381
  132. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/LICENSE.txt +0 -20
  133. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/README.md +0 -251
  134. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/LICENSE.txt +0 -20
  135. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/README.md +0 -56
  136. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/CHANGELOG.md +0 -85
  137. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/MIT-LICENSE.md +0 -21
  138. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/README.md +0 -88
  139. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/CHANGELOG.md +0 -116
  140. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/MIT-LICENSE.md +0 -21
  141. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/README.md +0 -88
  142. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/LICENSE.txt +0 -20
  143. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/README.md +0 -97
  144. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/CHANGELOG.md +0 -1028
  145. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/MIT-LICENSE.md +0 -21
  146. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/README.md +0 -109
  147. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/CHANGELOG.md +0 -84
  148. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/MIT-LICENSE.md +0 -21
  149. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/README.md +0 -90
  150. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +0 -19
  151. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/README.md +0 -131
  152. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/CHANGELOG.md +0 -191
  153. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/LICENSE +0 -20
  154. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/README.md +0 -974
  155. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/LICENSE +0 -202
  156. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/README.md +0 -62
  157. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/simplecov-cobertura.gemspec +0 -29
  158. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/CHANGELOG.md +0 -81
  159. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/LICENSE +0 -20
  160. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/README.md +0 -30
  161. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/simplecov-html.gemspec +0 -23
  162. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +0 -13
  163. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/README.md +0 -29
  164. data/vendor/bundle/ruby/3.3.0/gems/strscan-3.1.0/LICENSE.txt +0 -22
  165. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/LICENSE.md +0 -20
  166. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/README.md +0 -45
  167. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/thor.gemspec +0 -33
  168. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/CHANGELOG.md +0 -196
  169. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/MIT-LICENSE.txt +0 -22
  170. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/README.md +0 -171
  171. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/LICENSE.txt +0 -22
  172. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/README.md +0 -61
  173. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/webrick.gemspec +0 -70
  174. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/MIT-LICENSE +0 -20
  175. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/README.md +0 -1494
  176. data/vendor/bundle/ruby/3.3.0/specifications/appraisal-2.5.0.gemspec +0 -31
  177. data/vendor/bundle/ruby/3.3.0/specifications/ast-2.4.2.gemspec +0 -30
  178. data/vendor/bundle/ruby/3.3.0/specifications/benchmark-ips-2.13.0.gemspec +0 -28
  179. data/vendor/bundle/ruby/3.3.0/specifications/byebug-11.1.3.gemspec +0 -31
  180. data/vendor/bundle/ruby/3.3.0/specifications/coderay-1.1.3.gemspec +0 -25
  181. data/vendor/bundle/ruby/3.3.0/specifications/docile-1.4.1.gemspec +0 -22
  182. data/vendor/bundle/ruby/3.3.0/specifications/io-console-0.7.2.gemspec +0 -25
  183. data/vendor/bundle/ruby/3.3.0/specifications/irb-1.14.0.gemspec +0 -30
  184. data/vendor/bundle/ruby/3.3.0/specifications/json-2.7.2.gemspec +0 -0
  185. data/vendor/bundle/ruby/3.3.0/specifications/language_server-protocol-3.17.0.3.gemspec +0 -31
  186. data/vendor/bundle/ruby/3.3.0/specifications/method_source-1.1.0.gemspec +0 -21
  187. data/vendor/bundle/ruby/3.3.0/specifications/nokogiri-1.16.7-x86_64-linux.gemspec +0 -31
  188. data/vendor/bundle/ruby/3.3.0/specifications/parallel-1.26.3.gemspec +0 -21
  189. data/vendor/bundle/ruby/3.3.0/specifications/parser-3.3.4.2.gemspec +0 -37
  190. data/vendor/bundle/ruby/3.3.0/specifications/pry-0.14.2.gemspec +0 -29
  191. data/vendor/bundle/ruby/3.3.0/specifications/pry-byebug-3.10.1.gemspec +0 -28
  192. data/vendor/bundle/ruby/3.3.0/specifications/rackup-2.1.0.gemspec +0 -31
  193. data/vendor/bundle/ruby/3.3.0/specifications/railties-7.2.1.gemspec +0 -37
  194. data/vendor/bundle/ruby/3.3.0/specifications/rainbow-3.1.1.gemspec +0 -25
  195. data/vendor/bundle/ruby/3.3.0/specifications/rdoc-6.7.0.gemspec +0 -31
  196. data/vendor/bundle/ruby/3.3.0/specifications/regexp_parser-2.9.2.gemspec +0 -22
  197. data/vendor/bundle/ruby/3.3.0/specifications/reline-0.5.9.gemspec +0 -26
  198. data/vendor/bundle/ruby/3.3.0/specifications/rexml-3.3.6.gemspec +0 -29
  199. data/vendor/bundle/ruby/3.3.0/specifications/rspec-rails-6.1.4.gemspec +0 -37
  200. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-1.65.1.gemspec +0 -39
  201. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-ast-1.32.1.gemspec +0 -28
  202. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-capybara-2.21.0.gemspec +0 -27
  203. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-factory_bot-2.26.1.gemspec +0 -27
  204. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-performance-1.21.1.gemspec +0 -29
  205. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec-3.0.4.gemspec +0 -28
  206. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec_rails-2.30.0.gemspec +0 -28
  207. data/vendor/bundle/ruby/3.3.0/specifications/ruby-progressbar-1.13.0.gemspec +0 -29
  208. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-0.22.0.gemspec +0 -28
  209. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-cobertura-2.1.0.gemspec +0 -29
  210. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-html-0.12.3.gemspec +0 -21
  211. data/vendor/bundle/ruby/3.3.0/specifications/simplecov_json_formatter-0.1.4.gemspec +0 -21
  212. data/vendor/bundle/ruby/3.3.0/specifications/strscan-3.1.0.gemspec +0 -24
  213. data/vendor/bundle/ruby/3.3.0/specifications/thor-1.3.1.gemspec +0 -28
  214. data/vendor/bundle/ruby/3.3.0/specifications/unicode-display_width-2.5.0.gemspec +0 -29
  215. data/vendor/bundle/ruby/3.3.0/specifications/webrick-1.8.1.gemspec +0 -22
  216. data/vendor/bundle/ruby/3.3.0/specifications/zeitwerk-2.6.17.gemspec +0 -22
  217. /data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/LICENSE +0 -0
  218. /data/vendor/bundle/ruby/{3.3.0/bundler/gems/rubocop-config-943facea9d8f → 3.4.0/bundler/gems/rubocop-config-67802c9d1826}/README.md +0 -0
  219. /data/vendor/bundle/ruby/{3.3.0/gems/actionpack-7.2.1 → 3.4.0/gems/actionpack-8.0.1}/MIT-LICENSE +0 -0
  220. /data/vendor/bundle/ruby/{3.3.0/gems/actionpack-7.2.1 → 3.4.0/gems/actionpack-8.0.1}/README.rdoc +0 -0
  221. /data/vendor/bundle/ruby/{3.3.0/gems/actionview-7.2.1 → 3.4.0/gems/actionview-8.0.1}/MIT-LICENSE +0 -0
  222. /data/vendor/bundle/ruby/{3.3.0/gems/actionview-7.2.1 → 3.4.0/gems/actionview-8.0.1}/README.rdoc +0 -0
  223. /data/vendor/bundle/ruby/{3.3.0/gems/activesupport-7.2.1 → 3.4.0/gems/activesupport-8.0.1}/MIT-LICENSE +0 -0
  224. /data/vendor/bundle/ruby/{3.3.0/gems/activesupport-7.2.1 → 3.4.0/gems/activesupport-8.0.1}/README.rdoc +0 -0
  225. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/CHANGELOG.md +0 -0
  226. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/LICENSE.txt +0 -0
  227. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/README.md +0 -0
  228. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/addressable-2.8.7/addressable.gemspec +0 -0
  229. /data/vendor/bundle/ruby/{3.3.0/gems/drb-2.2.1 → 3.4.0/gems/base64-0.2.0}/LICENSE.txt +0 -0
  230. /data/vendor/bundle/ruby/{3.3.0/gems/bigdecimal-3.1.8 → 3.4.0/gems/bigdecimal-3.1.9}/LICENSE +0 -0
  231. /data/vendor/bundle/ruby/{3.3.0/gems/bigdecimal-3.1.8 → 3.4.0/gems/bigdecimal-3.1.9}/bigdecimal.gemspec +0 -0
  232. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/MIT-LICENSE +0 -0
  233. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/README.md +0 -0
  234. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/builder-3.3.0/builder.gemspec +0 -0
  235. /data/vendor/bundle/ruby/{3.3.0/gems/concurrent-ruby-1.3.4 → 3.4.0/gems/concurrent-ruby-1.3.5}/LICENSE.txt +0 -0
  236. /data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/LICENSE +0 -0
  237. /data/vendor/bundle/ruby/{3.3.0/gems/connection_pool-2.4.1 → 3.4.0/gems/connection_pool-2.5.0}/connection_pool.gemspec +0 -0
  238. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/LICENSE +0 -0
  239. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/README.md +0 -0
  240. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/crass-1.0.6/crass.gemspec +0 -0
  241. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/diff-lcs-1.5.1/README.rdoc +0 -0
  242. /data/vendor/bundle/ruby/{3.3.0/gems/io-console-0.7.2 → 3.4.0/gems/drb-2.2.1}/LICENSE.txt +0 -0
  243. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/drb-2.2.1/drb.gemspec +0 -0
  244. /data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/MIT-LICENSE +0 -0
  245. /data/vendor/bundle/ruby/{3.3.0/gems/erubi-1.13.0 → 3.4.0/gems/erubi-1.13.1}/README.rdoc +0 -0
  246. /data/vendor/bundle/ruby/{3.3.0/gems/i18n-1.14.5 → 3.4.0/gems/i18n-1.14.7}/MIT-LICENSE +0 -0
  247. /data/vendor/bundle/ruby/{3.3.0/gems/i18n-1.14.5 → 3.4.0/gems/i18n-1.14.7}/README.md +0 -0
  248. /data/vendor/bundle/ruby/{3.3.0/gems/loofah-2.22.0 → 3.4.0/gems/loofah-2.24.0}/MIT-LICENSE.txt +0 -0
  249. /data/vendor/bundle/ruby/{3.3.0/gems/minitest-5.25.1 → 3.4.0/gems/minitest-5.25.4}/README.rdoc +0 -0
  250. /data/vendor/bundle/ruby/{3.3.0/gems/nokogiri-1.16.7-x86_64-linux → 3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu}/LICENSE.md +0 -0
  251. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/CHANGELOG.md +0 -0
  252. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/LICENSE.txt +0 -0
  253. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/public_suffix-6.0.1/README.md +0 -0
  254. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/racc-1.8.1/README.ja.rdoc +0 -0
  255. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/racc-1.8.1/README.rdoc +0 -0
  256. /data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/MIT-LICENSE +0 -0
  257. /data/vendor/bundle/ruby/{3.3.0/gems/rack-3.1.7 → 3.4.0/gems/rack-3.1.9}/README.md +0 -0
  258. /data/vendor/bundle/ruby/{3.3.0/gems/rack-test-2.1.0 → 3.4.0/gems/rack-test-2.2.0}/MIT-LICENSE.txt +0 -0
  259. /data/vendor/bundle/ruby/{3.3.0/gems/rack-test-2.1.0 → 3.4.0/gems/rack-test-2.2.0}/README.md +0 -0
  260. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rails-dom-testing-2.2.0/MIT-LICENSE +0 -0
  261. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rails-dom-testing-2.2.0/README.md +0 -0
  262. /data/vendor/bundle/ruby/{3.3.0/gems/rails-html-sanitizer-1.6.0 → 3.4.0/gems/rails-html-sanitizer-1.6.2}/MIT-LICENSE +0 -0
  263. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/MIT-LICENSE +0 -0
  264. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/README.rdoc +0 -0
  265. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-13.2.1/rake.gemspec +0 -0
  266. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/LICENSE +0 -0
  267. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/README.md +0 -0
  268. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rake-release-1.3.0/rake-release.gemspec +0 -0
  269. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rspec-3.13.0/LICENSE.md +0 -0
  270. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/rspec-3.13.0/README.md +0 -0
  271. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-core-3.13.0 → 3.4.0/gems/rspec-core-3.13.2}/LICENSE.md +0 -0
  272. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-core-3.13.0 → 3.4.0/gems/rspec-core-3.13.2}/README.md +0 -0
  273. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-expectations-3.13.2 → 3.4.0/gems/rspec-expectations-3.13.3}/LICENSE.md +0 -0
  274. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-expectations-3.13.2 → 3.4.0/gems/rspec-expectations-3.13.3}/README.md +0 -0
  275. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-mocks-3.13.1 → 3.4.0/gems/rspec-mocks-3.13.2}/LICENSE.md +0 -0
  276. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-mocks-3.13.1 → 3.4.0/gems/rspec-mocks-3.13.2}/README.md +0 -0
  277. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-support-3.13.1 → 3.4.0/gems/rspec-support-3.13.2}/LICENSE.md +0 -0
  278. /data/vendor/bundle/ruby/{3.3.0/gems/rspec-support-3.13.1 → 3.4.0/gems/rspec-support-3.13.2}/README.md +0 -0
  279. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  280. /data/vendor/bundle/ruby/{3.3.0 → 3.4.0}/gems/tzinfo-2.0.6/README.md +0 -0
  281. /data/vendor/bundle/ruby/{3.3.0/gems/useragent-0.16.10 → 3.4.0/gems/useragent-0.16.11}/LICENSE +0 -0
@@ -1,243 +0,0 @@
1
- Appraisal
2
- =========
3
-
4
- Find out what your Ruby gems are worth.
5
-
6
- Synopsis
7
- --------
8
-
9
- Appraisal integrates with bundler and rake to test your library against
10
- different versions of dependencies in repeatable scenarios called "appraisals."
11
- Appraisal is designed to make it easy to check for regressions in your library
12
- without interfering with day-to-day development using Bundler.
13
-
14
- Installation
15
- ------------
16
-
17
- In your package's `.gemspec`:
18
-
19
- s.add_development_dependency "appraisal"
20
-
21
- Note that gems must be bundled in the global namespace. Bundling gems to a
22
- local location or vendoring plugins is not supported. If you do not want to
23
- pollute the global namespace, one alternative is
24
- [RVM's Gemsets](http://rvm.io/gemsets).
25
-
26
- Setup
27
- -----
28
-
29
- Setting up appraisal requires an `Appraisals` file (similar to a `Gemfile`) in
30
- your project root, named "Appraisals" (note the case), and some slight changes
31
- to your project's `Rakefile`.
32
-
33
- An `Appraisals` file consists of several appraisal definitions. An appraisal
34
- definition is simply a list of gem dependencies. For example, to test with a
35
- few versions of Rails:
36
-
37
- appraise "rails-3" do
38
- gem "rails", "3.2.14"
39
- end
40
-
41
- appraise "rails-4" do
42
- gem "rails", "4.0.0"
43
- end
44
-
45
- The dependencies in your `Appraisals` file are combined with dependencies in
46
- your `Gemfile`, so you don't need to repeat anything that's the same for each
47
- appraisal. If something is specified in both the Gemfile and an appraisal, the
48
- version from the appraisal takes precedence.
49
-
50
- Usage
51
- -----
52
-
53
- Once you've configured the appraisals you want to use, you need to install the
54
- dependencies for each appraisal:
55
-
56
- $ bundle exec appraisal install
57
-
58
- This will resolve, install, and lock the dependencies for that appraisal using
59
- bundler. Once you have your dependencies set up, you can run any command in a
60
- single appraisal:
61
-
62
- $ bundle exec appraisal rails-3 rake test
63
-
64
- This will run `rake test` using the dependencies configured for Rails 3. You can
65
- also run each appraisal in turn:
66
-
67
- $ bundle exec appraisal rake test
68
-
69
- If you want to use only the dependencies from your Gemfile, just run `rake
70
- test` as normal. This allows you to keep running with the latest versions of
71
- your dependencies in quick test runs, but keep running the tests in older
72
- versions to check for regressions.
73
-
74
- In the case that you want to run all the appraisals by default when you run
75
- `rake`, you can override your default Rake task by put this into your Rakefile:
76
-
77
- if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
78
- task :default => :appraisal
79
- end
80
-
81
- (Appraisal sets `APPRAISAL_INITIALIZED` environment variable when it runs your
82
- process. We put a check here to ensure that `appraisal rake` command should run
83
- your real default task, which usually is your `test` task.)
84
-
85
- Note that this may conflict with your CI setup if you decide to split the test
86
- into multiple processes by Appraisal and you are using `rake` to run tests by
87
- default.
88
-
89
- ### Commands
90
-
91
- ```bash
92
- appraisal clean # Remove all generated gemfiles and lockfiles from gemfiles folder
93
- appraisal generate # Generate a gemfile for each appraisal
94
- appraisal help [COMMAND] # Describe available commands or one specific command
95
- appraisal install # Resolve and install dependencies for each appraisal
96
- appraisal list # List the names of the defined appraisals
97
- appraisal update [LIST_OF_GEMS] # Remove all generated gemfiles and lockfiles, resolve, and install dependencies again
98
- appraisal version # Display the version and exit
99
- ```
100
-
101
- Under the hood
102
- --------------
103
-
104
- Running `appraisal install` generates a Gemfile for each appraisal by combining
105
- your root Gemfile with the specific requirements for each appraisal. These are
106
- stored in the `gemfiles` directory, and should be added to version control to
107
- ensure that the same versions are always used.
108
-
109
- When you prefix a command with `appraisal`, the command is run with the
110
- appropriate Gemfile for that appraisal, ensuring the correct dependencies
111
- are used.
112
-
113
- Removing Gems using Appraisal
114
- -------
115
-
116
- It is common while managing multiple Gemfiles for dependencies to become deprecated and no
117
- longer necessary, meaning they need to be removed from the Gemfile for a specific `appraisal`.
118
- To do this, use the `remove_gem` declaration within the necessary `appraise` block in your
119
- `Appraisals` file.
120
-
121
- ### Example Usage
122
-
123
- **Gemfile**
124
- ```ruby
125
- gem 'rails', '~> 4.2'
126
-
127
- group :test do
128
- gem 'rspec', '~> 4.0'
129
- gem 'test_after_commit'
130
- end
131
- ```
132
-
133
- **Appraisals**
134
- ```ruby
135
- appraise 'rails-5' do
136
- gem 'rails', '~> 5.2'
137
-
138
- group :test do
139
- remove_gem :test_after_commit
140
- end
141
- end
142
- ```
143
-
144
- Using the `Appraisals` file defined above, this is what the resulting `Gemfile` will look like:
145
- ```ruby
146
- gem 'rails', '~> 5.2'
147
-
148
- group :test do
149
- gem 'rspec', '~> 4.0'
150
- end
151
- ```
152
-
153
- Customization
154
- -------------
155
-
156
- It is possible to customize the generated Gemfiles by adding a `customize_gemfiles` block to
157
- your `Appraisals` file. The block must contain a hash of key/value pairs. Currently supported
158
- customizations include:
159
- - heading: a string that by default adds "# This file was generated by Appraisal" to the top of each Gemfile, (the string will be commented for you)
160
- - single_quotes: a boolean that controls if strings are single quoted in each Gemfile, defaults to false
161
-
162
- ### Example Usage
163
-
164
- **Appraisals**
165
- ```ruby
166
- customize_gemfiles do
167
- {
168
- single_quotes: true,
169
- heading: <<~HEADING
170
- frozen_string_literal: true
171
-
172
- File has been generated by Appraisal, do NOT modify it directly!
173
- See the conventions at https://example.com/
174
- HEADING
175
- }
176
- end
177
-
178
- appraise "rails-3" do
179
- gem "rails", "3.2.14"
180
- end
181
- ```
182
-
183
- Using the `Appraisals` file defined above, this is what the resulting `Gemfile` will look like:
184
- ```ruby
185
- # frozen_string_literal: true
186
-
187
- # File has been generated by Appraisal, do NOT modify it directly!
188
- # See the conventions at https://example.com/
189
-
190
- gem 'rails', '3.2.14'
191
- ```
192
-
193
- Version Control
194
- ---------------
195
-
196
- When using Appraisal, we recommend you check in the Gemfiles that Appraisal
197
- generates within the gemfiles directory, but exclude the lockfiles there
198
- (`*.gemfile.lock`.) The Gemfiles are useful when running your tests against a
199
- continuous integration server.
200
-
201
- Circle CI Integration
202
- ---------------------
203
-
204
- In Circle CI you can override the default testing behaviour to customize your
205
- testing. Using this feature you can configure appraisal to execute your tests.
206
-
207
- In order to this you can put the following configuration in your circle.yml file:
208
-
209
- ```yml
210
- dependencies:
211
- post:
212
- - bundle exec appraisal install
213
- test:
214
- pre:
215
- - bundle exec appraisal rake db:create
216
- - bundle exec appraisal rake db:migrate
217
- override:
218
- - bundle exec appraisal rspec
219
- ```
220
-
221
- Notice that we are running an rspec suite. You can customize your testing
222
- command in the `override` section and use your favourite one.
223
-
224
- Credits
225
- -------
226
-
227
- ![thoughtbot](https://thoughtbot.com/thoughtbot-logo-for-readmes.svg)
228
-
229
- Appraisal is maintained and funded by [thoughtbot, inc][thoughtbot]
230
-
231
- Thank you to all [the contributors][contributors]
232
-
233
- The names and logos for thoughtbot are trademarks of thoughtbot, inc.
234
-
235
- [thoughtbot]: http://thoughtbot.com/community
236
- [contributors]: https://github.com/thoughtbot/appraisal/contributors
237
-
238
- License
239
- -------
240
-
241
- Appraisal is Copyright © 2010-2013 Joe Ferris and thoughtbot, inc. It is free
242
- software, and may be redistributed under the terms specified in the MIT-LICENSE
243
- file.
@@ -1,29 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "appraisal/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = 'appraisal'
7
- s.version = Appraisal::VERSION.dup
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ['Joe Ferris', 'Prem Sichanugrist']
10
- s.email = ['jferris@thoughtbot.com', 'prem@thoughtbot.com']
11
- s.homepage = 'http://github.com/thoughtbot/appraisal'
12
- s.summary = 'Find out what your Ruby gems are worth'
13
- s.description = 'Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called "appraisals."'
14
- s.license = 'MIT'
15
-
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
20
-
21
- s.required_ruby_version = ">= 2.3.0"
22
-
23
- s.add_runtime_dependency('rake')
24
- s.add_runtime_dependency('bundler')
25
- s.add_runtime_dependency('thor', '>= 0.14.0')
26
-
27
- s.add_development_dependency("activesupport", ">= 3.2.21")
28
- s.add_development_dependency('rspec', '~> 3.0')
29
- end
@@ -1,20 +0,0 @@
1
- Copyright (c) 2011-2013 Peter Zotov <whitequark@whitequark.org>
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a
4
- copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be included
12
- in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,12 +0,0 @@
1
- {AST} is a library for manipulating abstract syntax trees.
2
-
3
- It embraces immutability; each AST node is inherently frozen at
4
- creation, and updating a child node requires recreating that node
5
- and its every parent, recursively.
6
-
7
- This is a design choice. It does create some pressure on
8
- garbage collector, but completely eliminates all concurrency
9
- and aliasing problems.
10
-
11
- See also {AST::Node}, {AST::Processor::Mixin} and {AST::Sexp} for
12
- additional recommendations and design patterns.
@@ -1,20 +0,0 @@
1
- Copyright (c) 2015 Evan Phoenix
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- 'Software'), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,279 +0,0 @@
1
- # benchmark-ips
2
-
3
- * rdoc :: http://rubydoc.info/gems/benchmark-ips
4
- * home :: https://github.com/evanphx/benchmark-ips
5
-
6
- [![Gem Version](https://badge.fury.io/rb/benchmark-ips.svg)](http://badge.fury.io/rb/benchmark-ips)
7
- [![Build Status](https://secure.travis-ci.org/evanphx/benchmark-ips.svg)](http://travis-ci.org/evanphx/benchmark-ips)
8
- [![Inline docs](http://inch-ci.org/github/evanphx/benchmark-ips.svg)](http://inch-ci.org/github/evanphx/benchmark-ips)
9
-
10
- * https://github.com/evanphx/benchmark-ips
11
-
12
- ## DESCRIPTION:
13
-
14
- An iterations per second enhancement to Benchmark.
15
-
16
- ## FEATURES/PROBLEMS:
17
-
18
- * benchmark/ips - benchmarks a blocks iterations/second. For short snippits
19
- of code, ips automatically figures out how many times to run the code
20
- to get interesting data. No more guessing at random iteration counts!
21
-
22
- ## SYNOPSIS:
23
-
24
- ```ruby
25
- require 'benchmark/ips'
26
-
27
- Benchmark.ips do |x|
28
- # Configure the number of seconds used during
29
- # the warmup phase (default 2) and calculation phase (default 5)
30
- x.config(:time => 5, :warmup => 2)
31
-
32
- # These parameters can also be configured this way
33
- x.time = 5
34
- x.warmup = 2
35
-
36
- # Typical mode, runs the block as many times as it can
37
- x.report("addition") { 1 + 2 }
38
-
39
- # To reduce overhead, the number of iterations is passed in
40
- # and the block must run the code the specific number of times.
41
- # Used for when the workload is very small and any overhead
42
- # introduces incorrectable errors.
43
- x.report("addition2") do |times|
44
- i = 0
45
- while i < times
46
- 1 + 2
47
- i += 1
48
- end
49
- end
50
-
51
- # To reduce overhead even more, grafts the code given into
52
- # the loop that performs the iterations internally to reduce
53
- # overhead. Typically not needed, use the |times| form instead.
54
- x.report("addition3", "1 + 2")
55
-
56
- # Really long labels should be formatted correctly
57
- x.report("addition-test-long-label") { 1 + 2 }
58
-
59
- # Compare the iterations per second of the various reports!
60
- x.compare!
61
- end
62
- ```
63
-
64
- This will generate the following report:
65
-
66
- ```
67
- Calculating -------------------------------------
68
- addition 71.254k i/100ms
69
- addition2 68.658k i/100ms
70
- addition3 83.079k i/100ms
71
- addition-test-long-label
72
- 70.129k i/100ms
73
- -------------------------------------------------
74
- addition 4.955M (± 8.7%) i/s - 24.155M
75
- addition2 24.011M (± 9.5%) i/s - 114.246M
76
- addition3 23.958M (±10.1%) i/s - 115.064M
77
- addition-test-long-label
78
- 5.014M (± 9.1%) i/s - 24.545M
79
-
80
- Comparison:
81
- addition2: 24011974.8 i/s
82
- addition3: 23958619.8 i/s - 1.00x slower
83
- addition-test-long-label: 5014756.0 i/s - 4.79x slower
84
- addition: 4955278.9 i/s - 4.85x slower
85
- ```
86
-
87
- Benchmark/ips will report the number of iterations per second for a given block
88
- of code. When analyzing the results, notice the percent of [standard
89
- deviation](http://en.wikipedia.org/wiki/Standard\_deviation) which tells us how
90
- spread out our measurements are from the average. A high standard deviation
91
- could indicate the results having too much variability.
92
-
93
- One benefit to using this method is benchmark-ips automatically determines the
94
- data points for testing our code, so we can focus on the results instead of
95
- guessing iteration counts as we do with the traditional Benchmark library.
96
-
97
- ### Custom Suite
98
-
99
- Pass a custom suite to disable garbage collection during benchmark:
100
-
101
- ```ruby
102
- require 'benchmark/ips'
103
-
104
- # Enable and start GC before each job run. Disable GC afterwards.
105
- #
106
- # Inspired by https://www.omniref.com/ruby/2.2.1/symbols/Benchmark/bm?#annotation=4095926&line=182
107
- class GCSuite
108
- def warming(*)
109
- run_gc
110
- end
111
-
112
- def running(*)
113
- run_gc
114
- end
115
-
116
- def warmup_stats(*)
117
- end
118
-
119
- def add_report(*)
120
- end
121
-
122
- private
123
-
124
- def run_gc
125
- GC.enable
126
- GC.start
127
- GC.disable
128
- end
129
- end
130
-
131
- suite = GCSuite.new
132
-
133
- Benchmark.ips do |x|
134
- x.config(:suite => suite)
135
- x.report("job1") { ... }
136
- x.report("job2") { ... }
137
- end
138
- ```
139
-
140
- ### Independent benchmarking
141
-
142
- If you are comparing multiple implementations of a piece of code you may want
143
- to benchmark them in separate invocations of Ruby so that the measurements
144
- are independent of each other. You can do this with the `hold!` command.
145
-
146
- ```ruby
147
- Benchmark.ips do |x|
148
-
149
- # Hold results between multiple invocations of Ruby
150
- x.hold! 'filename'
151
-
152
- end
153
- ```
154
-
155
- This will run only one benchmarks each time you run the command, storing
156
- results in the specified file. The file is deleted when all results have been
157
- gathered and the report is shown.
158
-
159
- Alternatively, if you prefer a different approach, the `save!` command is
160
- available. Examples for [hold!](examples/hold.rb) and [save!](examples/save.rb) are available in
161
- the `examples/` directory.
162
-
163
-
164
- ### Multiple iterations
165
-
166
- In some cases you may want to run multiple iterations of the warmup and
167
- calculation stages and take only the last result for comparison. This is useful
168
- if you are benchmarking with an implementation of Ruby that optimizes using
169
- tracing or on-stack-replacement, because to those implementations the
170
- calculation phase may appear as new, unoptimized code.
171
-
172
- You can do this with the `iterations` option, which by default is `1`. The
173
- total time spent will then be `iterations * warmup + iterations * time` seconds.
174
-
175
- ```ruby
176
- Benchmark.ips do |x|
177
-
178
- x.config(:iterations => 3)
179
-
180
- # or
181
-
182
- x.iterations = 3
183
-
184
- end
185
- ```
186
-
187
- ### Online sharing
188
-
189
- If you want to quickly share your benchmark result with others, run you benchmark
190
- with `SHARE=1` argument. For example: `SHARE=1 ruby my_benchmark.rb`.
191
-
192
- Result will be sent to [benchmark.fyi](https://ips.fastruby.io/) and benchmark-ips
193
- will display the link to share the benchmark's result.
194
-
195
- If you want to run your own instance of [benchmark.fyi](https://github.com/evanphx/benchmark.fyi)
196
- and share it to that instance, you can do this: `SHARE_URL=https://ips.example.com ruby my_benchmark.rb`
197
-
198
- ### Advanced Statistics
199
-
200
- By default, the margin of error shown is plus-minus one standard deviation. If
201
- a more advanced statistical test is wanted, a bootstrap confidence interval
202
- can be calculated instead. A bootstrap confidence interval has the advantages of
203
- arguably being more mathematically sound for this application than a standard
204
- deviation, it additionally produces an error for relative slowdowns, which the
205
- standard deviation does not, and it is arguably more intuitive and actionable.
206
-
207
- When a bootstrap confidence interval is used, a median of the interval is used
208
- rather than the mean of the samples, which is what you get with the default
209
- standard deviation.
210
-
211
- The bootstrap confidence interval used is the one described by Tomas Kalibera.
212
- Note that for this technique to be valid your benchmark should have reached a
213
- non-periodic steady state with statistically independent samples (it should
214
- have warmed up) by the time measurements start.
215
-
216
- Using a bootstrap confidence internal requires that the 'kalibera' gem is
217
- installed separately. This gem is not a formal dependency, as by default it is
218
- not needed.
219
-
220
- ```
221
- gem install kalibera
222
- ```
223
-
224
- ```ruby
225
- Benchmark.ips do |x|
226
-
227
- # The default is :stats => :sd, which doesn't have a configurable confidence
228
- x.config(:stats => :bootstrap, :confidence => 95)
229
-
230
- # or
231
-
232
- x.stats = :bootstrap
233
- x.confidence = 95
234
-
235
- # confidence is 95% by default, so it can be omitted
236
-
237
- end
238
- ```
239
-
240
- ### Output as JSON
241
-
242
- You can generate output in JSON. If you want to write JSON to a file, pass filename to `json!` method:
243
-
244
- ```ruby
245
- Benchmark.ips do |x|
246
- x.report("some report") { }
247
- x.json! 'filename.json'
248
- end
249
- ```
250
-
251
- If you want to write JSON to STDOUT, pass `STDOUT` to `json!` method and set `quiet = true` before `json!`:
252
-
253
- ```ruby
254
- Benchmark.ips do |x|
255
- x.report("some report") { }
256
- x.quiet = true
257
- x.json! STDOUT
258
- end
259
- ```
260
-
261
- This is useful when the output from `benchmark-ips` becomes an input of other tools via stdin.
262
-
263
- ## REQUIREMENTS:
264
-
265
- * None!
266
-
267
- ## INSTALL:
268
-
269
- $ gem install benchmark-ips
270
-
271
- ## DEVELOPERS:
272
-
273
- After checking out the source, run:
274
-
275
- $ rake newb
276
-
277
- This task will install any missing dependencies, run the tests/specs,
278
- and generate the RDoc.
279
-