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
@@ -0,0 +1,383 @@
1
+ # coding: US-ASCII
2
+ # frozen_string_literal: false
3
+
4
+ require "stringio"
5
+ require "strscan"
6
+
7
+ require_relative 'encoding'
8
+
9
+ module REXML
10
+ if StringScanner::Version < "1.0.0"
11
+ module StringScannerCheckScanString
12
+ refine StringScanner do
13
+ def check(pattern)
14
+ pattern = /#{Regexp.escape(pattern)}/ if pattern.is_a?(String)
15
+ super(pattern)
16
+ end
17
+
18
+ def scan(pattern)
19
+ pattern = /#{Regexp.escape(pattern)}/ if pattern.is_a?(String)
20
+ super(pattern)
21
+ end
22
+
23
+ def match?(pattern)
24
+ pattern = /#{Regexp.escape(pattern)}/ if pattern.is_a?(String)
25
+ super(pattern)
26
+ end
27
+
28
+ def skip(pattern)
29
+ pattern = /#{Regexp.escape(pattern)}/ if pattern.is_a?(String)
30
+ super(pattern)
31
+ end
32
+ end
33
+ end
34
+ using StringScannerCheckScanString
35
+ end
36
+
37
+ # Generates Source-s. USE THIS CLASS.
38
+ class SourceFactory
39
+ # Generates a Source object
40
+ # @param arg Either a String, or an IO
41
+ # @return a Source, or nil if a bad argument was given
42
+ def SourceFactory::create_from(arg)
43
+ if arg.respond_to? :read and
44
+ arg.respond_to? :readline and
45
+ arg.respond_to? :nil? and
46
+ arg.respond_to? :eof?
47
+ IOSource.new(arg)
48
+ elsif arg.respond_to? :to_str
49
+ IOSource.new(StringIO.new(arg))
50
+ elsif arg.kind_of? Source
51
+ arg
52
+ else
53
+ raise "#{arg.class} is not a valid input stream. It must walk \n"+
54
+ "like either a String, an IO, or a Source."
55
+ end
56
+ end
57
+ end
58
+
59
+ # A Source can be searched for patterns, and wraps buffers and other
60
+ # objects and provides consumption of text
61
+ class Source
62
+ include Encoding
63
+ # The line number of the last consumed text
64
+ attr_reader :line
65
+ attr_reader :encoding
66
+
67
+ module Private
68
+ SCANNER_RESET_SIZE = 100000
69
+ PRE_DEFINED_TERM_PATTERNS = {}
70
+ pre_defined_terms = ["'", '"', "<"]
71
+ if StringScanner::Version < "3.1.1"
72
+ pre_defined_terms.each do |term|
73
+ PRE_DEFINED_TERM_PATTERNS[term] = /#{Regexp.escape(term)}/
74
+ end
75
+ else
76
+ pre_defined_terms.each do |term|
77
+ PRE_DEFINED_TERM_PATTERNS[term] = term
78
+ end
79
+ end
80
+ end
81
+ private_constant :Private
82
+
83
+ # Constructor
84
+ # @param arg must be a String, and should be a valid XML document
85
+ # @param encoding if non-null, sets the encoding of the source to this
86
+ # value, overriding all encoding detection
87
+ def initialize(arg, encoding=nil)
88
+ @orig = arg
89
+ @scanner = StringScanner.new(@orig)
90
+ if encoding
91
+ self.encoding = encoding
92
+ else
93
+ detect_encoding
94
+ end
95
+ @line = 0
96
+ @encoded_terms = {}
97
+ end
98
+
99
+ # The current buffer (what we're going to read next)
100
+ def buffer
101
+ @scanner.rest
102
+ end
103
+
104
+ def drop_parsed_content
105
+ if @scanner.pos > Private::SCANNER_RESET_SIZE
106
+ @scanner.string = @scanner.rest
107
+ end
108
+ end
109
+
110
+ def buffer_encoding=(encoding)
111
+ @scanner.string.force_encoding(encoding)
112
+ end
113
+
114
+ # Inherited from Encoding
115
+ # Overridden to support optimized en/decoding
116
+ def encoding=(enc)
117
+ return unless super
118
+ encoding_updated
119
+ end
120
+
121
+ def read(term = nil)
122
+ end
123
+
124
+ def read_until(term)
125
+ pattern = Private::PRE_DEFINED_TERM_PATTERNS[term] || /#{Regexp.escape(term)}/
126
+ data = @scanner.scan_until(pattern)
127
+ unless data
128
+ data = @scanner.rest
129
+ @scanner.pos = @scanner.string.bytesize
130
+ end
131
+ data
132
+ end
133
+
134
+ def ensure_buffer
135
+ end
136
+
137
+ def match(pattern, cons=false)
138
+ if cons
139
+ @scanner.scan(pattern).nil? ? nil : @scanner
140
+ else
141
+ @scanner.check(pattern).nil? ? nil : @scanner
142
+ end
143
+ end
144
+
145
+ def match?(pattern, cons=false)
146
+ if cons
147
+ !@scanner.skip(pattern).nil?
148
+ else
149
+ !@scanner.match?(pattern).nil?
150
+ end
151
+ end
152
+
153
+ def position
154
+ @scanner.pos
155
+ end
156
+
157
+ def position=(pos)
158
+ @scanner.pos = pos
159
+ end
160
+
161
+ def peek_byte
162
+ @scanner.peek_byte
163
+ end
164
+
165
+ def scan_byte
166
+ @scanner.scan_byte
167
+ end
168
+
169
+ # @return true if the Source is exhausted
170
+ def empty?
171
+ @scanner.eos?
172
+ end
173
+
174
+ # @return the current line in the source
175
+ def current_line
176
+ lines = @orig.split
177
+ res = lines.grep @scanner.rest[0..30]
178
+ res = res[-1] if res.kind_of? Array
179
+ lines.index( res ) if res
180
+ end
181
+
182
+ private
183
+
184
+ def detect_encoding
185
+ scanner_encoding = @scanner.rest.encoding
186
+ detected_encoding = "UTF-8"
187
+ begin
188
+ @scanner.string.force_encoding("ASCII-8BIT")
189
+ if @scanner.scan(/\xfe\xff/n)
190
+ detected_encoding = "UTF-16BE"
191
+ elsif @scanner.scan(/\xff\xfe/n)
192
+ detected_encoding = "UTF-16LE"
193
+ elsif @scanner.scan(/\xef\xbb\xbf/n)
194
+ detected_encoding = "UTF-8"
195
+ end
196
+ ensure
197
+ @scanner.string.force_encoding(scanner_encoding)
198
+ end
199
+ self.encoding = detected_encoding
200
+ end
201
+
202
+ def encoding_updated
203
+ if @encoding != 'UTF-8'
204
+ @scanner.string = decode(@scanner.rest)
205
+ @to_utf = true
206
+ else
207
+ @to_utf = false
208
+ @scanner.string.force_encoding(::Encoding::UTF_8)
209
+ end
210
+ end
211
+ end
212
+
213
+ # A Source that wraps an IO. See the Source class for method
214
+ # documentation
215
+ class IOSource < Source
216
+ #attr_reader :block_size
217
+
218
+ # block_size has been deprecated
219
+ def initialize(arg, block_size=500, encoding=nil)
220
+ @er_source = @source = arg
221
+ @to_utf = false
222
+ @pending_buffer = nil
223
+
224
+ if encoding
225
+ super("", encoding)
226
+ else
227
+ super(@source.read(3) || "")
228
+ end
229
+
230
+ if !@to_utf and
231
+ @orig.respond_to?(:force_encoding) and
232
+ @source.respond_to?(:external_encoding) and
233
+ @source.external_encoding != ::Encoding::UTF_8
234
+ @force_utf8 = true
235
+ else
236
+ @force_utf8 = false
237
+ end
238
+ end
239
+
240
+ def read(term = nil, min_bytes = 1)
241
+ term = encode(term) if term
242
+ begin
243
+ str = readline(term)
244
+ @scanner << str
245
+ read_bytes = str.bytesize
246
+ begin
247
+ while read_bytes < min_bytes
248
+ str = readline(term)
249
+ @scanner << str
250
+ read_bytes += str.bytesize
251
+ end
252
+ rescue IOError
253
+ end
254
+ true
255
+ rescue Exception, NameError
256
+ @source = nil
257
+ false
258
+ end
259
+ end
260
+
261
+ def read_until(term)
262
+ pattern = Private::PRE_DEFINED_TERM_PATTERNS[term] || /#{Regexp.escape(term)}/
263
+ term = @encoded_terms[term] ||= encode(term)
264
+ until str = @scanner.scan_until(pattern)
265
+ break if @source.nil?
266
+ break if @source.eof?
267
+ @scanner << readline(term)
268
+ end
269
+ if str
270
+ read if @scanner.eos? and !@source.eof?
271
+ str
272
+ else
273
+ rest = @scanner.rest
274
+ @scanner.pos = @scanner.string.bytesize
275
+ rest
276
+ end
277
+ end
278
+
279
+ def ensure_buffer
280
+ read if @scanner.eos? && @source
281
+ end
282
+
283
+ def match( pattern, cons=false )
284
+ # To avoid performance issue, we need to increase bytes to read per scan
285
+ min_bytes = 1
286
+ while true
287
+ if cons
288
+ md = @scanner.scan(pattern)
289
+ else
290
+ md = @scanner.check(pattern)
291
+ end
292
+ break if md
293
+ return nil if pattern.is_a?(String)
294
+ return nil if @source.nil?
295
+ return nil unless read(nil, min_bytes)
296
+ min_bytes *= 2
297
+ end
298
+
299
+ md.nil? ? nil : @scanner
300
+ end
301
+
302
+ def match?( pattern, cons=false )
303
+ # To avoid performance issue, we need to increase bytes to read per scan
304
+ min_bytes = 1
305
+ while true
306
+ if cons
307
+ n_matched_bytes = @scanner.skip(pattern)
308
+ else
309
+ n_matched_bytes = @scanner.match?(pattern)
310
+ end
311
+ return true if n_matched_bytes
312
+ return false if pattern.is_a?(String)
313
+ return false if @source.nil?
314
+ return false unless read(nil, min_bytes)
315
+ min_bytes *= 2
316
+ end
317
+ end
318
+
319
+ def empty?
320
+ super and ( @source.nil? || @source.eof? )
321
+ end
322
+
323
+ # @return the current line in the source
324
+ def current_line
325
+ begin
326
+ pos = @er_source.pos # The byte position in the source
327
+ lineno = @er_source.lineno # The XML < position in the source
328
+ @er_source.rewind
329
+ line = 0 # The \r\n position in the source
330
+ begin
331
+ while @er_source.pos < pos
332
+ @er_source.readline
333
+ line += 1
334
+ end
335
+ rescue
336
+ end
337
+ @er_source.seek(pos)
338
+ rescue IOError, SystemCallError
339
+ pos = -1
340
+ line = -1
341
+ end
342
+ [pos, lineno, line]
343
+ end
344
+
345
+ private
346
+ def readline(term = nil)
347
+ if @pending_buffer
348
+ begin
349
+ str = @source.readline(term || @line_break)
350
+ rescue IOError
351
+ end
352
+ if str.nil?
353
+ str = @pending_buffer
354
+ else
355
+ str = @pending_buffer + str
356
+ end
357
+ @pending_buffer = nil
358
+ else
359
+ str = @source.readline(term || @line_break)
360
+ end
361
+ return nil if str.nil?
362
+
363
+ if @to_utf
364
+ decode(str)
365
+ else
366
+ str.force_encoding(::Encoding::UTF_8) if @force_utf8
367
+ str
368
+ end
369
+ end
370
+
371
+ def encoding_updated
372
+ case @encoding
373
+ when "UTF-16BE", "UTF-16LE"
374
+ @source.binmode
375
+ @source.set_encoding(@encoding, @encoding)
376
+ end
377
+ @line_break = encode(">")
378
+ @pending_buffer, @scanner.string = @scanner.rest, ""
379
+ @pending_buffer.force_encoding(@encoding)
380
+ super
381
+ end
382
+ end
383
+ end
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  require_relative 'security'
3
3
  require_relative 'entity'
4
4
  require_relative 'doctype'
@@ -29,31 +29,16 @@ module REXML
29
29
  (0x10000..0x10FFFF)
30
30
  ]
31
31
 
32
- if String.method_defined? :encode
33
- VALID_XML_CHARS = Regexp.new('^['+
34
- VALID_CHAR.map { |item|
35
- case item
36
- when Integer
37
- [item].pack('U').force_encoding('utf-8')
38
- when Range
39
- [item.first, '-'.ord, item.last].pack('UUU').force_encoding('utf-8')
40
- end
41
- }.join +
42
- ']*$')
43
- else
44
- VALID_XML_CHARS = /^(
45
- [\x09\x0A\x0D\x20-\x7E] # ASCII
46
- | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
47
- | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
48
- | [\xE1-\xEC\xEE][\x80-\xBF]{2} # straight 3-byte
49
- | \xEF[\x80-\xBE]{2} #
50
- | \xEF\xBF[\x80-\xBD] # excluding U+fffe and U+ffff
51
- | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
52
- | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
53
- | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
54
- | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
55
- )*$/nx;
56
- end
32
+ VALID_XML_CHARS = Regexp.new('^['+
33
+ VALID_CHAR.map { |item|
34
+ case item
35
+ when Integer
36
+ [item].pack('U').force_encoding('utf-8')
37
+ when Range
38
+ [item.first, '-'.ord, item.last].pack('UUU').force_encoding('utf-8')
39
+ end
40
+ }.join +
41
+ ']*$')
57
42
 
58
43
  # Constructor
59
44
  # +arg+ if a String, the content is set to the String. If a Text,
@@ -131,45 +116,55 @@ module REXML
131
116
  def Text.check string, pattern, doctype
132
117
 
133
118
  # illegal anywhere
134
- if string !~ VALID_XML_CHARS
135
- if String.method_defined? :encode
136
- string.chars.each do |c|
137
- case c.ord
138
- when *VALID_CHAR
139
- else
140
- raise "Illegal character #{c.inspect} in raw string #{string.inspect}"
141
- end
142
- end
143
- else
144
- string.scan(/[\x00-\x7F]|[\x80-\xBF][\xC0-\xF0]*|[\xC0-\xF0]/n) do |c|
145
- case c.unpack('U')
146
- when *VALID_CHAR
147
- else
148
- raise "Illegal character #{c.inspect} in raw string #{string.inspect}"
149
- end
119
+ if !string.match?(VALID_XML_CHARS)
120
+ string.chars.each do |c|
121
+ case c.ord
122
+ when *VALID_CHAR
123
+ else
124
+ raise "Illegal character #{c.inspect} in raw string #{string.inspect}"
150
125
  end
151
126
  end
152
127
  end
153
128
 
154
- # context sensitive
155
- string.scan(pattern) do
156
- if $1[-1] != ?;
157
- raise "Illegal character #{$1.inspect} in raw string #{string.inspect}"
158
- elsif $1[0] == ?&
159
- if $5 and $5[0] == ?#
160
- case ($5[1] == ?x ? $5[2..-1].to_i(16) : $5[1..-1].to_i)
161
- when *VALID_CHAR
129
+ pos = 0
130
+ while (index = string.index(/<|&/, pos))
131
+ if string[index] == "<"
132
+ raise "Illegal character \"#{string[index]}\" in raw string #{string.inspect}"
133
+ end
134
+
135
+ unless (end_index = string.index(/[^\s];/, index + 1))
136
+ raise "Illegal character \"#{string[index]}\" in raw string #{string.inspect}"
137
+ end
138
+
139
+ value = string[(index + 1)..end_index]
140
+ if /\s/.match?(value)
141
+ raise "Illegal character \"#{string[index]}\" in raw string #{string.inspect}"
142
+ end
143
+
144
+ if value[0] == "#"
145
+ character_reference = value[1..-1]
146
+
147
+ unless (/\A(\d+|x[0-9a-fA-F]+)\z/.match?(character_reference))
148
+ if character_reference[0] == "x" || character_reference[-1] == "x"
149
+ raise "Illegal character \"#{string[index]}\" in raw string #{string.inspect}"
162
150
  else
163
- raise "Illegal character #{$1.inspect} in raw string #{string.inspect}"
151
+ raise "Illegal character #{string.inspect} in raw string #{string.inspect}"
164
152
  end
165
- # FIXME: below can't work but this needs API change.
166
- # elsif @parent and $3 and !SUBSTITUTES.include?($1)
167
- # if !doctype or !doctype.entities.has_key?($3)
168
- # raise "Undeclared entity '#{$1}' in raw string \"#{string}\""
169
- # end
170
153
  end
154
+
155
+ case (character_reference[0] == "x" ? character_reference[1..-1].to_i(16) : character_reference[0..-1].to_i)
156
+ when *VALID_CHAR
157
+ else
158
+ raise "Illegal character #{string.inspect} in raw string #{string.inspect}"
159
+ end
160
+ elsif !(/\A#{Entity::NAME}\z/um.match?(value))
161
+ raise "Illegal character \"#{string[index]}\" in raw string #{string.inspect}"
171
162
  end
163
+
164
+ pos = end_index + 1
172
165
  end
166
+
167
+ string
173
168
  end
174
169
 
175
170
  def node_type
@@ -248,7 +243,8 @@ module REXML
248
243
  # u = Text.new( "sean russell", false, nil, true )
249
244
  # u.value #-> "sean russell"
250
245
  def value
251
- @unnormalized ||= Text::unnormalize( @string, doctype )
246
+ @unnormalized ||= Text::unnormalize(@string, doctype,
247
+ entity_expansion_text_limit: document&.entity_expansion_text_limit)
252
248
  end
253
249
 
254
250
  # Sets the contents of this text node. This expects the text to be
@@ -371,7 +367,7 @@ module REXML
371
367
  copy = input.to_s
372
368
  # Doing it like this rather than in a loop improves the speed
373
369
  #copy = copy.gsub( EREFERENCE, '&amp;' )
374
- copy = copy.gsub( "&", "&amp;" )
370
+ copy = copy.gsub( "&", "&amp;" ) if copy.include?("&")
375
371
  if doctype
376
372
  # Replace all ampersands that aren't part of an entity
377
373
  doctype.entities.each_value do |entity|
@@ -382,18 +378,21 @@ module REXML
382
378
  else
383
379
  # Replace all ampersands that aren't part of an entity
384
380
  DocType::DEFAULT_ENTITIES.each_value do |entity|
385
- copy = copy.gsub(entity.value, "&#{entity.name};" )
381
+ if copy.include?(entity.value)
382
+ copy = copy.gsub(entity.value, "&#{entity.name};" )
383
+ end
386
384
  end
387
385
  end
388
386
  copy
389
387
  end
390
388
 
391
389
  # Unescapes all possible entities
392
- def Text::unnormalize( string, doctype=nil, filter=nil, illegal=nil )
390
+ def Text::unnormalize( string, doctype=nil, filter=nil, illegal=nil, entity_expansion_text_limit: nil )
391
+ entity_expansion_text_limit ||= Security.entity_expansion_text_limit
393
392
  sum = 0
394
393
  string.gsub( /\r\n?/, "\n" ).gsub( REFERENCE ) {
395
394
  s = Text.expand($&, doctype, filter)
396
- if sum + s.bytesize > Security.entity_expansion_text_limit
395
+ if sum + s.bytesize > entity_expansion_text_limit
397
396
  raise "entity expansion has grown too large"
398
397
  else
399
398
  sum += s.bytesize
@@ -590,6 +590,7 @@ module REXML
590
590
 
591
591
  def evaluate_predicate(expression, nodesets)
592
592
  enter(:predicate, expression, nodesets) if @debug
593
+ new_nodeset_count = 0
593
594
  new_nodesets = nodesets.collect do |nodeset|
594
595
  new_nodeset = []
595
596
  subcontext = { :size => nodeset.size }
@@ -606,17 +607,20 @@ module REXML
606
607
  result = result[0] if result.kind_of? Array and result.length == 1
607
608
  if result.kind_of? Numeric
608
609
  if result == node.position
609
- new_nodeset << XPathNode.new(node, position: new_nodeset.size + 1)
610
+ new_nodeset_count += 1
611
+ new_nodeset << XPathNode.new(node, position: new_nodeset_count)
610
612
  end
611
613
  elsif result.instance_of? Array
612
614
  if result.size > 0 and result.inject(false) {|k,s| s or k}
613
615
  if result.size > 0
614
- new_nodeset << XPathNode.new(node, position: new_nodeset.size + 1)
616
+ new_nodeset_count += 1
617
+ new_nodeset << XPathNode.new(node, position: new_nodeset_count)
615
618
  end
616
619
  end
617
620
  else
618
621
  if result
619
- new_nodeset << XPathNode.new(node, position: new_nodeset.size + 1)
622
+ new_nodeset_count += 1
623
+ new_nodeset << XPathNode.new(node, position: new_nodeset_count)
620
624
  end
621
625
  end
622
626
  end
@@ -1,3 +1,31 @@
1
+ === 2.5.2 / 2025-03-25
2
+
3
+ * 1 bug fix:
4
+
5
+ * Added support for 3 slot op_asgn (eg `a &= 1`)
6
+
7
+ === 2.5.1 / 2024-07-08
8
+
9
+ * 1 bug fix:
10
+
11
+ * Fix errors created when string literals are frozen. (byroot + zenspider)
12
+
13
+ === 2.5.0 / 2022-10-04
14
+
15
+ * 5 minor enhancements:
16
+
17
+ * Added support for (most?) pattern matching.
18
+ * Added support for **kwrest.
19
+ * Added support for forward args (...), defn and call.
20
+ * Added support for preexe (BEGIN { ... }).
21
+ * Support ruby 3.1 hash shorthand syntax. (presidentbeef)
22
+
23
+ * 3 bug fixes:
24
+
25
+ * Fix generation of case w/ no else.
26
+ * Fixed a bug block shadow vars (they're grouped)
27
+ * Fixed find_pat up (after fixing a find_pat bug in ruby_parser).
28
+
1
29
  === 2.4.4 / 2019-09-24
2
30
 
3
31
  * 1 bug fix: