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
@@ -1,298 +0,0 @@
1
- # coding: US-ASCII
2
- # frozen_string_literal: false
3
- require_relative 'encoding'
4
-
5
- module REXML
6
- # Generates Source-s. USE THIS CLASS.
7
- class SourceFactory
8
- # Generates a Source object
9
- # @param arg Either a String, or an IO
10
- # @return a Source, or nil if a bad argument was given
11
- def SourceFactory::create_from(arg)
12
- if arg.respond_to? :read and
13
- arg.respond_to? :readline and
14
- arg.respond_to? :nil? and
15
- arg.respond_to? :eof?
16
- IOSource.new(arg)
17
- elsif arg.respond_to? :to_str
18
- require 'stringio'
19
- IOSource.new(StringIO.new(arg))
20
- elsif arg.kind_of? Source
21
- arg
22
- else
23
- raise "#{arg.class} is not a valid input stream. It must walk \n"+
24
- "like either a String, an IO, or a Source."
25
- end
26
- end
27
- end
28
-
29
- # A Source can be searched for patterns, and wraps buffers and other
30
- # objects and provides consumption of text
31
- class Source
32
- include Encoding
33
- # The current buffer (what we're going to read next)
34
- attr_reader :buffer
35
- # The line number of the last consumed text
36
- attr_reader :line
37
- attr_reader :encoding
38
-
39
- # Constructor
40
- # @param arg must be a String, and should be a valid XML document
41
- # @param encoding if non-null, sets the encoding of the source to this
42
- # value, overriding all encoding detection
43
- def initialize(arg, encoding=nil)
44
- @orig = @buffer = arg
45
- if encoding
46
- self.encoding = encoding
47
- else
48
- detect_encoding
49
- end
50
- @line = 0
51
- end
52
-
53
-
54
- # Inherited from Encoding
55
- # Overridden to support optimized en/decoding
56
- def encoding=(enc)
57
- return unless super
58
- encoding_updated
59
- end
60
-
61
- # Scans the source for a given pattern. Note, that this is not your
62
- # usual scan() method. For one thing, the pattern argument has some
63
- # requirements; for another, the source can be consumed. You can easily
64
- # confuse this method. Originally, the patterns were easier
65
- # to construct and this method more robust, because this method
66
- # generated search regexps on the fly; however, this was
67
- # computationally expensive and slowed down the entire REXML package
68
- # considerably, since this is by far the most commonly called method.
69
- # @param pattern must be a Regexp, and must be in the form of
70
- # /^\s*(#{your pattern, with no groups})(.*)/. The first group
71
- # will be returned; the second group is used if the consume flag is
72
- # set.
73
- # @param consume if true, the pattern returned will be consumed, leaving
74
- # everything after it in the Source.
75
- # @return the pattern, if found, or nil if the Source is empty or the
76
- # pattern is not found.
77
- def scan(pattern, cons=false)
78
- return nil if @buffer.nil?
79
- rv = @buffer.scan(pattern)
80
- @buffer = $' if cons and rv.size>0
81
- rv
82
- end
83
-
84
- def read
85
- end
86
-
87
- def consume( pattern )
88
- @buffer = $' if pattern.match( @buffer )
89
- end
90
-
91
- def match_to( char, pattern )
92
- return pattern.match(@buffer)
93
- end
94
-
95
- def match_to_consume( char, pattern )
96
- md = pattern.match(@buffer)
97
- @buffer = $'
98
- return md
99
- end
100
-
101
- def match(pattern, cons=false)
102
- md = pattern.match(@buffer)
103
- @buffer = $' if cons and md
104
- return md
105
- end
106
-
107
- # @return true if the Source is exhausted
108
- def empty?
109
- @buffer == ""
110
- end
111
-
112
- def position
113
- @orig.index( @buffer )
114
- end
115
-
116
- # @return the current line in the source
117
- def current_line
118
- lines = @orig.split
119
- res = lines.grep @buffer[0..30]
120
- res = res[-1] if res.kind_of? Array
121
- lines.index( res ) if res
122
- end
123
-
124
- private
125
- def detect_encoding
126
- buffer_encoding = @buffer.encoding
127
- detected_encoding = "UTF-8"
128
- begin
129
- @buffer.force_encoding("ASCII-8BIT")
130
- if @buffer[0, 2] == "\xfe\xff"
131
- @buffer[0, 2] = ""
132
- detected_encoding = "UTF-16BE"
133
- elsif @buffer[0, 2] == "\xff\xfe"
134
- @buffer[0, 2] = ""
135
- detected_encoding = "UTF-16LE"
136
- elsif @buffer[0, 3] == "\xef\xbb\xbf"
137
- @buffer[0, 3] = ""
138
- detected_encoding = "UTF-8"
139
- end
140
- ensure
141
- @buffer.force_encoding(buffer_encoding)
142
- end
143
- self.encoding = detected_encoding
144
- end
145
-
146
- def encoding_updated
147
- if @encoding != 'UTF-8'
148
- @buffer = decode(@buffer)
149
- @to_utf = true
150
- else
151
- @to_utf = false
152
- @buffer.force_encoding ::Encoding::UTF_8
153
- end
154
- end
155
- end
156
-
157
- # A Source that wraps an IO. See the Source class for method
158
- # documentation
159
- class IOSource < Source
160
- #attr_reader :block_size
161
-
162
- # block_size has been deprecated
163
- def initialize(arg, block_size=500, encoding=nil)
164
- @er_source = @source = arg
165
- @to_utf = false
166
- @pending_buffer = nil
167
-
168
- if encoding
169
- super("", encoding)
170
- else
171
- super(@source.read(3) || "")
172
- end
173
-
174
- if !@to_utf and
175
- @buffer.respond_to?(:force_encoding) and
176
- @source.respond_to?(:external_encoding) and
177
- @source.external_encoding != ::Encoding::UTF_8
178
- @force_utf8 = true
179
- else
180
- @force_utf8 = false
181
- end
182
- end
183
-
184
- def scan(pattern, cons=false)
185
- rv = super
186
- # You'll notice that this next section is very similar to the same
187
- # section in match(), but just a liiittle different. This is
188
- # because it is a touch faster to do it this way with scan()
189
- # than the way match() does it; enough faster to warrant duplicating
190
- # some code
191
- if rv.size == 0
192
- until @buffer =~ pattern or @source.nil?
193
- begin
194
- @buffer << readline
195
- rescue Iconv::IllegalSequence
196
- raise
197
- rescue
198
- @source = nil
199
- end
200
- end
201
- rv = super
202
- end
203
- rv.taint if RUBY_VERSION < '2.7'
204
- rv
205
- end
206
-
207
- def read
208
- begin
209
- @buffer << readline
210
- rescue Exception, NameError
211
- @source = nil
212
- end
213
- end
214
-
215
- def consume( pattern )
216
- match( pattern, true )
217
- end
218
-
219
- def match( pattern, cons=false )
220
- rv = pattern.match(@buffer)
221
- @buffer = $' if cons and rv
222
- while !rv and @source
223
- begin
224
- @buffer << readline
225
- rv = pattern.match(@buffer)
226
- @buffer = $' if cons and rv
227
- rescue
228
- @source = nil
229
- end
230
- end
231
- rv.taint if RUBY_VERSION < '2.7'
232
- rv
233
- end
234
-
235
- def empty?
236
- super and ( @source.nil? || @source.eof? )
237
- end
238
-
239
- def position
240
- @er_source.pos rescue 0
241
- end
242
-
243
- # @return the current line in the source
244
- def current_line
245
- begin
246
- pos = @er_source.pos # The byte position in the source
247
- lineno = @er_source.lineno # The XML < position in the source
248
- @er_source.rewind
249
- line = 0 # The \r\n position in the source
250
- begin
251
- while @er_source.pos < pos
252
- @er_source.readline
253
- line += 1
254
- end
255
- rescue
256
- end
257
- @er_source.seek(pos)
258
- rescue IOError
259
- pos = -1
260
- line = -1
261
- end
262
- [pos, lineno, line]
263
- end
264
-
265
- private
266
- def readline
267
- str = @source.readline(@line_break)
268
- if @pending_buffer
269
- if str.nil?
270
- str = @pending_buffer
271
- else
272
- str = @pending_buffer + str
273
- end
274
- @pending_buffer = nil
275
- end
276
- return nil if str.nil?
277
-
278
- if @to_utf
279
- decode(str)
280
- else
281
- str.force_encoding(::Encoding::UTF_8) if @force_utf8
282
- str
283
- end
284
- end
285
-
286
- def encoding_updated
287
- case @encoding
288
- when "UTF-16BE", "UTF-16LE"
289
- @source.binmode
290
- @source.set_encoding(@encoding, @encoding)
291
- end
292
- @line_break = encode(">")
293
- @pending_buffer, @buffer = @buffer, ""
294
- @pending_buffer.force_encoding(@encoding)
295
- super
296
- end
297
- end
298
- end
@@ -1,154 +0,0 @@
1
- 1.0.5
2
- -----
3
-
4
- - fixed [#80](https://github.com/dtao/safe_yaml/issues/80): uninitialized constant DateTime
5
-
6
- 1.0.2
7
- -----
8
-
9
- - added warning when using Psych + an older version of libyaml
10
-
11
- 1.0.1
12
- -----
13
-
14
- - fixed handling for strings that look like (invalid) dates
15
-
16
- 1.0.0
17
- -----
18
-
19
- - updated date parsing to use local timezone
20
- - **now requiring "safe_yaml/load" provides `SafeYAML.load` without clobbering `YAML`**
21
- - fixed handling of empty files
22
- - fixed some (edge case) integer parsing bugs
23
- - fixed some JRuby-specific issues
24
-
25
- 0.9.7
26
- -----
27
-
28
- - made handling of document frontmatter more robust
29
- - added more descriptive message to the warning for omitting the :safe option
30
-
31
- 0.9.6
32
- -----
33
-
34
- - fixed handling of files with trailing content (after closing `---`)
35
-
36
- 0.9.5
37
- -----
38
-
39
- - fixed permissions AGAIN
40
-
41
- 0.9.4
42
- -----
43
-
44
- - corrected handling of symbols
45
-
46
- 0.9.3
47
- -----
48
-
49
- - fixed permissions :(
50
-
51
- 0.9.2
52
- -----
53
-
54
- - fixed error w/ parsing "!" when whitelisting tags
55
- - fixed parsing of the number 0 (d'oh!)
56
-
57
- 0.9.1
58
- -----
59
-
60
- - added Yecht support (JRuby)
61
- - more bug fixes
62
-
63
- 0.9.0
64
- -----
65
-
66
- - added `whitelist!` method for easily whitelisting tags
67
- - added support for call-specific options
68
- - removed deprecated methods
69
-
70
- 0.8.6
71
- -----
72
-
73
- - fixed bug in float matcher
74
-
75
- 0.8.5
76
- -----
77
-
78
- - performance improvements
79
- - made less verbose by default
80
- - bug fixes
81
-
82
- 0.8.4
83
- -----
84
-
85
- - enhancements to parsing of integers, floats, and dates
86
- - updated built-in whitelist
87
- - more bug fixes
88
-
89
- 0.8.3
90
- -----
91
-
92
- - fixed exception on parsing empty document
93
- - fixed handling of octal & hexadecimal numbers
94
-
95
- 0.8.2
96
- -----
97
-
98
- - bug fixes
99
-
100
- 0.8.1
101
- -----
102
-
103
- - added `:raise_on_unknown_tag` option
104
- - renamed `reset_defaults!` to `restore_defaults!`
105
-
106
- 0.8
107
- ---
108
-
109
- - added tag whitelisting
110
- - more API changes
111
-
112
- 0.7
113
- ---
114
-
115
- - separated YAML engine support from Ruby version
116
- - added support for binary scalars
117
- - numerous bug fixes and enhancements
118
-
119
- 0.6
120
- ---
121
-
122
- - several API changes
123
- - added `SafeYAML::OPTIONS` for specifying default behavior
124
-
125
- 0.5
126
- ---
127
-
128
- Added support for dates
129
-
130
- 0.4
131
- ---
132
-
133
- - efficiency improvements
134
- - made `YAML.load` use `YAML.safe_load` by default
135
- - made symbol deserialization optional
136
-
137
- 0.3
138
- ---
139
-
140
- Added Syck support
141
-
142
- 0.2
143
- ---
144
-
145
- Added support for:
146
-
147
- - anchors & aliases
148
- - booleans
149
- - nils
150
-
151
- 0.1
152
- ---
153
-
154
- Initial release
@@ -1,11 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
4
-
5
- group :development do
6
- gem "hashie"
7
- gem "heredoc_unindent"
8
- gem "rake"
9
- gem "rspec"
10
- gem "travis-lint"
11
- end
@@ -1,191 +0,0 @@
1
- SafeYAML
2
- ========
3
-
4
- [![Build Status](https://travis-ci.org/dtao/safe_yaml.png)](http://travis-ci.org/dtao/safe_yaml)
5
- [![Gem Version](https://badge.fury.io/rb/safe_yaml.png)](http://badge.fury.io/rb/safe_yaml)
6
-
7
- The **SafeYAML** gem provides an alternative implementation of `YAML.load` suitable for accepting user input in Ruby applications. Unlike Ruby's built-in implementation of `YAML.load`, SafeYAML's version will not expose apps to arbitrary code execution exploits (such as [the ones discovered](http://www.reddit.com/r/netsec/comments/167c11/serious_vulnerability_in_ruby_on_rails_allowing/) [in Rails in early 2013](http://www.h-online.com/open/news/item/Rails-developers-close-another-extremely-critical-flaw-1793511.html)).
8
-
9
- **If you encounter any issues with SafeYAML, check out the 'Common Issues' section below.** If you don't see anything that addresses the problem you're experiencing, by all means, [create an issue](https://github.com/dtao/safe_yaml/issues/new)!
10
-
11
- Installation
12
- ------------
13
-
14
- Add this line to your application's Gemfile:
15
-
16
- ```ruby
17
- gem "safe_yaml"
18
- ```
19
-
20
- Configuration
21
- -------------
22
-
23
- If *all you do* is add SafeYAML to your project, then `YAML.load` will operate in "safe" mode, which means it won't deserialize arbitrary objects. However, it will issue a warning the first time you call it because you haven't explicitly specified whether you want safe or unsafe behavior by default. To specify this behavior (e.g., in a Rails initializer):
24
-
25
- ```ruby
26
- SafeYAML::OPTIONS[:default_mode] = :safe # or :unsafe
27
- ```
28
-
29
- Another important option you might want to specify on startup is whether or not to allow *symbols* to be deserialized. The default setting is `false`, since symbols are not garbage collected in Ruby and so deserializing them from YAML may render your application vulnerable to a DOS (denial of service) attack. To allow symbol deserialization by default:
30
-
31
- ```ruby
32
- SafeYAML::OPTIONS[:deserialize_symbols] = true
33
- ```
34
-
35
- For more information on these and other options, see the "Usage" section down below.
36
-
37
- What is this gem for, exactly?
38
- ------------------------------
39
-
40
- Suppose your application were to use a popular open source library which contained code like this:
41
-
42
- ```ruby
43
- class ClassBuilder
44
- def []=(key, value)
45
- @class ||= Class.new
46
-
47
- @class.class_eval <<-EOS
48
- def #{key}
49
- #{value}
50
- end
51
- EOS
52
- end
53
-
54
- def create
55
- @class.new
56
- end
57
- end
58
- ```
59
-
60
- Now, if you were to use `YAML.load` on user input anywhere in your application without the SafeYAML gem installed, an attacker who suspected you were using this library could send a request with a carefully-crafted YAML string to execute arbitrary code (yes, including `system("unix command")`) on your servers.
61
-
62
- This simple example demonstrates the vulnerability:
63
-
64
- ```ruby
65
- yaml = <<-EOYAML
66
- --- !ruby/hash:ClassBuilder
67
- "foo; end; puts %(I'm in yr system!); def bar": "baz"
68
- EOYAML
69
- ```
70
-
71
- > YAML.load(yaml)
72
- I'm in yr system!
73
- => #<ClassBuilder:0x007fdbbe2e25d8 @class=#<Class:0x007fdbbe2e2510>>
74
-
75
- With SafeYAML, the same attacker would be thwarted:
76
-
77
- > require "safe_yaml"
78
- => true
79
- > YAML.load(yaml, :safe => true)
80
- => {"foo; end; puts %(I'm in yr system!); def bar"=>"baz"}
81
-
82
- Usage
83
- -----
84
-
85
- When you require the safe_yaml gem in your project, `YAML.load` is patched to accept one additional (optional) `options` parameter. This changes the method signature as follows:
86
-
87
- - for Syck and Psych prior to Ruby 1.9.3: `YAML.load(yaml, options={})`
88
- - for Psych in 1.9.3 and later: `YAML.load(yaml, filename=nil, options={})`
89
-
90
- The most important option is the `:safe` option (default: `true`), which controls whether or not to deserialize arbitrary objects when parsing a YAML document. The other options, along with explanations, are as follows.
91
-
92
- - `:deserialize_symbols` (default: `false`): Controls whether or not YAML will deserialize symbols. It is probably best to only enable this option where necessary, e.g. to make trusted libraries work. Symbols receive special treatment in Ruby and are not garbage collected, which means deserializing them indiscriminately may render your site vulnerable to a DOS attack.
93
-
94
- - `:whitelisted_tags`: Accepts an array of YAML tags that designate trusted types, e.g., ones that can be deserialized without worrying about any resulting security vulnerabilities. When any of the given tags are encountered in a YAML document, the associated data will be parsed by the underlying YAML engine (Syck or Psych) for the version of Ruby you are using. See the "Whitelisting Trusted Types" section below for more information.
95
-
96
- - `:custom_initializers`: Similar to the `:whitelisted_tags` option, but allows you to provide your own initializers for specified tags rather than using Syck or Psyck. Accepts a hash with string tags for keys and lambdas for values.
97
-
98
- - `:raise_on_unknown_tag` (default: `false`): Represents the highest possible level of paranoia. If the YAML engine encounters any tag other than ones that are automatically trusted by SafeYAML or that you've explicitly whitelisted, it will raise an exception. This may be a good choice if you expect to always be dealing with perfectly safe YAML and want your application to fail loudly upon encountering questionable data.
99
-
100
- All of the above options can be set at the global level via `SafeYAML::OPTIONS`. You can also set each one individually per call to `YAML.load`; an option explicitly passed to `load` will take precedence over an option specified globally.
101
-
102
- What if I don't *want* to patch `YAML`?
103
- ---------------------------------------
104
-
105
- [Excellent question](https://github.com/dtao/safe_yaml/issues/47)! You can also get the methods `SafeYAML.load` and `SafeYAML.load_file` without touching the `YAML` module at all like this:
106
-
107
- ```ruby
108
- require "safe_yaml/load" # instead of require "safe_yaml"
109
- ```
110
-
111
- This way, you can use `SafeYAML.load` to parse YAML that *you* don't trust, without affecting the rest of an application (if you're developing a library, for example).
112
-
113
- Supported Types
114
- ---------------
115
-
116
- The way that SafeYAML works is by restricting the kinds of objects that can be deserialized via `YAML.load`. More specifically, only the following types of objects can be deserialized by default:
117
-
118
- - Hashes
119
- - Arrays
120
- - Strings
121
- - Numbers
122
- - Dates
123
- - Times
124
- - Booleans
125
- - Nils
126
-
127
- Again, deserialization of symbols can be enabled globally by setting `SafeYAML::OPTIONS[:deserialize_symbols] = true`, or in a specific call to `YAML.load([some yaml], :deserialize_symbols => true)`.
128
-
129
- Whitelisting Trusted Types
130
- --------------------------
131
-
132
- SafeYAML supports whitelisting certain YAML tags for trusted types. This is handy when your application uses YAML to serialize and deserialize certain types not listed above, which you know to be free of any deserialization-related vulnerabilities.
133
-
134
- The easiest way to whitelist types is by calling `SafeYAML.whitelist!`, which can accept a variable number of safe types, e.g.:
135
-
136
- ```ruby
137
- SafeYAML.whitelist!(Foo, Bar)
138
- ```
139
-
140
- You can also whitelist YAML *tags* via the `:whitelisted_tags` option:
141
-
142
- ```ruby
143
- # Using Syck
144
- SafeYAML::OPTIONS[:whitelisted_tags] = ["tag:ruby.yaml.org,2002:object:OpenStruct"]
145
-
146
- # Using Psych
147
- SafeYAML::OPTIONS[:whitelisted_tags] = ["!ruby/object:OpenStruct"]
148
- ```
149
-
150
- And in case you were wondering: no, this feature will *not* allow would-be attackers to embed untrusted types within trusted types:
151
-
152
- ```ruby
153
- yaml = <<-EOYAML
154
- --- !ruby/object:OpenStruct
155
- table:
156
- :backdoor: !ruby/hash:ClassBuilder
157
- "foo; end; puts %(I'm in yr system!); def bar": "baz"
158
- EOYAML
159
- ```
160
-
161
- > YAML.safe_load(yaml)
162
- => #<OpenStruct :backdoor={"foo; end; puts %(I'm in yr system!); def bar"=>"baz"}>
163
-
164
- Known Issues
165
- ------------
166
-
167
- If you add SafeYAML to your project and start seeing any errors about missing keys, or you notice mysterious strings that look like `":foo"` (i.e., start with a colon), it's likely you're seeing errors from symbols being saved in YAML format. If you are able to modify the offending code, you might want to consider changing your YAML content to use plain vanilla strings instead of symbols. If not, you may need to set the `:deserialize_symbols` option to `true`, either in calls to `YAML.load` or---as a last resort---globally, with `SafeYAML::OPTIONS[:deserialize_symbols]`.
168
-
169
- Also be aware that some Ruby libraries, particularly those requiring inter-process communication, leverage YAML's object deserialization functionality and therefore may break or otherwise be impacted by SafeYAML. The following list includes known instances of SafeYAML's interaction with other Ruby gems:
170
-
171
- - [**ActiveRecord**](https://github.com/rails/rails/tree/master/activerecord): uses YAML to control serialization of model objects using the `serialize` class method. If you find that accessing serialized properties on your ActiveRecord models is causing errors, chances are you may need to:
172
- 1. set the `:deserialize_symbols` option to `true`,
173
- 2. whitelist some of the types in your serialized data via `SafeYAML.whitelist!` or the `:whitelisted_tags` option, or
174
- 3. both
175
- - [**delayed_job**](https://github.com/collectiveidea/delayed_job): Uses YAML to serialize the objects on which delayed methods are invoked (with `delay`). The safest solution in this case is to use `SafeYAML.whitelist!` to whitelist the types you need to serialize.
176
- - [**Guard**](https://github.com/guard/guard): Uses YAML as a serialization format for notifications. The data serialized uses symbolic keys, so setting `SafeYAML::OPTIONS[:deserialize_symbols] = true` is necessary to allow Guard to work.
177
- - [**sidekiq**](https://github.com/mperham/sidekiq): Uses a YAML configiuration file with symbolic keys, so setting `SafeYAML::OPTIONS[:deserialize_symbols] = true` should allow it to work.
178
-
179
- The above list will grow over time, as more issues are discovered.
180
-
181
- Versioning
182
- ----------
183
-
184
- SafeYAML will follow [semantic versioning](http://semver.org/) so any updates to the first major version will maintain backwards compatability. So expect primarily bug fixes and feature enhancements (if anything!) from here on out... unless it makes sense to break the interface at some point and introduce a version 2.0, which I honestly think is unlikely.
185
-
186
- Requirements
187
- ------------
188
-
189
- SafeYAML requires Ruby 1.8.7 or newer and works with both [Syck](http://www.ruby-doc.org/stdlib-1.8.7/libdoc/yaml/rdoc/YAML.html) and [Psych](http://github.com/tenderlove/psych).
190
-
191
- If you are using a version of Ruby where Psych is the default YAML engine (e.g., 1.9.3) but you want to use Syck, be sure to set `YAML::ENGINE.yamler = "syck"` **before** requiring the safe_yaml gem.
@@ -1,11 +0,0 @@
1
- #!/bin/bash
2
-
3
- [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
4
-
5
- declare -a versions=("1.8.7" "1.9.2" "1.9.3" "2.0.0" "2.1.0" "2.1.1" "2.1.2" "ruby-head" "jruby")
6
-
7
- for i in "${versions[@]}"
8
- do
9
- rvm use $i
10
- bundle install
11
- done
@@ -1,34 +0,0 @@
1
- module SafeYAML
2
- class Deep
3
- def self.freeze(object)
4
- object.each do |*entry|
5
- value = entry.last
6
- case value
7
- when String, Regexp
8
- value.freeze
9
- when Enumerable
10
- Deep.freeze(value)
11
- end
12
- end
13
-
14
- return object.freeze
15
- end
16
-
17
- def self.copy(object)
18
- duplicate = object.dup rescue object
19
-
20
- case object
21
- when Array
22
- (0...duplicate.count).each do |i|
23
- duplicate[i] = Deep.copy(duplicate[i])
24
- end
25
- when Hash
26
- duplicate.keys.each do |key|
27
- duplicate[key] = Deep.copy(duplicate[key])
28
- end
29
- end
30
-
31
- duplicate
32
- end
33
- end
34
- end