brakeman 6.1.2 → 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 (617) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +65 -0
  3. data/README.md +6 -3
  4. data/bundle/load.rb +16 -13
  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.3.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/CHANGELOG.md +168 -4
  19. data/bundle/ruby/{3.3.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.3.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/MIT-LICENSE +1 -1
  22. data/bundle/ruby/{3.3.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/README.md +22 -34
  23. data/bundle/ruby/{3.3.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.3.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.3.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.3.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.3.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.3.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.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/Changelog.md +14 -0
  78. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/Gemfile +2 -0
  79. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/README.md +3 -0
  80. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/highline.gemspec +4 -1
  81. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/list_renderer.rb +2 -2
  82. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu.rb +7 -5
  83. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal.rb +2 -2
  84. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/version.rb +1 -1
  85. data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline.rb +26 -13
  86. data/bundle/ruby/3.2.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  87. data/bundle/ruby/{3.3.0/gems/parallel-1.24.0 → 3.2.0/gems/parallel-1.27.0}/lib/parallel.rb +52 -20
  88. data/bundle/ruby/3.2.0/gems/reline-0.6.1/COPYING +56 -0
  89. data/bundle/ruby/3.2.0/gems/reline-0.6.1/README.md +94 -0
  90. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/config.rb +373 -0
  91. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/face.rb +199 -0
  92. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/history.rb +76 -0
  93. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/ansi.rb +318 -0
  94. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/dumb.rb +120 -0
  95. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io/windows.rb +530 -0
  96. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/io.rb +55 -0
  97. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/base.rb +37 -0
  98. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/composite.rb +17 -0
  99. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/emacs.rb +517 -0
  100. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/vi_command.rb +518 -0
  101. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor/vi_insert.rb +517 -0
  102. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_actor.rb +8 -0
  103. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/key_stroke.rb +119 -0
  104. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/kill_ring.rb +125 -0
  105. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/line_editor.rb +2354 -0
  106. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/unicode/east_asian_width.rb +1293 -0
  107. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/unicode.rb +415 -0
  108. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/version.rb +3 -0
  109. data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline.rb +528 -0
  110. data/bundle/ruby/3.2.0/gems/reline-0.6.1/license_of_rb-readline +25 -0
  111. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/LICENSE.txt +22 -0
  112. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/NEWS.md +699 -0
  113. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/attribute.rb +3 -2
  114. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/document.rb +5 -1
  115. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/element.rb +16 -31
  116. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/entity.rb +9 -48
  117. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/pretty.rb +1 -1
  118. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/functions.rb +1 -2
  119. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/node.rb +8 -4
  120. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parseexception.rb +1 -0
  121. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/lib/rexml/parsers/baseparser.rb +887 -0
  122. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/pullparser.rb +16 -0
  123. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/sax2parser.rb +16 -19
  124. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/streamparser.rb +16 -10
  125. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/treeparser.rb +9 -21
  126. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/rexml.rb +1 -1
  127. data/bundle/ruby/3.2.0/gems/rexml-3.4.1/lib/rexml/source.rb +383 -0
  128. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/text.rb +54 -57
  129. data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xpath_parser.rb +7 -3
  130. data/bundle/ruby/{3.3.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/History.rdoc +28 -0
  131. data/bundle/ruby/{3.3.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/lib/ruby2ruby.rb +166 -27
  132. data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/History.rdoc +12 -0
  133. data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp.rb +1 -1
  134. data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp_matcher.rb +1 -1
  135. data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/sexp_processor.rb +1 -1
  136. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/CHANGES +44 -8
  137. data/bundle/ruby/3.2.0/gems/slim-5.2.1/Gemfile +43 -0
  138. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/LICENSE +1 -1
  139. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/README.jp.md +28 -41
  140. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/README.md +66 -43
  141. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/code_attributes.rb +2 -1
  142. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/command.rb +2 -8
  143. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/controls.rb +1 -0
  144. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/do_inserter.rb +4 -3
  145. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/embedded.rb +17 -17
  146. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/end_inserter.rb +3 -2
  147. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/engine.rb +3 -0
  148. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/erb_converter.rb +1 -0
  149. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/filter.rb +1 -0
  150. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/grammar.rb +1 -0
  151. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/include.rb +1 -0
  152. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/interpolation.rb +1 -0
  153. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less/context.rb +6 -7
  154. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less/filter.rb +1 -0
  155. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/logic_less.rb +1 -0
  156. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/parser.rb +26 -39
  157. data/bundle/ruby/3.2.0/gems/slim-5.2.1/lib/slim/railtie.rb +19 -0
  158. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/escaper.rb +1 -1
  159. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/filter.rb +3 -2
  160. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart/parser.rb +4 -3
  161. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/smart.rb +1 -0
  162. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/splat/builder.rb +16 -8
  163. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/splat/filter.rb +6 -4
  164. data/bundle/ruby/3.2.0/gems/slim-5.2.1/lib/slim/template.rb +6 -0
  165. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/translator.rb +4 -3
  166. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim/version.rb +2 -1
  167. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/lib/slim.rb +2 -0
  168. data/bundle/ruby/{3.3.0/gems/slim-4.1.0 → 3.2.0/gems/slim-5.2.1}/slim.gemspec +14 -5
  169. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/CHANGES +39 -1
  170. data/bundle/ruby/3.2.0/gems/temple-0.10.3/Gemfile +2 -0
  171. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/README.md +1 -1
  172. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/engine.rb +1 -0
  173. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/engine.rb +3 -0
  174. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/parser.rb +2 -1
  175. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/template.rb +1 -0
  176. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/erb/trimming.rb +1 -0
  177. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/exceptions.rb +1 -0
  178. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filter.rb +1 -0
  179. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/filters/ambles.rb +22 -0
  180. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/code_merger.rb +1 -0
  181. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/control_flow.rb +1 -0
  182. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/dynamic_inliner.rb +2 -1
  183. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +69 -0
  184. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/encoding.rb +1 -0
  185. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/eraser.rb +1 -0
  186. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/escapable.rb +1 -0
  187. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/multi_flattener.rb +1 -0
  188. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/remove_bom.rb +1 -0
  189. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/static_analyzer.rb +1 -0
  190. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/static_merger.rb +1 -0
  191. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/string_splitter.rb +13 -1
  192. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/filters/validator.rb +1 -0
  193. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generator.rb +5 -2
  194. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/array.rb +1 -0
  195. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/array_buffer.rb +1 -0
  196. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/erb.rb +1 -0
  197. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/rails_output_buffer.rb +4 -4
  198. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/generators/string_buffer.rb +2 -1
  199. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/grammar.rb +1 -0
  200. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_merger.rb +1 -0
  201. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_remover.rb +1 -0
  202. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/attribute_sorter.rb +1 -0
  203. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/dispatcher.rb +1 -0
  204. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/fast.rb +1 -0
  205. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/filter.rb +1 -0
  206. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/pretty.rb +1 -0
  207. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/html/safe.rb +1 -0
  208. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/map.rb +1 -0
  209. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/dispatcher.rb +1 -0
  210. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/engine_dsl.rb +1 -0
  211. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/grammar_dsl.rb +4 -2
  212. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/options.rb +1 -0
  213. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/mixins/template.rb +1 -0
  214. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/parser.rb +1 -0
  215. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/static_analyzer.rb +1 -0
  216. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates/rails.rb +7 -2
  217. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates/tilt.rb +2 -9
  218. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/templates.rb +1 -0
  219. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple/utils.rb +5 -15
  220. data/bundle/ruby/3.2.0/gems/temple-0.10.3/lib/temple/version.rb +4 -0
  221. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/lib/temple.rb +3 -0
  222. data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/temple.gemspec +4 -6
  223. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/History.rdoc +149 -0
  224. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/README.md +417 -0
  225. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/cell.rb +9 -9
  226. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/row.rb +18 -4
  227. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +66 -0
  228. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +284 -0
  229. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table.rb +49 -18
  230. data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +13 -0
  231. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/version.rb +1 -1
  232. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table.rb +2 -2
  233. data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/terminal-table.gemspec +3 -4
  234. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/COPYING +1 -0
  235. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_emacs_org.rb +2 -0
  236. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_handlebars.rb +2 -0
  237. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_jbuilder.rb +2 -0
  238. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/_org.rb +2 -0
  239. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/asciidoc.rb +15 -0
  240. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/babel.rb +8 -0
  241. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/builder.rb +42 -0
  242. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/cli.rb +134 -0
  243. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/coffee.rb +39 -0
  244. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/commonmarker.rb +95 -0
  245. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/creole.rb +16 -0
  246. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/csv.rb +6 -18
  247. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erb.rb +23 -21
  248. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/erubi.rb +55 -0
  249. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/etanni.rb +5 -4
  250. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/haml.rb +94 -0
  251. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/kramdown.rb +13 -0
  252. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/liquid.rb +10 -17
  253. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/livescript.rb +11 -0
  254. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/mapping.rb +228 -109
  255. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/markaby.rb +5 -7
  256. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/nokogiri.rb +11 -10
  257. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/pandoc.rb +39 -0
  258. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/pipeline.rb +19 -0
  259. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/plain.rb +5 -0
  260. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/prawn.rb +28 -0
  261. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/radius.rb +41 -0
  262. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rdiscount.rb +23 -0
  263. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rdoc.rb +11 -0
  264. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/redcarpet.rb +31 -0
  265. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/redcloth.rb +13 -0
  266. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/rst-pandoc.rb +10 -0
  267. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/sass.rb +78 -0
  268. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/slim.rb +5 -0
  269. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/string.rb +9 -3
  270. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/template.rb +611 -0
  271. data/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib/tilt/typescript.rb +19 -0
  272. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/yajl.rb +5 -11
  273. data/bundle/ruby/{3.3.0/gems/tilt-2.0.11 → 3.2.0/gems/tilt-2.6.1}/lib/tilt.rb +68 -43
  274. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/CHANGELOG.md +291 -0
  275. data/bundle/ruby/{3.3.0/gems/unicode-display_width-1.8.0 → 3.2.0/gems/unicode-display_width-3.1.4}/MIT-LICENSE.txt +1 -1
  276. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/README.md +194 -0
  277. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
  278. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb +10 -0
  279. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb +52 -0
  280. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/index.rb +34 -0
  281. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/no_string_ext.rb +8 -0
  282. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/reline_ext.rb +14 -0
  283. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width/string_ext.rb +9 -0
  284. data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/lib/unicode/display_width.rb +247 -0
  285. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/CHANGELOG.md +191 -0
  286. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/CODE_OF_CONDUCT.md +74 -0
  287. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/Gemfile +7 -0
  288. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/Gemfile.lock +33 -0
  289. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/MIT-LICENSE.txt +20 -0
  290. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/README.md +205 -0
  291. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
  292. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/generate_constants.rb +344 -0
  293. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/constants.rb +49 -0
  294. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +8 -0
  295. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  296. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  297. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  298. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  299. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  300. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  301. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  302. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  303. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  304. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  305. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  306. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  307. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  308. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text.rb +8 -0
  309. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  310. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  311. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  312. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  313. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  314. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +8 -0
  315. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  316. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  317. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  318. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  319. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  320. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  321. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  322. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  323. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  324. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  325. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  326. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  327. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  328. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  329. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  330. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  331. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  332. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  333. 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
  334. data/bundle/ruby/{3.3.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
  335. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/lazy_constants.rb +56 -0
  336. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/list.rb +13 -0
  337. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji.rb +111 -0
  338. data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/unicode-emoji.gemspec +22 -0
  339. data/lib/brakeman/app_tree.rb +50 -13
  340. data/lib/brakeman/checks/check_deserialize.rb +4 -1
  341. data/lib/brakeman/checks/check_eol_rails.rb +7 -0
  342. data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
  343. data/lib/brakeman/checks/check_evaluation.rb +45 -8
  344. data/lib/brakeman/checks/check_execute.rb +28 -0
  345. data/lib/brakeman/checks/check_model_attr_accessible.rb +1 -0
  346. data/lib/brakeman/checks/check_session_settings.rb +1 -1
  347. data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
  348. data/lib/brakeman/checks/check_weak_rsa_key.rb +1 -1
  349. data/lib/brakeman/commandline.rb +5 -0
  350. data/lib/brakeman/file_parser.rb +35 -2
  351. data/lib/brakeman/messages.rb +1 -1
  352. data/lib/brakeman/options.rb +45 -4
  353. data/lib/brakeman/parsers/erubis_patch.rb +11 -0
  354. data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
  355. data/lib/brakeman/parsers/rails2_erubis.rb +3 -0
  356. data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +4 -0
  357. data/lib/brakeman/parsers/rails3_erubis.rb +5 -1
  358. data/lib/brakeman/parsers/slim_embedded.rb +2 -0
  359. data/lib/brakeman/parsers/template_parser.rb +32 -7
  360. data/lib/brakeman/processor.rb +2 -0
  361. data/lib/brakeman/processors/alias_processor.rb +43 -17
  362. data/lib/brakeman/processors/base_processor.rb +2 -0
  363. data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
  364. data/lib/brakeman/processors/haml_template_processor.rb +7 -1
  365. data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
  366. data/lib/brakeman/processors/lib/render_helper.rb +38 -1
  367. data/lib/brakeman/processors/template_processor.rb +1 -1
  368. data/lib/brakeman/report/ignore/config.rb +0 -1
  369. data/lib/brakeman/report/report_html.rb +1 -1
  370. data/lib/brakeman/report/report_junit.rb +4 -57
  371. data/lib/brakeman/report/report_markdown.rb +1 -1
  372. data/lib/brakeman/report/report_sarif.rb +122 -2
  373. data/lib/brakeman/report/report_table.rb +2 -2
  374. data/lib/brakeman/report/report_tabs.rb +0 -1
  375. data/lib/brakeman/report/report_text.rb +8 -1
  376. data/lib/brakeman/report/templates/header.html.erb +7 -2
  377. data/lib/brakeman/report/templates/ignored_warnings.html.erb +3 -3
  378. data/lib/brakeman/rescanner.rb +40 -390
  379. data/lib/brakeman/scanner.rb +86 -53
  380. data/lib/brakeman/tracker/config.rb +9 -1
  381. data/lib/brakeman/tracker/file_cache.rb +83 -0
  382. data/lib/brakeman/tracker.rb +25 -2
  383. data/lib/brakeman/util.rb +1 -3
  384. data/lib/brakeman/version.rb +1 -1
  385. data/lib/brakeman/warning.rb +1 -1
  386. data/lib/brakeman.rb +25 -2
  387. data/lib/ruby_parser/bm_sexp.rb +5 -1
  388. metadata +493 -374
  389. data/bundle/ruby/3.3.0/gems/haml-5.2.2/Gemfile +0 -16
  390. data/bundle/ruby/3.3.0/gems/haml-5.2.2/TODO +0 -24
  391. data/bundle/ruby/3.3.0/gems/haml-5.2.2/haml.gemspec +0 -45
  392. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -219
  393. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -237
  394. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -150
  395. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/buffer.rb +0 -182
  396. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/compiler.rb +0 -330
  397. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/engine.rb +0 -238
  398. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/escapable.rb +0 -77
  399. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/exec.rb +0 -347
  400. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/filters.rb +0 -399
  401. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/generator.rb +0 -42
  402. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -60
  403. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -132
  404. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  405. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -20
  406. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -33
  407. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -114
  408. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/helpers.rb +0 -709
  409. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/options.rb +0 -273
  410. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/plugin.rb +0 -54
  411. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/railtie.rb +0 -53
  412. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -47
  413. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/template/options.rb +0 -27
  414. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/template.rb +0 -39
  415. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -124
  416. data/bundle/ruby/3.3.0/gems/haml-5.2.2/lib/haml.rb +0 -25
  417. data/bundle/ruby/3.3.0/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -15
  418. data/bundle/ruby/3.3.0/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -12
  419. data/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel/version.rb +0 -4
  420. data/bundle/ruby/3.3.0/gems/rexml-3.2.6/NEWS.md +0 -276
  421. data/bundle/ruby/3.3.0/gems/rexml-3.2.6/lib/rexml/parsers/baseparser.rb +0 -694
  422. data/bundle/ruby/3.3.0/gems/rexml-3.2.6/lib/rexml/source.rb +0 -298
  423. data/bundle/ruby/3.3.0/gems/slim-4.1.0/Gemfile +0 -70
  424. data/bundle/ruby/3.3.0/gems/slim-4.1.0/lib/slim/template.rb +0 -19
  425. data/bundle/ruby/3.3.0/gems/temple-0.8.2/Gemfile +0 -3
  426. data/bundle/ruby/3.3.0/gems/temple-0.8.2/lib/temple/version.rb +0 -3
  427. data/bundle/ruby/3.3.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
  428. data/bundle/ruby/3.3.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
  429. data/bundle/ruby/3.3.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
  430. data/bundle/ruby/3.3.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
  431. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -27
  432. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -16
  433. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -24
  434. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -37
  435. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -58
  436. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -88
  437. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -25
  438. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -3
  439. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -32
  440. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -43
  441. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -86
  442. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -25
  443. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/less.rb +0 -30
  444. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -23
  445. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -22
  446. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -57
  447. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -16
  448. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -43
  449. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -48
  450. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -39
  451. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -40
  452. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -86
  453. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -23
  454. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -23
  455. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -78
  456. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -34
  457. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/template.rb +0 -308
  458. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -26
  459. data/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -22
  460. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -137
  461. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/README.md +0 -124
  462. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  463. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
  464. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
  465. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
  466. data/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
  467. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  468. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  469. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/README.txt +0 -0
  470. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  471. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  472. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  473. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  474. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  475. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  476. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  477. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  478. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  479. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  480. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  481. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  482. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  483. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  484. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  485. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  486. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  487. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  488. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  489. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  490. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  491. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  492. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  493. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  494. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  495. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  496. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  497. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  498. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  499. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/erubis-2.7.0/setup.rb +0 -0
  500. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/AUTHORS +0 -0
  501. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/COPYING +0 -0
  502. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/LICENSE +0 -0
  503. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/TODO +0 -0
  504. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/builtin_styles.rb +0 -0
  505. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/color_scheme.rb +0 -0
  506. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/compatibility.rb +0 -0
  507. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/custom_errors.rb +0 -0
  508. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/import.rb +0 -0
  509. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/io_console_compatible.rb +0 -0
  510. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/list.rb +0 -0
  511. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu/item.rb +0 -0
  512. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/paginator.rb +0 -0
  513. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question/answer_converter.rb +0 -0
  514. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question.rb +0 -0
  515. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question_asker.rb +0 -0
  516. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/simulate.rb +0 -0
  517. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/statement.rb +0 -0
  518. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/string.rb +0 -0
  519. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/string_extensions.rb +0 -0
  520. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/style.rb +0 -0
  521. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/template_renderer.rb +0 -0
  522. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/io_console.rb +0 -0
  523. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/ncurses.rb +0 -0
  524. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/unix_stty.rb +0 -0
  525. /data/bundle/ruby/{3.3.0/gems/highline-3.0.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/wrapper.rb +0 -0
  526. /data/bundle/ruby/{3.3.0/gems/parallel-1.24.0 → 3.2.0/gems/parallel-1.27.0}/MIT-LICENSE.txt +0 -0
  527. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6/LICENSE.txt → 3.2.0/gems/reline-0.6.1/BSDL} +0 -0
  528. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/README.md +0 -0
  529. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/attlistdecl.rb +0 -0
  530. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/cdata.rb +0 -0
  531. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/child.rb +0 -0
  532. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/comment.rb +0 -0
  533. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/doctype.rb +0 -0
  534. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/attlistdecl.rb +0 -0
  535. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/dtd.rb +0 -0
  536. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/elementdecl.rb +0 -0
  537. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/entitydecl.rb +0 -0
  538. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/dtd/notationdecl.rb +0 -0
  539. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/encoding.rb +0 -0
  540. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/default.rb +0 -0
  541. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/formatters/transitive.rb +0 -0
  542. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/instruction.rb +0 -0
  543. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/light/node.rb +0 -0
  544. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/namespace.rb +0 -0
  545. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/output.rb +0 -0
  546. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parent.rb +0 -0
  547. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/lightparser.rb +0 -0
  548. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/ultralightparser.rb +0 -0
  549. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/parsers/xpathparser.rb +0 -0
  550. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/quickpath.rb +0 -0
  551. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/sax2listener.rb +0 -0
  552. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/security.rb +0 -0
  553. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/streamlistener.rb +0 -0
  554. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/undefinednamespaceexception.rb +0 -0
  555. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/relaxng.rb +0 -0
  556. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/validation.rb +0 -0
  557. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/validation/validationexception.rb +0 -0
  558. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xmldecl.rb +0 -0
  559. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xmltokens.rb +0 -0
  560. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml/xpath.rb +0 -0
  561. /data/bundle/ruby/{3.3.0/gems/rexml-3.2.6 → 3.2.0/gems/rexml-3.4.1}/lib/rexml.rb +0 -0
  562. /data/bundle/ruby/{3.3.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/Manifest.txt +0 -0
  563. /data/bundle/ruby/{3.3.0/gems/ruby2ruby-2.4.4 → 3.2.0/gems/ruby2ruby-2.5.2}/README.rdoc +0 -0
  564. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/History.rdoc +0 -0
  565. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/Manifest.txt +0 -0
  566. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/README.rdoc +0 -0
  567. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/compare/normalize.rb +0 -0
  568. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/debugging.md +0 -0
  569. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/gauntlet.md +0 -0
  570. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_extensions.rb +0 -0
  571. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_stringscanner.rb +0 -0
  572. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb +0 -0
  573. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -0
  574. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb +0 -0
  575. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -0
  576. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb +0 -0
  577. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -0
  578. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb +0 -0
  579. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -0
  580. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb +0 -0
  581. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -0
  582. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb +0 -0
  583. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -0
  584. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb +0 -0
  585. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -0
  586. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb +0 -0
  587. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -0
  588. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb +0 -0
  589. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -0
  590. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb +0 -0
  591. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -0
  592. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -0
  593. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -0
  594. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +0 -0
  595. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb +0 -0
  596. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex +0 -0
  597. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb +0 -0
  598. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb +0 -0
  599. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.rb +0 -0
  600. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.yy +0 -0
  601. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb +0 -0
  602. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/munge.rb +0 -0
  603. /data/bundle/ruby/{3.3.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/ripper.rb +0 -0
  604. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/Manifest.txt +0 -0
  605. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/README.rdoc +0 -0
  606. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/composite_sexp_processor.rb +0 -0
  607. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/pt_testcase.rb +0 -0
  608. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/strict_sexp.rb +0 -0
  609. /data/bundle/ruby/{3.3.0/gems/sexp_processor-4.17.1 → 3.2.0/gems/sexp_processor-4.17.3}/lib/unique.rb +0 -0
  610. /data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/EXPRESSIONS.md +0 -0
  611. /data/bundle/ruby/{3.3.0/gems/temple-0.8.2 → 3.2.0/gems/temple-0.10.3}/LICENSE +0 -0
  612. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Gemfile +0 -0
  613. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/LICENSE.txt +0 -0
  614. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Manifest +0 -0
  615. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Todo.rdoc +0 -0
  616. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/import.rb +0 -0
  617. /data/bundle/ruby/{3.3.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table_helper.rb +0 -0
@@ -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,
@@ -132,44 +117,54 @@ module REXML
132
117
 
133
118
  # illegal anywhere
134
119
  if !string.match?(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
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
@@ -391,11 +387,12 @@ module REXML
391
387
  end
392
388
 
393
389
  # Unescapes all possible entities
394
- 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
395
392
  sum = 0
396
393
  string.gsub( /\r\n?/, "\n" ).gsub( REFERENCE ) {
397
394
  s = Text.expand($&, doctype, filter)
398
- if sum + s.bytesize > Security.entity_expansion_text_limit
395
+ if sum + s.bytesize > entity_expansion_text_limit
399
396
  raise "entity expansion has grown too large"
400
397
  else
401
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:
@@ -31,7 +31,7 @@ end
31
31
  # Generate ruby code from a sexp.
32
32
 
33
33
  class Ruby2Ruby < SexpProcessor
34
- VERSION = "2.4.4" # :nodoc:
34
+ VERSION = "2.5.2" # :nodoc:
35
35
 
36
36
  # cutoff for one-liners
37
37
  LINE_LENGTH = 78
@@ -134,8 +134,10 @@ class Ruby2Ruby < SexpProcessor
134
134
  _, k, v = arg
135
135
  "#{k}: #{process v}"
136
136
  when :shadow then
137
- shadow << arg[1]
137
+ shadow << arg.sexp_body
138
138
  next
139
+ when :forward_args then
140
+ "..."
139
141
  else
140
142
  raise "unknown arg type #{arg.first.inspect}"
141
143
  end
@@ -322,9 +324,10 @@ class Ruby2Ruby < SexpProcessor
322
324
  end
323
325
 
324
326
  result.concat rest.map { |pt|
325
- if pt and pt.sexp_type == :when
327
+ if pt and %i[when in].include? pt.sexp_type
326
328
  "#{process pt}"
327
329
  else
330
+ next unless pt
328
331
  code = indent process pt
329
332
  code = indent("# do nothing") if code =~ /^\s*$/
330
333
  "else\n#{code}"
@@ -333,7 +336,7 @@ class Ruby2Ruby < SexpProcessor
333
336
 
334
337
  result << "end"
335
338
 
336
- result.join "\n"
339
+ result.compact.join "\n"
337
340
  end
338
341
 
339
342
  def process_cdecl exp # :nodoc:
@@ -366,13 +369,26 @@ class Ruby2Ruby < SexpProcessor
366
369
  def process_const exp # :nodoc:
367
370
  _, name = exp
368
371
 
372
+ name = process name if Sexp === name
373
+
369
374
  name.to_s
370
375
  end
371
376
 
377
+ def __var name
378
+ case context[1]
379
+ when /_pat$/ then
380
+ "^#{name}"
381
+ when :in then
382
+ "^#{name}"
383
+ else
384
+ name.to_s
385
+ end
386
+ end
387
+
372
388
  def process_cvar exp # :nodoc:
373
389
  _, name = exp
374
390
 
375
- name.to_s
391
+ __var name
376
392
  end
377
393
 
378
394
  def process_cvasgn exp # :nodoc:
@@ -459,7 +475,7 @@ class Ruby2Ruby < SexpProcessor
459
475
 
460
476
  options = re_opt rest.pop if Integer === rest.last
461
477
 
462
- "/" << util_dthing(:dregx, s(:dregx, str, *rest)) << "/#{options}"
478
+ "/" + util_dthing(:dregx, s(:dregx, str, *rest)) << "/#{options}"
463
479
  end
464
480
 
465
481
  def process_dregx_once(exp) # :nodoc:
@@ -486,7 +502,7 @@ class Ruby2Ruby < SexpProcessor
486
502
  ens = process(ens) || "# do nothing"
487
503
  ens = "begin\n#{ens}\nend\n" if ens =~ /(^|\n)rescue/
488
504
 
489
- body.sub!(/\n\s*end\z/, "")
505
+ body = body.sub(/\n\s*end\z/, "")
490
506
  body = indent(body) unless body =~ /(^|\n)rescue/
491
507
 
492
508
  "#{body}\nensure\n#{indent ens}"
@@ -528,6 +544,10 @@ class Ruby2Ruby < SexpProcessor
528
544
  result.join "\n"
529
545
  end
530
546
 
547
+ def process_forward_args exp
548
+ "..."
549
+ end
550
+
531
551
  def process_gasgn exp # :nodoc:
532
552
  process_iasgn exp
533
553
  end
@@ -535,7 +555,7 @@ class Ruby2Ruby < SexpProcessor
535
555
  def process_gvar exp # :nodoc:
536
556
  _, name = exp
537
557
 
538
- name.to_s
558
+ __var name
539
559
  end
540
560
 
541
561
  def process_hash(exp) # :nodoc:
@@ -544,6 +564,13 @@ class Ruby2Ruby < SexpProcessor
544
564
  result = pairs.each_slice(2).map { |k, v|
545
565
  if k.sexp_type == :kwsplat then
546
566
  "%s" % process(k)
567
+ elsif v.nil?
568
+ # Shorthand hash syntax
569
+ unless k.sexp_type == :lit and k.value.is_a? Symbol
570
+ raise "Expected symbol for hash key, but got #{k.inspect}"
571
+ end
572
+
573
+ "#{k.value}:"
547
574
  else
548
575
  t = v.sexp_type
549
576
 
@@ -568,6 +595,89 @@ class Ruby2Ruby < SexpProcessor
568
595
  end
569
596
  end
570
597
 
598
+ def process_in exp # :nodoc:
599
+ _, lhs, *rhs = exp
600
+
601
+ cond = process lhs
602
+ body = rhs.compact.map { |sexp| indent process sexp }
603
+
604
+ body << indent("# do nothing") if body.empty?
605
+ body = body.join "\n"
606
+
607
+ "in #{cond} then\n#{body.chomp}"
608
+ end
609
+
610
+ def process_find_pat exp # :nodoc:
611
+ _, a, b, *c, d = exp
612
+
613
+ a = process a # might be nil
614
+ b = process b if Sexp === b
615
+ c = c.map { |sexp| process sexp }.join(", ")
616
+ d = process d if Sexp === d
617
+
618
+ "%s[%s, %s, %s]" % [a, b, c, d]
619
+ end
620
+
621
+ def process_array_pat exp # :nodoc:
622
+ _, const, *rest = exp
623
+
624
+ const = process const if const
625
+
626
+ rest = rest.map { |sexp|
627
+ case sexp
628
+ when Sexp
629
+ process sexp
630
+ else
631
+ sexp
632
+ end
633
+ }
634
+
635
+ "%s[%s]" % [const, rest.join(", ")]
636
+ end
637
+
638
+ def process_kwrest exp # :nodoc:
639
+ _, name = exp
640
+
641
+ name.to_s
642
+ end
643
+
644
+ def process_hash_pat exp # :nodoc:
645
+ _, const, *rest = exp
646
+
647
+ if const then
648
+ const = process const
649
+ kwrest = process rest.pop if rest.last && rest.last.sexp_type == :kwrest
650
+
651
+ rest = rest.each_slice(2).map { |k, v|
652
+ k = process(k).delete_prefix ":"
653
+ v = process v
654
+
655
+ "#{k}: #{v}".strip
656
+ }
657
+
658
+ rest << kwrest if kwrest
659
+
660
+ rest.empty? ? "%s[]" % const : "%s[%s]" % [const, rest.join(", ")]
661
+ else
662
+ kwrest = process rest.pop if rest.last && rest.last.sexp_type == :kwrest
663
+
664
+ rest = rest.each_slice(2).map { |k, v|
665
+ k = process(k).delete_prefix ":"
666
+ v = process v
667
+
668
+ "#{k}: #{v}".strip
669
+ }
670
+
671
+ rest << kwrest if kwrest
672
+
673
+ rest.empty? ? "{}" : "{ %s }" % [rest.join(", ")]
674
+ end
675
+ end
676
+
677
+ def process_preexe exp # :nodoc:
678
+ "BEGIN"
679
+ end
680
+
571
681
  def process_if(exp) # :nodoc:
572
682
  _, c, t, f = exp
573
683
 
@@ -589,11 +699,12 @@ class Ruby2Ruby < SexpProcessor
589
699
  return r if r and (@indent + r).size < LINE_LENGTH and r !~ /\n/
590
700
  end
591
701
 
592
- r = "if #{c} then\n#{indent(t)}\n"
702
+ r = []
703
+ r << "if #{c} then\n#{indent(t)}\n"
593
704
  r << "else\n#{indent(f)}\n" if f
594
705
  r << "end"
595
706
 
596
- r
707
+ r.join
597
708
  elsif f
598
709
  unless expand then
599
710
  r = "#{f} unless #{c}"
@@ -610,6 +721,8 @@ class Ruby2Ruby < SexpProcessor
610
721
  "->"
611
722
  end
612
723
 
724
+ MUST_BE_CURLY = %w[ BEGIN END ]
725
+
613
726
  def process_iter(exp) # :nodoc:
614
727
  _, iter, args, body = exp
615
728
 
@@ -627,13 +740,13 @@ class Ruby2Ruby < SexpProcessor
627
740
  " |#{process(args)[1..-2]}|"
628
741
  end
629
742
 
630
- b, e = if iter == "END" then
743
+ b, e = if MUST_BE_CURLY.include? iter then
631
744
  %w[ { } ]
632
745
  else
633
746
  %w[ do end ]
634
747
  end
635
748
 
636
- iter.sub!(/\(\)$/, "")
749
+ iter = iter.sub(/\(\)$/, "")
637
750
 
638
751
  # REFACTOR: ugh
639
752
  result = []
@@ -676,7 +789,8 @@ class Ruby2Ruby < SexpProcessor
676
789
 
677
790
  def process_ivar(exp) # :nodoc:
678
791
  _, name = exp
679
- name.to_s
792
+
793
+ __var name
680
794
  end
681
795
 
682
796
  def process_kwsplat(exp)
@@ -687,9 +801,18 @@ class Ruby2Ruby < SexpProcessor
687
801
  def process_lasgn(exp) # :nodoc:
688
802
  _, name, value = exp
689
803
 
690
- s = "#{name}"
691
- s += " = #{process value}" if value
692
- s
804
+ value = process value
805
+
806
+ if value then
807
+ "%s %s %s" % case context[1]
808
+ when /_pat$/ then
809
+ [value, "=>", name]
810
+ else
811
+ [name, "=", value]
812
+ end
813
+ else
814
+ "%s" % [name]
815
+ end
693
816
  end
694
817
 
695
818
  def process_lit exp # :nodoc:
@@ -704,7 +827,8 @@ class Ruby2Ruby < SexpProcessor
704
827
 
705
828
  def process_lvar(exp) # :nodoc:
706
829
  _, name = exp
707
- name.to_s
830
+
831
+ __var name
708
832
  end
709
833
 
710
834
  def process_masgn(exp) # :nodoc:
@@ -792,13 +916,24 @@ class Ruby2Ruby < SexpProcessor
792
916
  end
793
917
 
794
918
  def process_op_asgn exp # :nodoc:
795
- # [[:lvar, :x], [:call, nil, :z, [:lit, 1]], :y, :"||"]
796
- _, lhs, rhs, index, op = exp
919
+ case exp.length
920
+ when 4
921
+ _, lhs, op, rhs = exp
797
922
 
798
- lhs = process lhs
799
- rhs = process rhs
923
+ lhs = process lhs
924
+ rhs = process rhs
925
+
926
+ "#{lhs} #{op}= #{rhs}"
927
+ when 5
928
+ _, lhs, rhs, index, op = exp
929
+
930
+ lhs = process lhs
931
+ rhs = process rhs
800
932
 
801
- "#{lhs}.#{index} #{op}= #{rhs}"
933
+ "#{lhs}.#{index} #{op}= #{rhs}"
934
+ else
935
+ raise ArgumentError, "Don't know how to process this length: %p" % [exp]
936
+ end
802
937
  end
803
938
 
804
939
  def process_op_asgn1(exp) # :nodoc:
@@ -840,7 +975,15 @@ class Ruby2Ruby < SexpProcessor
840
975
  def process_or(exp) # :nodoc:
841
976
  _, lhs, rhs = exp
842
977
 
843
- "(#{process lhs} or #{process rhs})"
978
+ lhs = process lhs
979
+ rhs = process rhs
980
+
981
+ case context[1]
982
+ when :in then
983
+ "(#{lhs} | #{rhs})"
984
+ else
985
+ "(#{lhs} or #{rhs})"
986
+ end
844
987
  end
845
988
 
846
989
  def process_postexe(exp) # :nodoc:
@@ -1029,10 +1172,6 @@ class Ruby2Ruby < SexpProcessor
1029
1172
  end
1030
1173
 
1031
1174
  def process_when exp # :nodoc:
1032
- s(:when, s(:array, s(:lit, 1)),
1033
- s(:call, nil, :puts, s(:str, "something")),
1034
- s(:lasgn, :result, s(:str, "red")))
1035
-
1036
1175
  _, lhs, *rhs = exp
1037
1176
 
1038
1177
  cond = process(lhs)[1..-2]
@@ -1,3 +1,15 @@
1
+ === 4.17.3 / 2024-11-11
2
+
3
+ * 1 bug fix:
4
+
5
+ * Fix errors created when string literals are frozen.
6
+
7
+ === 4.17.2 / 2024-07-09
8
+
9
+ * 1 bug fix:
10
+
11
+ * Fix errors created when string literals are frozen (in 2.7 only??).
12
+
1
13
  === 4.17.1 / 2024-01-15
2
14
 
3
15
  * 1 minor enhancement:
@@ -270,7 +270,7 @@ class Sexp < Array # ZenTest FULL
270
270
  end
271
271
 
272
272
  def pretty_print q # :nodoc:
273
- nnd = ")"
273
+ nnd = +")"
274
274
  nnd << ".line(#{line})" if line && ENV["VERBOSE"]
275
275
 
276
276
  q.group(1, "s(", nnd) do
@@ -370,7 +370,7 @@ class Sexp #:nodoc:
370
370
  end
371
371
 
372
372
  def inspect # :nodoc:
373
- s = super
373
+ s = super.dup
374
374
  s[0] = "q"
375
375
  s
376
376
  end
@@ -34,7 +34,7 @@ require "sexp"
34
34
  class SexpProcessor
35
35
 
36
36
  # duh
37
- VERSION = "4.17.1"
37
+ VERSION = "4.17.3"
38
38
 
39
39
  ##
40
40
  # Automatically shifts off the Sexp type before handing the
@@ -1,3 +1,39 @@
1
+ 5.2.1 (2024-01-20)
2
+
3
+ * Support Ruby 3.3
4
+ * Update Gem metadata
5
+
6
+ 5.2.0 (2023-11-11)
7
+
8
+ * Fix logic less bug - #783
9
+ * Support Rails 7.1 - #936
10
+ * Fix splat arguments on Rails 7.1 - #942
11
+
12
+ 5.1.1 (2023-05-16)
13
+
14
+ * Support lambda functions as shortcuts - #677 #813 #903
15
+ * Support --enable-frozen-string-literal - #851
16
+
17
+ 5.1.0 (2023-03-06)
18
+
19
+ * Allow whitespace markers for verbatim text: `|<`, `|>`, and `|<>` - #912
20
+ * Do not swallow single quote after output line indicator - #911
21
+ * Support Tilt 2.1.0 - #910
22
+ * Fix Railtie load error - #904
23
+ * Fix attribute parsing with square brackets - #796
24
+
25
+ 5.0.0 (2023-01-23)
26
+
27
+ * Fix markdown interpolation #773
28
+ * Support case/in #884
29
+ * Extract slim/railtie #850
30
+ * css: doesn't add type='text/css' anymore #828
31
+ * Remove deprecated whitespace syntax =' etc
32
+ * Add support for annotate_rendered_view_with_filenames #867, #878, #901
33
+ * Remove deprecated syntax
34
+ * Add option to hyphenate underscore attributes - #852
35
+ * Update CI/CD testing and dependencies
36
+
1
37
  4.1.0 (2020-05-07)
2
38
  * Add support for Tailwind CSS - #841
3
39
  * Update dependencies and testing
@@ -120,10 +156,10 @@
120
156
  div id=('obj' + name) data={:a => 1, :b => 2} class=['alpha', 'beta']
121
157
  * Quoted attributes are escaped by default
122
158
  Old:
123
- a href='http://slim-lang.com/?a=1&amp;b=2'
159
+ a href='http://github.com/slim-template/slim/?a=1&amp;b=2'
124
160
  New:
125
- a href='http://slim-lang.com/?a=1&b=2'
126
- a href=='http://slim-lang.com/?a=1&amp;b=2'
161
+ a href='http://github.com/slim-template/slim/?a=1&b=2'
162
+ a href=='http://github.com/slim-template/slim/?a=1&amp;b=2'
127
163
  You can always disable escaping completly by using :disable_escape if you don't want to write '=='.
128
164
  * Added hyphenation support for data attributes (Option :hyphen_attrs)
129
165
  Example: div data={key1_key2: 2, key1: {key3: 3}} will render as '<div data-key1-key2="2" data-key1-key3="3"></div>'
@@ -164,11 +200,11 @@
164
200
  * Deprecated :escape_quoted_attrs (done by default in 2.0)
165
201
  * Warn if quoted attributes might be double escaped in Slim 2.0.0
166
202
  Old syntax:
167
- a href='http://slim-lang.com/?a=1&amp;b=2'
168
- a href=='http://slim-lang.com/?a=1&amp;b=2'
203
+ a href='http://github.com/slim-template/slim/?a=1&amp;b=2'
204
+ a href=='http://github.com/slim-template/slim/?a=1&amp;b=2'
169
205
  New syntax in 2.0.0:
170
- a href='http://slim-lang.com/?a=1&b=2'
171
- a href=='http://slim-lang.com/?a=1&amp;b=2'
206
+ a href='http://github.com/slim-template/slim/?a=1&b=2'
207
+ a href=='http://github.com/slim-template/slim/?a=1&amp;b=2'
172
208
  * Improved pretty printing (Issue #202)
173
209
  * Renamed Slim::EmbeddedEngine to Slim::Embedded (Old constant still available until 2.0)
174
210
  * Renamed Slim::ControlStructures to Slim::Controls
@@ -218,7 +254,7 @@
218
254
  * BACKWARD INCOMPATIBLE CHANGE - Dynamic attributes which return empty value "" are not removed anymore
219
255
  (this means "" is now interpreted as true), whereas false and nil are still removed.
220
256
  This corresponds to the definition of boolean attributes in XHTML and HTML5.
221
- * Deprecated option :remove_empty_attrs (TODO: Remove in 1.4.0)
257
+ * Deprecated option :remove_empty_attrs
222
258
  * Add option :escape_quoted_attrs to escape quoted attributes, use == if you don't want that.
223
259
  The default is false to stay backward compatible.
224
260
  * Use Temple::FilterError exception