brakeman 6.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +92 -0
  3. data/README.md +6 -3
  4. data/bundle/load.rb +16 -14
  5. data/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt +33 -0
  6. data/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md +1009 -0
  7. data/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md +55 -0
  8. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb +9 -0
  9. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb +9 -0
  10. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb +96 -0
  11. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb +18 -0
  12. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb +1302 -0
  13. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb +757 -0
  14. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb +1055 -0
  15. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb +6 -0
  16. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb +209 -0
  17. data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb +3017 -0
  18. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/CHANGELOG.md +168 -4
  19. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/FAQ.md +1 -1
  20. data/bundle/ruby/3.2.0/gems/haml-6.3.0/Gemfile +27 -0
  21. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/MIT-LICENSE +1 -1
  22. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/README.md +22 -34
  23. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/REFERENCE.md +95 -159
  24. data/bundle/ruby/3.2.0/gems/haml-6.3.0/exe/haml +6 -0
  25. data/bundle/ruby/3.2.0/gems/haml-6.3.0/haml.gemspec +43 -0
  26. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ambles.rb +20 -0
  27. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_builder.rb +162 -0
  28. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_compiler.rb +133 -0
  29. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_parser.rb +116 -0
  30. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/cli.rb +154 -0
  31. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/children_compiler.rb +155 -0
  32. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/comment_compiler.rb +51 -0
  33. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/doctype_compiler.rb +52 -0
  34. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/script_compiler.rb +114 -0
  35. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
  36. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/tag_compiler.rb +76 -0
  37. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler.rb +97 -0
  38. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/dynamic_merger.rb +67 -0
  39. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/engine.rb +59 -0
  40. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/error.rb +5 -4
  41. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape.rb +13 -0
  42. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape_any.rb +21 -0
  43. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/base.rb +12 -0
  44. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/cdata.rb +20 -0
  45. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/coffee.rb +17 -0
  46. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/css.rb +33 -0
  47. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/erb.rb +10 -0
  48. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/escaped.rb +22 -0
  49. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/javascript.rb +33 -0
  50. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/less.rb +20 -0
  51. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/markdown.rb +11 -0
  52. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/plain.rb +29 -0
  53. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/preserve.rb +22 -0
  54. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/ruby.rb +10 -0
  55. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/sass.rb +15 -0
  56. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/scss.rb +15 -0
  57. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/text_base.rb +25 -0
  58. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/tilt_base.rb +59 -0
  59. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters.rb +75 -0
  60. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/force_escape.rb +29 -0
  61. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/helpers.rb +15 -0
  62. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/html.rb +22 -0
  63. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/identity.rb +13 -0
  64. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/object_ref.rb +35 -0
  65. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/parser.rb +158 -23
  66. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_helpers.rb +53 -0
  67. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_template.rb +62 -0
  68. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/railtie.rb +10 -0
  69. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ruby_expression.rb +32 -0
  70. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/string_splitter.rb +140 -0
  71. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/template.rb +20 -0
  72. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/temple_line_counter.rb +2 -1
  73. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/util.rb +19 -15
  74. data/bundle/ruby/{3.0.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/version.rb +1 -2
  75. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/whitespace.rb +8 -0
  76. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml.rb +13 -0
  77. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/Changelog.md +32 -0
  78. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/Gemfile +2 -0
  79. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/README.md +40 -1
  80. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/highline.gemspec +6 -1
  81. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/io_console_compatible.rb +1 -1
  82. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/list_renderer.rb +2 -2
  83. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu.rb +7 -5
  84. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/question/answer_converter.rb +2 -5
  85. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/question.rb +23 -13
  86. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/question_asker.rb +3 -1
  87. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/io_console.rb +1 -1
  88. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/unix_stty.rb +6 -4
  89. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal.rb +8 -6
  90. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/version.rb +1 -1
  91. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline.rb +42 -16
  92. data/bundle/ruby/3.2.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  93. data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.2.0/gems/parallel-1.27.0}/lib/parallel.rb +77 -21
  94. data/bundle/ruby/3.2.0/gems/reline-0.6.1/COPYING +56 -0
  95. data/bundle/ruby/3.2.0/gems/reline-0.6.1/README.md +94 -0
  96. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/config.rb +373 -0
  97. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/face.rb +199 -0
  98. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/history.rb +76 -0
  99. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/ansi.rb +318 -0
  100. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/dumb.rb +120 -0
  101. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/windows.rb +530 -0
  102. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io.rb +55 -0
  103. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/base.rb +37 -0
  104. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/composite.rb +17 -0
  105. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/emacs.rb +517 -0
  106. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/vi_command.rb +518 -0
  107. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/vi_insert.rb +517 -0
  108. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor.rb +8 -0
  109. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_stroke.rb +119 -0
  110. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/kill_ring.rb +125 -0
  111. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/line_editor.rb +2354 -0
  112. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/unicode/east_asian_width.rb +1293 -0
  113. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/unicode.rb +415 -0
  114. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/version.rb +3 -0
  115. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline.rb +528 -0
  116. data/bundle/ruby/3.2.0/gems/reline-0.6.1/license_of_rb-readline +25 -0
  117. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/LICENSE.txt +22 -0
  118. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/NEWS.md +699 -0
  119. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/README.md +10 -1
  120. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/attribute.rb +17 -11
  121. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/document.rb +6 -2
  122. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/element.rb +19 -34
  123. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/entity.rb +9 -38
  124. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/pretty.rb +3 -3
  125. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/functions.rb +1 -2
  126. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/namespace.rb +8 -4
  127. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/node.rb +8 -4
  128. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parseexception.rb +1 -0
  129. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/lib/rexml/parsers/baseparser.rb +887 -0
  130. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/pullparser.rb +16 -0
  131. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/sax2parser.rb +16 -19
  132. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/streamparser.rb +16 -10
  133. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/treeparser.rb +9 -21
  134. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/xpathparser.rb +136 -86
  135. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/rexml.rb +3 -1
  136. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/lib/rexml/source.rb +383 -0
  137. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/text.rb +60 -61
  138. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xpath_parser.rb +7 -3
  139. data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/History.rdoc +28 -0
  140. data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/lib/ruby2ruby.rb +166 -27
  141. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/History.rdoc +18 -0
  142. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/compare/normalize.rb +1 -0
  143. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.rb +4220 -4273
  144. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.y +0 -10
  145. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.rb +4203 -4238
  146. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.y +0 -10
  147. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.rb +4239 -4276
  148. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.y +0 -10
  149. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.rb +4235 -4240
  150. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1/lib/ruby24_parser.y → 3.2.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y} +1 -19
  151. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.rb +4229 -4284
  152. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1/lib/ruby23_parser.y → 3.2.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y} +9 -11
  153. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.rb +4220 -4275
  154. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.y +0 -10
  155. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.rb +4221 -4276
  156. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.y +0 -10
  157. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.rb +4138 -4207
  158. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.y +0 -10
  159. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.rb +5989 -5957
  160. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.y +95 -72
  161. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.rb +6157 -6172
  162. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.y +96 -73
  163. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby32_parser.rb +6251 -6314
  164. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby32_parser.y +117 -93
  165. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby3_parser.yy +132 -73
  166. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
  167. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
  168. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
  169. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.yy +0 -10
  170. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +9 -9
  171. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/tools/munge.rb +8 -2
  172. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/tools/ripper.rb +14 -12
  173. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/History.rdoc +18 -0
  174. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/pt_testcase.rb +1 -1
  175. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp.rb +1 -1
  176. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp_matcher.rb +1 -1
  177. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp_processor.rb +1 -1
  178. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/CHANGES +44 -8
  179. data/bundle/ruby/3.2.0/gems/slim-5.2.1/Gemfile +43 -0
  180. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/LICENSE +1 -1
  181. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/README.jp.md +28 -41
  182. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/README.md +66 -43
  183. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/code_attributes.rb +2 -1
  184. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/command.rb +2 -8
  185. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/controls.rb +1 -0
  186. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/do_inserter.rb +4 -3
  187. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/embedded.rb +17 -17
  188. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/end_inserter.rb +3 -2
  189. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/engine.rb +3 -0
  190. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/erb_converter.rb +1 -0
  191. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/filter.rb +1 -0
  192. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/grammar.rb +1 -0
  193. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/include.rb +1 -0
  194. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/interpolation.rb +1 -0
  195. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less/context.rb +6 -7
  196. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less/filter.rb +1 -0
  197. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less.rb +1 -0
  198. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/parser.rb +26 -39
  199. data/bundle/ruby/3.2.0/gems/slim-5.2.1/lib/slim/railtie.rb +19 -0
  200. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/escaper.rb +1 -1
  201. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/filter.rb +3 -2
  202. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/parser.rb +4 -3
  203. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart.rb +1 -0
  204. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/splat/builder.rb +16 -8
  205. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/splat/filter.rb +6 -4
  206. data/bundle/ruby/3.2.0/gems/slim-5.2.1/lib/slim/template.rb +6 -0
  207. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/translator.rb +4 -3
  208. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/version.rb +2 -1
  209. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim.rb +2 -0
  210. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/slim.gemspec +14 -5
  211. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/CHANGES +39 -1
  212. data/bundle/ruby/3.2.0/gems/temple-0.10.3/Gemfile +2 -0
  213. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/README.md +1 -1
  214. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/engine.rb +1 -0
  215. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/engine.rb +3 -0
  216. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/parser.rb +2 -1
  217. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/template.rb +1 -0
  218. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/trimming.rb +1 -0
  219. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/exceptions.rb +1 -0
  220. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filter.rb +1 -0
  221. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/filters/ambles.rb +22 -0
  222. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/code_merger.rb +1 -0
  223. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/control_flow.rb +1 -0
  224. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/dynamic_inliner.rb +2 -1
  225. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +69 -0
  226. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/encoding.rb +1 -0
  227. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/eraser.rb +1 -0
  228. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/escapable.rb +1 -0
  229. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/multi_flattener.rb +1 -0
  230. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/remove_bom.rb +1 -0
  231. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/static_analyzer.rb +1 -0
  232. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/static_merger.rb +1 -0
  233. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/string_splitter.rb +13 -1
  234. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/validator.rb +1 -0
  235. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generator.rb +5 -2
  236. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/array.rb +1 -0
  237. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/array_buffer.rb +1 -0
  238. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/erb.rb +1 -0
  239. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/rails_output_buffer.rb +4 -4
  240. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/string_buffer.rb +2 -1
  241. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/grammar.rb +1 -0
  242. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_merger.rb +1 -0
  243. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_remover.rb +1 -0
  244. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_sorter.rb +1 -0
  245. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/dispatcher.rb +1 -0
  246. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/fast.rb +1 -0
  247. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/filter.rb +1 -0
  248. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/pretty.rb +1 -0
  249. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/safe.rb +1 -0
  250. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/map.rb +1 -0
  251. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/dispatcher.rb +1 -0
  252. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/engine_dsl.rb +1 -0
  253. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/grammar_dsl.rb +4 -2
  254. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/options.rb +1 -0
  255. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/template.rb +1 -0
  256. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/parser.rb +1 -0
  257. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/static_analyzer.rb +1 -0
  258. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates/rails.rb +7 -2
  259. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates/tilt.rb +2 -9
  260. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates.rb +1 -0
  261. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/utils.rb +5 -15
  262. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/version.rb +4 -0
  263. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple.rb +3 -0
  264. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/temple.gemspec +4 -6
  265. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/History.rdoc +149 -0
  266. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/README.md +417 -0
  267. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/cell.rb +9 -9
  268. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/row.rb +18 -4
  269. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +66 -0
  270. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +284 -0
  271. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table.rb +49 -18
  272. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +13 -0
  273. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/version.rb +1 -1
  274. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table.rb +2 -2
  275. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/terminal-table.gemspec +3 -4
  276. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/COPYING +1 -0
  277. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_emacs_org.rb +2 -0
  278. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_handlebars.rb +2 -0
  279. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_jbuilder.rb +2 -0
  280. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_org.rb +2 -0
  281. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/asciidoc.rb +15 -0
  282. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/babel.rb +8 -0
  283. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/builder.rb +42 -0
  284. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/cli.rb +134 -0
  285. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/coffee.rb +39 -0
  286. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/commonmarker.rb +95 -0
  287. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/creole.rb +16 -0
  288. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/csv.rb +6 -18
  289. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erb.rb +23 -21
  290. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/erubi.rb +55 -0
  291. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/etanni.rb +5 -4
  292. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/haml.rb +94 -0
  293. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/kramdown.rb +13 -0
  294. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/liquid.rb +10 -17
  295. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/livescript.rb +11 -0
  296. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/mapping.rb +228 -109
  297. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/markaby.rb +5 -7
  298. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/nokogiri.rb +11 -10
  299. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/pandoc.rb +39 -0
  300. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/pipeline.rb +19 -0
  301. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/plain.rb +5 -0
  302. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/prawn.rb +28 -0
  303. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/radius.rb +41 -0
  304. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rdiscount.rb +23 -0
  305. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rdoc.rb +11 -0
  306. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/redcarpet.rb +31 -0
  307. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/redcloth.rb +13 -0
  308. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rst-pandoc.rb +10 -0
  309. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/sass.rb +78 -0
  310. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/slim.rb +5 -0
  311. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/string.rb +9 -3
  312. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/template.rb +611 -0
  313. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/typescript.rb +19 -0
  314. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/yajl.rb +5 -11
  315. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt.rb +68 -43
  316. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/CHANGELOG.md +291 -0
  317. data/bundle/ruby/{3.0.0/gems/unicode-display_width-1.8.0 → 3.2.0/gems/unicode-display_width-3.1.4}/MIT-LICENSE.txt +1 -1
  318. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/README.md +194 -0
  319. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
  320. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb +10 -0
  321. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb +52 -0
  322. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/index.rb +34 -0
  323. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/no_string_ext.rb +8 -0
  324. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/reline_ext.rb +14 -0
  325. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/string_ext.rb +9 -0
  326. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width.rb +247 -0
  327. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/CHANGELOG.md +191 -0
  328. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/CODE_OF_CONDUCT.md +74 -0
  329. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/Gemfile +7 -0
  330. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/Gemfile.lock +33 -0
  331. data/bundle/ruby/{3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt → 3.2.0/gems/unicode-emoji-4.0.4/MIT-LICENSE.txt} +1 -3
  332. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/README.md +205 -0
  333. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
  334. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/generate_constants.rb +344 -0
  335. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/constants.rb +49 -0
  336. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +8 -0
  337. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  338. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  339. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  340. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  341. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  342. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  343. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  344. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  345. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  346. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  347. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  348. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  349. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  350. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text.rb +8 -0
  351. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  352. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  353. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  354. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  355. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  356. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +8 -0
  357. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  358. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  359. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  360. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  361. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  362. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  363. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  364. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  365. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  366. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  367. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  368. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  369. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  370. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  371. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  372. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  373. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  374. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  375. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
  376. data/bundle/ruby/{3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width → 3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji}/index.rb +5 -3
  377. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/lazy_constants.rb +56 -0
  378. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/list.rb +13 -0
  379. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji.rb +111 -0
  380. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/unicode-emoji.gemspec +22 -0
  381. data/lib/brakeman/app_tree.rb +50 -13
  382. data/lib/brakeman/checks/check_deserialize.rb +4 -1
  383. data/lib/brakeman/checks/check_eol_rails.rb +7 -0
  384. data/lib/brakeman/checks/check_eol_ruby.rb +2 -0
  385. data/lib/brakeman/checks/check_evaluation.rb +45 -8
  386. data/lib/brakeman/checks/check_execute.rb +28 -0
  387. data/lib/brakeman/checks/check_model_attr_accessible.rb +1 -0
  388. data/lib/brakeman/checks/check_ransack.rb +53 -0
  389. data/lib/brakeman/checks/check_render.rb +6 -1
  390. data/lib/brakeman/checks/check_session_settings.rb +2 -3
  391. data/lib/brakeman/checks/check_sql.rb +1 -1
  392. data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
  393. data/lib/brakeman/checks/check_weak_rsa_key.rb +1 -1
  394. data/lib/brakeman/commandline.rb +5 -0
  395. data/lib/brakeman/file_parser.rb +35 -2
  396. data/lib/brakeman/messages.rb +1 -1
  397. data/lib/brakeman/options.rb +49 -4
  398. data/lib/brakeman/parsers/erubis_patch.rb +11 -0
  399. data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
  400. data/lib/brakeman/parsers/rails2_erubis.rb +3 -0
  401. data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +4 -0
  402. data/lib/brakeman/parsers/rails3_erubis.rb +5 -1
  403. data/lib/brakeman/parsers/slim_embedded.rb +2 -0
  404. data/lib/brakeman/parsers/template_parser.rb +32 -7
  405. data/lib/brakeman/processor.rb +2 -0
  406. data/lib/brakeman/processors/alias_processor.rb +51 -21
  407. data/lib/brakeman/processors/base_processor.rb +2 -0
  408. data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
  409. data/lib/brakeman/processors/haml_template_processor.rb +7 -1
  410. data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
  411. data/lib/brakeman/processors/lib/module_helper.rb +31 -1
  412. data/lib/brakeman/processors/lib/render_helper.rb +38 -1
  413. data/lib/brakeman/processors/library_processor.rb +6 -0
  414. data/lib/brakeman/processors/template_processor.rb +1 -1
  415. data/lib/brakeman/report/ignore/config.rb +0 -1
  416. data/lib/brakeman/report/pager.rb +1 -1
  417. data/lib/brakeman/report/report_html.rb +1 -1
  418. data/lib/brakeman/report/report_junit.rb +4 -57
  419. data/lib/brakeman/report/report_markdown.rb +1 -1
  420. data/lib/brakeman/report/report_sarif.rb +122 -2
  421. data/lib/brakeman/report/report_table.rb +2 -2
  422. data/lib/brakeman/report/report_tabs.rb +0 -1
  423. data/lib/brakeman/report/report_text.rb +8 -1
  424. data/lib/brakeman/report/templates/header.html.erb +7 -2
  425. data/lib/brakeman/report/templates/ignored_warnings.html.erb +3 -3
  426. data/lib/brakeman/rescanner.rb +40 -390
  427. data/lib/brakeman/scanner.rb +181 -86
  428. data/lib/brakeman/tracker/config.rb +22 -8
  429. data/lib/brakeman/tracker/controller.rb +14 -10
  430. data/lib/brakeman/tracker/file_cache.rb +83 -0
  431. data/lib/brakeman/tracker.rb +26 -3
  432. data/lib/brakeman/util.rb +1 -3
  433. data/lib/brakeman/version.rb +1 -1
  434. data/lib/brakeman/warning.rb +1 -1
  435. data/lib/brakeman/warning_codes.rb +1 -0
  436. data/lib/brakeman.rb +27 -5
  437. data/lib/ruby_parser/bm_sexp.rb +5 -1
  438. metadata +509 -406
  439. data/bundle/ruby/3.0.0/gems/haml-5.2.2/Gemfile +0 -16
  440. data/bundle/ruby/3.0.0/gems/haml-5.2.2/TODO +0 -24
  441. data/bundle/ruby/3.0.0/gems/haml-5.2.2/haml.gemspec +0 -45
  442. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -219
  443. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -237
  444. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -150
  445. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/buffer.rb +0 -182
  446. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/compiler.rb +0 -330
  447. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/engine.rb +0 -238
  448. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/escapable.rb +0 -77
  449. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/exec.rb +0 -347
  450. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/filters.rb +0 -399
  451. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/generator.rb +0 -42
  452. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -60
  453. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -132
  454. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  455. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -20
  456. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -33
  457. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -114
  458. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/helpers.rb +0 -709
  459. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/options.rb +0 -273
  460. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/plugin.rb +0 -54
  461. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/railtie.rb +0 -53
  462. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -47
  463. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/template/options.rb +0 -27
  464. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/template.rb +0 -39
  465. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -124
  466. data/bundle/ruby/3.0.0/gems/haml-5.2.2/lib/haml.rb +0 -25
  467. data/bundle/ruby/3.0.0/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -15
  468. data/bundle/ruby/3.0.0/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -12
  469. data/bundle/ruby/3.0.0/gems/parallel-1.23.0/lib/parallel/version.rb +0 -4
  470. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/NEWS.md +0 -178
  471. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb +0 -694
  472. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/source.rb +0 -298
  473. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
  474. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
  475. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md +0 -191
  476. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
  477. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
  478. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
  479. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
  480. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
  481. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  482. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  483. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
  484. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
  485. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
  486. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
  487. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
  488. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
  489. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  490. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
  491. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
  492. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
  493. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
  494. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
  495. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
  496. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
  497. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
  498. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
  499. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
  500. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
  501. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
  502. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
  503. data/bundle/ruby/3.0.0/gems/slim-4.1.0/Gemfile +0 -70
  504. data/bundle/ruby/3.0.0/gems/slim-4.1.0/lib/slim/template.rb +0 -19
  505. data/bundle/ruby/3.0.0/gems/temple-0.8.2/Gemfile +0 -3
  506. data/bundle/ruby/3.0.0/gems/temple-0.8.2/lib/temple/version.rb +0 -3
  507. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
  508. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
  509. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
  510. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
  511. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -27
  512. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -16
  513. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -24
  514. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -37
  515. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -58
  516. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -88
  517. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -25
  518. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -3
  519. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -32
  520. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -43
  521. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -86
  522. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -25
  523. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/less.rb +0 -30
  524. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -23
  525. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -22
  526. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -57
  527. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -16
  528. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -43
  529. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -48
  530. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -39
  531. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -40
  532. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -86
  533. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -23
  534. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -23
  535. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -78
  536. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -34
  537. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/template.rb +0 -308
  538. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -26
  539. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -22
  540. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -137
  541. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/README.md +0 -124
  542. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  543. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
  544. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
  545. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
  546. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
  547. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  548. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  549. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/README.txt +0 -0
  550. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  551. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  552. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  553. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  554. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  555. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  556. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  557. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  558. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  559. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  560. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  561. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  562. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  563. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  564. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  565. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  566. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  567. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  568. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  569. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  570. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  571. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  572. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  573. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  574. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  575. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  576. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  577. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  578. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  579. /data/bundle/ruby/{3.0.0 → 3.2.0}/gems/erubis-2.7.0/setup.rb +0 -0
  580. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/AUTHORS +0 -0
  581. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/COPYING +0 -0
  582. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/LICENSE +0 -0
  583. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/TODO +0 -0
  584. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/builtin_styles.rb +0 -0
  585. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/color_scheme.rb +0 -0
  586. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/compatibility.rb +0 -0
  587. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/custom_errors.rb +0 -0
  588. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/import.rb +0 -0
  589. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/list.rb +0 -0
  590. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu/item.rb +0 -0
  591. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/paginator.rb +0 -0
  592. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/simulate.rb +0 -0
  593. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/statement.rb +0 -0
  594. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/string.rb +0 -0
  595. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/string_extensions.rb +0 -0
  596. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/style.rb +0 -0
  597. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/template_renderer.rb +0 -0
  598. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/ncurses.rb +0 -0
  599. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.2.0/gems/highline-3.1.2}/lib/highline/wrapper.rb +0 -0
  600. /data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.2.0/gems/parallel-1.27.0}/MIT-LICENSE.txt +0 -0
  601. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5/LICENSE.txt → 3.2.0/gems/reline-0.6.1/BSDL} +0 -0
  602. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/attlistdecl.rb +0 -0
  603. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/cdata.rb +0 -0
  604. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/child.rb +0 -0
  605. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/comment.rb +0 -0
  606. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/doctype.rb +0 -0
  607. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/attlistdecl.rb +0 -0
  608. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/dtd.rb +0 -0
  609. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/elementdecl.rb +0 -0
  610. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/entitydecl.rb +0 -0
  611. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/notationdecl.rb +0 -0
  612. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/encoding.rb +0 -0
  613. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/default.rb +0 -0
  614. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/transitive.rb +0 -0
  615. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/instruction.rb +0 -0
  616. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/light/node.rb +0 -0
  617. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/output.rb +0 -0
  618. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parent.rb +0 -0
  619. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/lightparser.rb +0 -0
  620. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/ultralightparser.rb +0 -0
  621. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/quickpath.rb +0 -0
  622. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/sax2listener.rb +0 -0
  623. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/security.rb +0 -0
  624. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/streamlistener.rb +0 -0
  625. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/undefinednamespaceexception.rb +0 -0
  626. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/relaxng.rb +0 -0
  627. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/validation.rb +0 -0
  628. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/validationexception.rb +0 -0
  629. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xmldecl.rb +0 -0
  630. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xmltokens.rb +0 -0
  631. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xpath.rb +0 -0
  632. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.2.0/gems/rexml-3.4.1}/lib/rexml.rb +0 -0
  633. /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/Manifest.txt +0 -0
  634. /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/README.rdoc +0 -0
  635. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/Manifest.txt +0 -0
  636. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/README.rdoc +0 -0
  637. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/debugging.md +0 -0
  638. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/gauntlet.md +0 -0
  639. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  640. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  641. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  642. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.2.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.rb +0 -0
  643. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/Manifest.txt +0 -0
  644. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/README.rdoc +0 -0
  645. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/composite_sexp_processor.rb +0 -0
  646. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/strict_sexp.rb +0 -0
  647. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.2.0/gems/sexp_processor-4.17.3}/lib/unique.rb +0 -0
  648. /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/EXPRESSIONS.md +0 -0
  649. /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/LICENSE +0 -0
  650. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Gemfile +0 -0
  651. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/LICENSE.txt +0 -0
  652. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Manifest +0 -0
  653. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Todo.rdoc +0 -0
  654. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/import.rb +0 -0
  655. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table_helper.rb +0 -0
@@ -24,7 +24,7 @@ module Parallel
24
24
  attr_reader :backtrace
25
25
 
26
26
  def initialize(original)
27
- super "#{original.class}: #{original.message}"
27
+ super("#{original.class}: #{original.message}")
28
28
  @backtrace = original.backtrace
29
29
  end
30
30
  end
@@ -255,7 +255,7 @@ module Parallel
255
255
 
256
256
  if options[:in_processes] && options[:in_threads]
257
257
  raise ArgumentError, "Please specify only one of `in_processes` or `in_threads`."
258
- elsif RUBY_PLATFORM =~ (/java/) && !(options[:in_processes])
258
+ elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
259
259
  method = :in_threads
260
260
  size = options[method] || processor_count
261
261
  elsif options[:in_threads]
@@ -300,12 +300,12 @@ module Parallel
300
300
  map(array, options.merge(with_index: true), &block)
301
301
  end
302
302
 
303
- def flat_map(*args, &block)
304
- map(*args, &block).flatten(1)
303
+ def flat_map(...)
304
+ map(...).flatten(1)
305
305
  end
306
306
 
307
- def filter_map(*args, &block)
308
- map(*args, &block).compact
307
+ def filter_map(...)
308
+ map(...).compact
309
309
  end
310
310
 
311
311
  # Number of physical processor cores on the current system.
@@ -328,11 +328,7 @@ module Parallel
328
328
  end
329
329
  cores.count
330
330
  when /mswin|mingw/
331
- require 'win32ole'
332
- result_set = WIN32OLE.connect("winmgmts://").ExecQuery(
333
- "select NumberOfCores from Win32_Processor"
334
- )
335
- result_set.to_enum.collect(&:NumberOfCores).reduce(:+)
331
+ physical_processor_count_windows
336
332
  else
337
333
  processor_count
338
334
  end
@@ -341,10 +337,10 @@ module Parallel
341
337
  end
342
338
  end
343
339
 
344
- # Number of processors seen by the OS, used for process scheduling
340
+ # Number of processors seen by the OS or value considering CPU quota if the process is inside a cgroup,
341
+ # used for process scheduling
345
342
  def processor_count
346
- require 'etc'
347
- @processor_count ||= Integer(ENV['PARALLEL_PROCESSOR_COUNT'] || Etc.nprocessors)
343
+ @processor_count ||= Integer(ENV['PARALLEL_PROCESSOR_COUNT'] || available_processor_count)
348
344
  end
349
345
 
350
346
  def worker_number
@@ -358,8 +354,35 @@ module Parallel
358
354
 
359
355
  private
360
356
 
357
+ def physical_processor_count_windows
358
+ # Get-CimInstance introduced in PowerShell 3 or earlier: https://learn.microsoft.com/en-us/previous-versions/powershell/module/cimcmdlets/get-ciminstance?view=powershell-3.0
359
+ result = run(
360
+ 'powershell -command "Get-CimInstance -ClassName Win32_Processor -Property NumberOfCores ' \
361
+ '| Select-Object -Property NumberOfCores"'
362
+ )
363
+ if !result || $?.exitstatus != 0
364
+ # fallback to deprecated wmic for older systems
365
+ result = run("wmic cpu get NumberOfCores")
366
+ end
367
+ if !result || $?.exitstatus != 0
368
+ # Bail out if both commands returned something unexpected
369
+ warn "guessing pyhsical processor count"
370
+ processor_count
371
+ else
372
+ # powershell: "\nNumberOfCores\n-------------\n 4\n\n\n"
373
+ # wmic: "NumberOfCores \n\n4 \n\n\n\n"
374
+ result.scan(/\d+/).map(&:to_i).reduce(:+)
375
+ end
376
+ end
377
+
378
+ def run(command)
379
+ IO.popen(command, &:read)
380
+ rescue Errno::ENOENT
381
+ # Ignore
382
+ end
383
+
361
384
  def add_progress_bar!(job_factory, options)
362
- if progress_options = options[:progress]
385
+ if (progress_options = options[:progress])
363
386
  raise "Progressbar can only be used with array like items" if job_factory.size == Float::INFINITY
364
387
  require 'ruby-progressbar'
365
388
 
@@ -388,7 +411,7 @@ module Parallel
388
411
  results = []
389
412
  exception = nil
390
413
  begin
391
- while set = job_factory.next
414
+ while (set = job_factory.next)
392
415
  item, index = set
393
416
  results << with_instrumentation(item, index, options) do
394
417
  call_with_index(item, index, options, &block)
@@ -411,7 +434,7 @@ module Parallel
411
434
  in_threads(options) do |worker_num|
412
435
  self.worker_number = worker_num
413
436
  # as long as there are more jobs, work on one of them
414
- while !exception && set = job_factory.next
437
+ while !exception && (set = job_factory.next)
415
438
  begin
416
439
  item, index = set
417
440
  result = with_instrumentation item, index, options do
@@ -455,7 +478,7 @@ module Parallel
455
478
 
456
479
  # start
457
480
  ractors.dup.each do |ractor|
458
- if set = job_factory.next
481
+ if (set = job_factory.next)
459
482
  item, index = set
460
483
  instrument_start item, index, options
461
484
  ractor.send [callback, item, index]
@@ -466,7 +489,7 @@ module Parallel
466
489
  end
467
490
 
468
491
  # replace with new items
469
- while set = job_factory.next
492
+ while (set = job_factory.next)
470
493
  item_next, index_next = set
471
494
  done, (exception, result, item, index) = Ractor.select(*ractors)
472
495
  if exception
@@ -640,13 +663,46 @@ module Parallel
640
663
  end
641
664
 
642
665
  def instrument_finish(item, index, result, options)
643
- return unless on_finish = options[:finish]
666
+ return unless (on_finish = options[:finish])
667
+ return instrument_finish_in_order(item, index, result, options) if options[:finish_in_order]
644
668
  options[:mutex].synchronize { on_finish.call(item, index, result) }
645
669
  end
646
670
 
671
+ # yield results in the order of the input items
672
+ # needs to use `options` to store state between executions
673
+ # needs to use `done` index since a nil result would also be valid
674
+ def instrument_finish_in_order(item, index, result, options)
675
+ options[:mutex].synchronize do
676
+ # initialize our state
677
+ options[:finish_done] ||= []
678
+ options[:finish_expecting] ||= 0 # we wait for item at index 0
679
+
680
+ # store current result
681
+ options[:finish_done][index] = [item, result]
682
+
683
+ # yield all results that are now in order
684
+ break unless index == options[:finish_expecting]
685
+ index.upto(options[:finish_done].size).each do |i|
686
+ break unless (done = options[:finish_done][i])
687
+ options[:finish_done][i] = nil # allow GC to free this item and result
688
+ options[:finish].call(done[0], i, done[1])
689
+ options[:finish_expecting] += 1
690
+ end
691
+ end
692
+ end
693
+
647
694
  def instrument_start(item, index, options)
648
- return unless on_start = options[:start]
695
+ return unless (on_start = options[:start])
649
696
  options[:mutex].synchronize { on_start.call(item, index) }
650
697
  end
698
+
699
+ def available_processor_count
700
+ gem 'concurrent-ruby', '>= 1.3.4'
701
+ require 'concurrent-ruby'
702
+ Concurrent.available_processor_count.floor
703
+ rescue LoadError
704
+ require 'etc'
705
+ Etc.nprocessors
706
+ end
651
707
  end
652
708
  end
@@ -0,0 +1,56 @@
1
+ Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
2
+ You can redistribute it and/or modify it under either the terms of the
3
+ 2-clause BSDL (see the file BSDL), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) give non-standard binaries non-standard names, with
21
+ instructions on where to get the original software distribution.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or binary form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a) distribute the binaries and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c) give non-standard binaries non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution
42
+ are not written by the author, so that they are not under these terms.
43
+
44
+ For the list of those files and their copying conditions, see the
45
+ file LEGAL.
46
+
47
+ 5. The scripts and library files supplied as input to or produced as
48
+ output from the software do not automatically fall under the
49
+ copyright of the software, but belong to whomever generated them,
50
+ and may be sold commercially, and may be aggregated with this
51
+ software.
52
+
53
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
54
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
55
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
56
+ PURPOSE.
@@ -0,0 +1,94 @@
1
+ [![Gem Version](https://badge.fury.io/rb/reline.svg)](https://badge.fury.io/rb/reline)
2
+ [![CI](https://github.com/ruby/reline/actions/workflows/reline.yml/badge.svg)](https://github.com/ruby/reline/actions/workflows/reline.yml)
3
+
4
+ This is a screen capture of *IRB improved by Reline*.
5
+
6
+ ![IRB improved by Reline](https://raw.githubusercontent.com/wiki/ruby/reline/images/irb_improved_by_reline.gif)
7
+
8
+ # Reline
9
+
10
+ Reline is compatible with the API of Ruby's stdlib 'readline', GNU Readline and Editline by pure Ruby implementation.
11
+
12
+ ## Usage
13
+
14
+ ### Single line editing mode
15
+
16
+ It's compatible with the readline standard library.
17
+
18
+ See [the document of readline stdlib](https://ruby-doc.org/stdlib/exts/readline/Readline.html) or [bin/example](https://github.com/ruby/reline/blob/master/bin/example).
19
+
20
+ ### Multi-line editing mode
21
+
22
+ ```ruby
23
+ require "reline"
24
+
25
+ prompt = 'prompt> '
26
+ use_history = true
27
+
28
+ begin
29
+ while true
30
+ text = Reline.readmultiline(prompt, use_history) do |multiline_input|
31
+ # Accept the input until `end` is entered
32
+ multiline_input.split.last == "end"
33
+ end
34
+
35
+ puts 'You entered:'
36
+ puts text
37
+ end
38
+ # If you want to exit, type Ctrl-C
39
+ rescue Interrupt
40
+ puts '^C'
41
+ exit 0
42
+ end
43
+ ```
44
+
45
+ ```bash
46
+ $ ruby example.rb
47
+ prompt> aaa
48
+ prompt> bbb
49
+ prompt> end
50
+ You entered:
51
+ aaa
52
+ bbb
53
+ end
54
+ ```
55
+
56
+ See also: [test/reline/yamatanooroti/multiline_repl](https://github.com/ruby/reline/blob/master/test/reline/yamatanooroti/multiline_repl)
57
+
58
+ ## Documentation
59
+
60
+ ### Reline::Face
61
+
62
+ You can modify the text color and text decorations in your terminal emulator.
63
+ See [doc/reline/face.md](./doc/reline/face.md)
64
+
65
+ ## Contributing
66
+
67
+ Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/reline.
68
+
69
+ ### Run tests
70
+
71
+ > **Note**
72
+ > Please make sure you have `libvterm` installed for `yamatanooroti` tests (integration tests).
73
+
74
+ If you use Homebrew, you can install it by running `brew install libvterm`.
75
+
76
+ ```bash
77
+ WITH_VTERM=1 bundle install
78
+ WITH_VTERM=1 bundle exec rake test test_yamatanooroti
79
+ ```
80
+
81
+ ## Releasing
82
+
83
+ ```bash
84
+ rake release
85
+ gh release create vX.Y.Z --generate-notes
86
+ ```
87
+
88
+ ## License
89
+
90
+ The gem is available as open source under the terms of the [Ruby License](https://www.ruby-lang.org/en/about/license.txt).
91
+
92
+ ## Acknowledgments for [rb-readline](https://github.com/ConnorAtherton/rb-readline)
93
+
94
+ In developing Reline, we have used some of the rb-readline implementation, so this library includes [copyright notice, list of conditions and the disclaimer](license_of_rb-readline) under the 3-Clause BSD License. Reline would never have been developed without rb-readline. Thank you for the tremendous accomplishments.
@@ -0,0 +1,373 @@
1
+ class Reline::Config
2
+ attr_reader :test_mode
3
+
4
+ KEYSEQ_PATTERN = /\\(?:C|Control)-[A-Za-z_]|\\(?:M|Meta)-[0-9A-Za-z_]|\\(?:C|Control)-\\(?:M|Meta)-[A-Za-z_]|\\(?:M|Meta)-\\(?:C|Control)-[A-Za-z_]|\\e|\\[\\\"\'abdfnrtv]|\\\d{1,3}|\\x\h{1,2}|./
5
+
6
+ class InvalidInputrc < RuntimeError
7
+ attr_accessor :file, :lineno
8
+ end
9
+
10
+ VARIABLE_NAMES = %w{
11
+ completion-ignore-case
12
+ convert-meta
13
+ disable-completion
14
+ history-size
15
+ keyseq-timeout
16
+ show-all-if-ambiguous
17
+ show-mode-in-prompt
18
+ vi-cmd-mode-string
19
+ vi-ins-mode-string
20
+ emacs-mode-string
21
+ enable-bracketed-paste
22
+ isearch-terminators
23
+ }
24
+ VARIABLE_NAME_SYMBOLS = VARIABLE_NAMES.map { |v| :"#{v.tr(?-, ?_)}" }
25
+ VARIABLE_NAME_SYMBOLS.each do |v|
26
+ attr_accessor v
27
+ end
28
+
29
+ attr_accessor :autocompletion
30
+
31
+ def initialize
32
+ reset_variables
33
+ end
34
+
35
+ def reset
36
+ if editing_mode_is?(:vi_command)
37
+ @editing_mode_label = :vi_insert
38
+ end
39
+ @oneshot_key_bindings.clear
40
+ end
41
+
42
+ def reset_variables
43
+ @additional_key_bindings = { # from inputrc
44
+ emacs: Reline::KeyActor::Base.new,
45
+ vi_insert: Reline::KeyActor::Base.new,
46
+ vi_command: Reline::KeyActor::Base.new
47
+ }
48
+ @oneshot_key_bindings = Reline::KeyActor::Base.new
49
+ @editing_mode_label = :emacs
50
+ @keymap_label = :emacs
51
+ @keymap_prefix = []
52
+ @default_key_bindings = {
53
+ emacs: Reline::KeyActor::Base.new(Reline::KeyActor::EMACS_MAPPING),
54
+ vi_insert: Reline::KeyActor::Base.new(Reline::KeyActor::VI_INSERT_MAPPING),
55
+ vi_command: Reline::KeyActor::Base.new(Reline::KeyActor::VI_COMMAND_MAPPING)
56
+ }
57
+ @vi_cmd_mode_string = '(cmd)'
58
+ @vi_ins_mode_string = '(ins)'
59
+ @emacs_mode_string = '@'
60
+ # https://tiswww.case.edu/php/chet/readline/readline.html#IDX25
61
+ @history_size = -1 # unlimited
62
+ @keyseq_timeout = 500
63
+ @test_mode = false
64
+ @autocompletion = false
65
+ @convert_meta = seven_bit_encoding?(Reline::IOGate.encoding)
66
+ @loaded = false
67
+ @enable_bracketed_paste = true
68
+ @show_mode_in_prompt = false
69
+ @default_inputrc_path = nil
70
+ end
71
+
72
+ def editing_mode
73
+ @default_key_bindings[@editing_mode_label]
74
+ end
75
+
76
+ def editing_mode=(val)
77
+ @editing_mode_label = val
78
+ end
79
+
80
+ def editing_mode_is?(*val)
81
+ val.any?(@editing_mode_label)
82
+ end
83
+
84
+ def keymap
85
+ @default_key_bindings[@keymap_label]
86
+ end
87
+
88
+ def loaded?
89
+ @loaded
90
+ end
91
+
92
+ def inputrc_path
93
+ case ENV['INPUTRC']
94
+ when nil, ''
95
+ else
96
+ return File.expand_path(ENV['INPUTRC'])
97
+ end
98
+
99
+ # In the XDG Specification, if ~/.config/readline/inputrc exists, then
100
+ # ~/.inputrc should not be read, but for compatibility with GNU Readline,
101
+ # if ~/.inputrc exists, then it is given priority.
102
+ home_rc_path = File.expand_path('~/.inputrc')
103
+ return home_rc_path if File.exist?(home_rc_path)
104
+
105
+ case path = ENV['XDG_CONFIG_HOME']
106
+ when nil, ''
107
+ else
108
+ path = File.join(path, 'readline/inputrc')
109
+ return path if File.exist?(path) and path == File.expand_path(path)
110
+ end
111
+
112
+ path = File.expand_path('~/.config/readline/inputrc')
113
+ return path if File.exist?(path)
114
+
115
+ return home_rc_path
116
+ end
117
+
118
+ private def default_inputrc_path
119
+ @default_inputrc_path ||= inputrc_path
120
+ end
121
+
122
+ def read(file = nil)
123
+ @loaded = true
124
+ file ||= default_inputrc_path
125
+ begin
126
+ if file.respond_to?(:readlines)
127
+ lines = file.readlines
128
+ else
129
+ lines = File.readlines(file)
130
+ end
131
+ rescue Errno::ENOENT
132
+ return nil
133
+ end
134
+
135
+ read_lines(lines, file)
136
+ self
137
+ rescue InvalidInputrc => e
138
+ warn e.message
139
+ nil
140
+ end
141
+
142
+ def key_bindings
143
+ # The key bindings for each editing mode will be overwritten by the user-defined ones.
144
+ Reline::KeyActor::Composite.new([@oneshot_key_bindings, @additional_key_bindings[@editing_mode_label], @default_key_bindings[@editing_mode_label]])
145
+ end
146
+
147
+ def add_oneshot_key_binding(keystroke, target)
148
+ # IRB sets invalid keystroke [Reline::Key]. We should ignore it.
149
+ return unless keystroke.all? { |c| c.is_a?(Integer) }
150
+
151
+ @oneshot_key_bindings.add(keystroke, target)
152
+ end
153
+
154
+ def reset_oneshot_key_bindings
155
+ @oneshot_key_bindings.clear
156
+ end
157
+
158
+ def add_default_key_binding_by_keymap(keymap, keystroke, target)
159
+ @default_key_bindings[keymap].add(keystroke, target)
160
+ end
161
+
162
+ def add_default_key_binding(keystroke, target)
163
+ add_default_key_binding_by_keymap(@keymap_label, keystroke, target)
164
+ end
165
+
166
+ def read_lines(lines, file = nil)
167
+ if not lines.empty? and lines.first.encoding != Reline.encoding_system_needs
168
+ begin
169
+ lines = lines.map do |l|
170
+ l.encode(Reline.encoding_system_needs)
171
+ rescue Encoding::UndefinedConversionError
172
+ mes = "The inputrc encoded in #{lines.first.encoding.name} can't be converted to the locale #{Reline.encoding_system_needs.name}."
173
+ raise Reline::ConfigEncodingConversionError.new(mes)
174
+ end
175
+ end
176
+ end
177
+ if_stack = []
178
+
179
+ lines.each_with_index do |line, no|
180
+ next if line.match(/\A\s*#/)
181
+
182
+ no += 1
183
+
184
+ line = line.chomp.lstrip
185
+ if line.start_with?('$')
186
+ handle_directive(line[1..-1], file, no, if_stack)
187
+ next
188
+ end
189
+
190
+ next if if_stack.any? { |_no, skip| skip }
191
+
192
+ case line
193
+ when /^set +([^ ]+) +(.+)/i
194
+ # value ignores everything after a space, raw_value does not.
195
+ var, value, raw_value = $1.downcase, $2.partition(' ').first, $2
196
+ bind_variable(var, value, raw_value)
197
+ when /^\s*(?:M|Meta)-([a-zA-Z_])\s*:\s*(.*)\s*$/o
198
+ bind_key("\"\\M-#$1\"", $2)
199
+ when /^\s*(?:C|Control)-([a-zA-Z_])\s*:\s*(.*)\s*$/o
200
+ bind_key("\"\\C-#$1\"", $2)
201
+ when /^\s*(?:(?:C|Control)-(?:M|Meta)|(?:M|Meta)-(?:C|Control))-([a-zA-Z_])\s*:\s*(.*)\s*$/o
202
+ bind_key("\"\\M-\\C-#$1\"", $2)
203
+ when /^\s*("#{KEYSEQ_PATTERN}+")\s*:\s*(.*)\s*$/o
204
+ bind_key($1, $2)
205
+ end
206
+ end
207
+ unless if_stack.empty?
208
+ raise InvalidInputrc, "#{file}:#{if_stack.last[0]}: unclosed if"
209
+ end
210
+ end
211
+
212
+ def handle_directive(directive, file, no, if_stack)
213
+ directive, args = directive.split(' ')
214
+ case directive
215
+ when 'if'
216
+ condition = false
217
+ case args
218
+ when /^mode=(vi|emacs)$/i
219
+ mode = $1.downcase
220
+ # NOTE: mode=vi means vi-insert mode
221
+ mode = 'vi_insert' if mode == 'vi'
222
+ if @editing_mode_label == mode.to_sym
223
+ condition = true
224
+ end
225
+ when 'term'
226
+ when 'version'
227
+ else # application name
228
+ condition = true if args == 'Ruby'
229
+ condition = true if args == 'Reline'
230
+ end
231
+ if_stack << [no, !condition]
232
+ when 'else'
233
+ if if_stack.empty?
234
+ raise InvalidInputrc, "#{file}:#{no}: unmatched else"
235
+ end
236
+ if_stack.last[1] = !if_stack.last[1]
237
+ when 'endif'
238
+ if if_stack.empty?
239
+ raise InvalidInputrc, "#{file}:#{no}: unmatched endif"
240
+ end
241
+ if_stack.pop
242
+ when 'include'
243
+ read(File.expand_path(args))
244
+ end
245
+ end
246
+
247
+ def bind_variable(name, value, raw_value)
248
+ case name
249
+ when 'history-size'
250
+ begin
251
+ @history_size = Integer(value)
252
+ rescue ArgumentError
253
+ @history_size = 500
254
+ end
255
+ when 'isearch-terminators'
256
+ @isearch_terminators = retrieve_string(raw_value)
257
+ when 'editing-mode'
258
+ case value
259
+ when 'emacs'
260
+ @editing_mode_label = :emacs
261
+ @keymap_label = :emacs
262
+ @keymap_prefix = []
263
+ when 'vi'
264
+ @editing_mode_label = :vi_insert
265
+ @keymap_label = :vi_insert
266
+ @keymap_prefix = []
267
+ end
268
+ when 'keymap'
269
+ case value
270
+ when 'emacs', 'emacs-standard'
271
+ @keymap_label = :emacs
272
+ @keymap_prefix = []
273
+ when 'emacs-ctlx'
274
+ @keymap_label = :emacs
275
+ @keymap_prefix = [?\C-x.ord]
276
+ when 'emacs-meta'
277
+ @keymap_label = :emacs
278
+ @keymap_prefix = [?\e.ord]
279
+ when 'vi', 'vi-move', 'vi-command'
280
+ @keymap_label = :vi_command
281
+ @keymap_prefix = []
282
+ when 'vi-insert'
283
+ @keymap_label = :vi_insert
284
+ @keymap_prefix = []
285
+ end
286
+ when 'keyseq-timeout'
287
+ @keyseq_timeout = value.to_i
288
+ when 'show-mode-in-prompt'
289
+ case value
290
+ when 'off'
291
+ @show_mode_in_prompt = false
292
+ when 'on'
293
+ @show_mode_in_prompt = true
294
+ else
295
+ @show_mode_in_prompt = false
296
+ end
297
+ when 'vi-cmd-mode-string'
298
+ @vi_cmd_mode_string = retrieve_string(raw_value)
299
+ when 'vi-ins-mode-string'
300
+ @vi_ins_mode_string = retrieve_string(raw_value)
301
+ when 'emacs-mode-string'
302
+ @emacs_mode_string = retrieve_string(raw_value)
303
+ when *VARIABLE_NAMES then
304
+ variable_name = :"@#{name.tr(?-, ?_)}"
305
+ instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on')
306
+ end
307
+ end
308
+
309
+ def retrieve_string(str)
310
+ str = $1 if str =~ /\A"(.*)"\z/
311
+ parse_keyseq(str).map { |c| c.chr(Reline.encoding_system_needs) }.join
312
+ end
313
+
314
+ def bind_key(key, value)
315
+ keystroke, func = parse_key_binding(key, value)
316
+ @additional_key_bindings[@keymap_label].add(@keymap_prefix + keystroke, func) if keystroke
317
+ end
318
+
319
+ def parse_key_binding(key, func_name)
320
+ if key =~ /\A"(.*)"\z/
321
+ keyseq = parse_keyseq($1)
322
+ else
323
+ keyseq = nil
324
+ end
325
+ if func_name =~ /"(.*)"/
326
+ func = parse_keyseq($1)
327
+ else
328
+ func = func_name.split.first.tr(?-, ?_).to_sym # It must be macro.
329
+ end
330
+ [keyseq, func]
331
+ end
332
+
333
+ def key_notation_to_code(notation)
334
+ case notation
335
+ when /(?:\\(?:C|Control)-\\(?:M|Meta)|\\(?:M|Meta)-\\(?:C|Control))-([A-Za-z_])/
336
+ [?\e.ord, $1.ord % 32]
337
+ when /\\(?:C|Control)-([A-Za-z_])/
338
+ ($1.upcase.ord % 32)
339
+ when /\\(?:M|Meta)-([0-9A-Za-z_])/
340
+ [?\e.ord, $1.ord]
341
+ when /\\(\d{1,3})/ then $1.to_i(8) # octal
342
+ when /\\x(\h{1,2})/ then $1.to_i(16) # hexadecimal
343
+ when "\\e" then ?\e.ord
344
+ when "\\\\" then ?\\.ord
345
+ when "\\\"" then ?".ord
346
+ when "\\'" then ?'.ord
347
+ when "\\a" then ?\a.ord
348
+ when "\\b" then ?\b.ord
349
+ when "\\d" then ?\d.ord
350
+ when "\\f" then ?\f.ord
351
+ when "\\n" then ?\n.ord
352
+ when "\\r" then ?\r.ord
353
+ when "\\t" then ?\t.ord
354
+ when "\\v" then ?\v.ord
355
+ else notation.ord
356
+ end
357
+ end
358
+
359
+ def parse_keyseq(str)
360
+ str.scan(KEYSEQ_PATTERN).flat_map do |notation|
361
+ key_notation_to_code(notation)
362
+ end
363
+ end
364
+
365
+ def reload
366
+ reset_variables
367
+ read
368
+ end
369
+
370
+ private def seven_bit_encoding?(encoding)
371
+ encoding == Encoding::US_ASCII
372
+ end
373
+ end