brakeman 7.0.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 (541) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +11 -0
  3. data/bundle/load.rb +16 -16
  4. data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/NEWS.md +20 -1
  5. data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/parser.rb +1 -1
  6. data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/version.rb +1 -1
  7. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/CHANGELOG.md +168 -4
  8. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/FAQ.md +1 -1
  9. data/bundle/ruby/3.2.0/gems/haml-6.3.0/Gemfile +27 -0
  10. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/MIT-LICENSE +1 -1
  11. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/README.md +22 -34
  12. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/REFERENCE.md +95 -159
  13. data/bundle/ruby/3.2.0/gems/haml-6.3.0/exe/haml +6 -0
  14. data/bundle/ruby/3.2.0/gems/haml-6.3.0/haml.gemspec +43 -0
  15. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ambles.rb +20 -0
  16. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_builder.rb +162 -0
  17. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_compiler.rb +133 -0
  18. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_parser.rb +116 -0
  19. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/cli.rb +154 -0
  20. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/children_compiler.rb +155 -0
  21. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/comment_compiler.rb +51 -0
  22. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/doctype_compiler.rb +52 -0
  23. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/script_compiler.rb +114 -0
  24. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
  25. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/tag_compiler.rb +76 -0
  26. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler.rb +97 -0
  27. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/dynamic_merger.rb +67 -0
  28. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/engine.rb +59 -0
  29. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/error.rb +5 -4
  30. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape.rb +13 -0
  31. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape_any.rb +21 -0
  32. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/base.rb +12 -0
  33. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/cdata.rb +20 -0
  34. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/coffee.rb +17 -0
  35. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/css.rb +33 -0
  36. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/erb.rb +10 -0
  37. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/escaped.rb +22 -0
  38. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/javascript.rb +33 -0
  39. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/less.rb +20 -0
  40. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/markdown.rb +11 -0
  41. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/plain.rb +29 -0
  42. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/preserve.rb +22 -0
  43. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/ruby.rb +10 -0
  44. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/sass.rb +15 -0
  45. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/scss.rb +15 -0
  46. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/text_base.rb +25 -0
  47. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/tilt_base.rb +59 -0
  48. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters.rb +75 -0
  49. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/force_escape.rb +29 -0
  50. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/helpers.rb +15 -0
  51. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/html.rb +22 -0
  52. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/identity.rb +13 -0
  53. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/object_ref.rb +35 -0
  54. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/parser.rb +158 -23
  55. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_helpers.rb +53 -0
  56. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_template.rb +62 -0
  57. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/railtie.rb +10 -0
  58. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ruby_expression.rb +32 -0
  59. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/string_splitter.rb +140 -0
  60. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/template.rb +20 -0
  61. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/temple_line_counter.rb +2 -1
  62. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/util.rb +19 -15
  63. data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/version.rb +1 -2
  64. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/whitespace.rb +8 -0
  65. data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml.rb +13 -0
  66. data/bundle/ruby/3.2.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  67. data/bundle/ruby/{3.1.0/gems/parallel-1.26.3 → 3.2.0/gems/parallel-1.27.0}/lib/parallel.rb +1 -1
  68. data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/template.rb +6 -1
  69. data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt.rb +1 -1
  70. data/lib/brakeman/app_tree.rb +16 -4
  71. data/lib/brakeman/checks/check_eol_rails.rb +1 -0
  72. data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
  73. data/lib/brakeman/commandline.rb +5 -0
  74. data/lib/brakeman/messages.rb +1 -1
  75. data/lib/brakeman/options.rb +4 -0
  76. data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
  77. data/lib/brakeman/parsers/template_parser.rb +32 -7
  78. data/lib/brakeman/processor.rb +2 -0
  79. data/lib/brakeman/processors/base_processor.rb +2 -0
  80. data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
  81. data/lib/brakeman/processors/haml_template_processor.rb +7 -1
  82. data/lib/brakeman/processors/lib/render_helper.rb +38 -1
  83. data/lib/brakeman/processors/template_processor.rb +1 -1
  84. data/lib/brakeman/report/report_html.rb +1 -1
  85. data/lib/brakeman/report/report_junit.rb +4 -57
  86. data/lib/brakeman/report/templates/header.html.erb +7 -2
  87. data/lib/brakeman/report/templates/ignored_warnings.html.erb +3 -3
  88. data/lib/brakeman/tracker.rb +6 -0
  89. data/lib/brakeman/version.rb +1 -1
  90. data/lib/brakeman.rb +4 -0
  91. metadata +490 -469
  92. data/bundle/ruby/3.1.0/gems/haml-5.2.2/Gemfile +0 -16
  93. data/bundle/ruby/3.1.0/gems/haml-5.2.2/TODO +0 -24
  94. data/bundle/ruby/3.1.0/gems/haml-5.2.2/haml.gemspec +0 -45
  95. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -219
  96. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -237
  97. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -150
  98. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/buffer.rb +0 -182
  99. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/compiler.rb +0 -330
  100. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/engine.rb +0 -238
  101. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/escapable.rb +0 -77
  102. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/exec.rb +0 -347
  103. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/filters.rb +0 -399
  104. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/generator.rb +0 -42
  105. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -60
  106. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -132
  107. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  108. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -20
  109. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -33
  110. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -114
  111. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers.rb +0 -709
  112. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/options.rb +0 -273
  113. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/plugin.rb +0 -54
  114. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/railtie.rb +0 -53
  115. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -47
  116. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/template/options.rb +0 -27
  117. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/template.rb +0 -39
  118. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -124
  119. data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml.rb +0 -25
  120. data/bundle/ruby/3.1.0/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -15
  121. data/bundle/ruby/3.1.0/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -12
  122. data/bundle/ruby/3.1.0/gems/parallel-1.26.3/lib/parallel/version.rb +0 -4
  123. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/LICENSE.txt +0 -0
  124. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/README.md +0 -0
  125. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/core_ext/array.rb +0 -0
  126. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/core_ext/string.rb +0 -0
  127. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/fields_converter.rb +0 -0
  128. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/input_record_separator.rb +0 -0
  129. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/row.rb +0 -0
  130. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/table.rb +0 -0
  131. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/writer.rb +0 -0
  132. /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv.rb +0 -0
  133. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  134. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  135. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/README.txt +0 -0
  136. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  137. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  138. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  139. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  140. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  141. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  142. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  143. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  144. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  145. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  146. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  147. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  148. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  149. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  150. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  151. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  152. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  153. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  154. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  155. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  156. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  157. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  158. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  159. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  160. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  161. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  162. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  163. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  164. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  165. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/setup.rb +0 -0
  166. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/AUTHORS +0 -0
  167. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/COPYING +0 -0
  168. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/Changelog.md +0 -0
  169. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/Gemfile +0 -0
  170. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/LICENSE +0 -0
  171. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/README.md +0 -0
  172. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/TODO +0 -0
  173. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/highline.gemspec +0 -0
  174. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/builtin_styles.rb +0 -0
  175. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/color_scheme.rb +0 -0
  176. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/compatibility.rb +0 -0
  177. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/custom_errors.rb +0 -0
  178. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/import.rb +0 -0
  179. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/io_console_compatible.rb +0 -0
  180. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/list.rb +0 -0
  181. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/list_renderer.rb +0 -0
  182. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/menu/item.rb +0 -0
  183. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/menu.rb +0 -0
  184. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/paginator.rb +0 -0
  185. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question/answer_converter.rb +0 -0
  186. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question.rb +0 -0
  187. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question_asker.rb +0 -0
  188. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/simulate.rb +0 -0
  189. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/statement.rb +0 -0
  190. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/string.rb +0 -0
  191. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/string_extensions.rb +0 -0
  192. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/style.rb +0 -0
  193. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/template_renderer.rb +0 -0
  194. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/io_console.rb +0 -0
  195. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/ncurses.rb +0 -0
  196. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/unix_stty.rb +0 -0
  197. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal.rb +0 -0
  198. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/version.rb +0 -0
  199. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/wrapper.rb +0 -0
  200. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline.rb +0 -0
  201. /data/bundle/ruby/{3.1.0/gems/parallel-1.26.3 → 3.2.0/gems/parallel-1.27.0}/MIT-LICENSE.txt +0 -0
  202. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/BSDL +0 -0
  203. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/COPYING +0 -0
  204. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/README.md +0 -0
  205. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/config.rb +0 -0
  206. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/face.rb +0 -0
  207. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/history.rb +0 -0
  208. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/io/ansi.rb +0 -0
  209. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/io/dumb.rb +0 -0
  210. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/io/windows.rb +0 -0
  211. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/io.rb +0 -0
  212. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor/base.rb +0 -0
  213. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor/composite.rb +0 -0
  214. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor/emacs.rb +0 -0
  215. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor/vi_command.rb +0 -0
  216. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor/vi_insert.rb +0 -0
  217. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_actor.rb +0 -0
  218. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/key_stroke.rb +0 -0
  219. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/kill_ring.rb +0 -0
  220. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/line_editor.rb +0 -0
  221. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/unicode/east_asian_width.rb +0 -0
  222. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/unicode.rb +0 -0
  223. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline/version.rb +0 -0
  224. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/lib/reline.rb +0 -0
  225. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/reline-0.6.1/license_of_rb-readline +0 -0
  226. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/LICENSE.txt +0 -0
  227. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/NEWS.md +0 -0
  228. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/README.md +0 -0
  229. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/attlistdecl.rb +0 -0
  230. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/attribute.rb +0 -0
  231. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/cdata.rb +0 -0
  232. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/child.rb +0 -0
  233. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/comment.rb +0 -0
  234. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/doctype.rb +0 -0
  235. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/document.rb +0 -0
  236. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/attlistdecl.rb +0 -0
  237. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/dtd.rb +0 -0
  238. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/elementdecl.rb +0 -0
  239. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/entitydecl.rb +0 -0
  240. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/notationdecl.rb +0 -0
  241. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/element.rb +0 -0
  242. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/encoding.rb +0 -0
  243. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/entity.rb +0 -0
  244. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/default.rb +0 -0
  245. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/pretty.rb +0 -0
  246. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/transitive.rb +0 -0
  247. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/functions.rb +0 -0
  248. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/instruction.rb +0 -0
  249. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/light/node.rb +0 -0
  250. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/namespace.rb +0 -0
  251. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/node.rb +0 -0
  252. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/output.rb +0 -0
  253. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parent.rb +0 -0
  254. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parseexception.rb +0 -0
  255. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/baseparser.rb +0 -0
  256. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/lightparser.rb +0 -0
  257. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/pullparser.rb +0 -0
  258. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/sax2parser.rb +0 -0
  259. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/streamparser.rb +0 -0
  260. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/treeparser.rb +0 -0
  261. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/ultralightparser.rb +0 -0
  262. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/xpathparser.rb +0 -0
  263. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/quickpath.rb +0 -0
  264. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/rexml.rb +0 -0
  265. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/sax2listener.rb +0 -0
  266. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/security.rb +0 -0
  267. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/source.rb +0 -0
  268. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/streamlistener.rb +0 -0
  269. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/text.rb +0 -0
  270. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/undefinednamespaceexception.rb +0 -0
  271. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/relaxng.rb +0 -0
  272. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/validation.rb +0 -0
  273. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/validationexception.rb +0 -0
  274. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xmldecl.rb +0 -0
  275. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xmltokens.rb +0 -0
  276. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xpath.rb +0 -0
  277. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xpath_parser.rb +0 -0
  278. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml.rb +0 -0
  279. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/History.rdoc +0 -0
  280. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/Manifest.txt +0 -0
  281. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/README.rdoc +0 -0
  282. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/lib/ruby2ruby.rb +0 -0
  283. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/History.rdoc +0 -0
  284. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/Manifest.txt +0 -0
  285. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/README.rdoc +0 -0
  286. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/compare/normalize.rb +0 -0
  287. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/debugging.md +0 -0
  288. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/gauntlet.md +0 -0
  289. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_extensions.rb +0 -0
  290. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_stringscanner.rb +0 -0
  291. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb +0 -0
  292. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -0
  293. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb +0 -0
  294. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -0
  295. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb +0 -0
  296. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -0
  297. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb +0 -0
  298. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -0
  299. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb +0 -0
  300. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -0
  301. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb +0 -0
  302. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -0
  303. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb +0 -0
  304. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -0
  305. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb +0 -0
  306. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -0
  307. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb +0 -0
  308. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -0
  309. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb +0 -0
  310. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -0
  311. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -0
  312. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -0
  313. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +0 -0
  314. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb +0 -0
  315. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex +0 -0
  316. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb +0 -0
  317. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb +0 -0
  318. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.rb +0 -0
  319. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.yy +0 -0
  320. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb +0 -0
  321. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/munge.rb +0 -0
  322. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/ripper.rb +0 -0
  323. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/History.rdoc +0 -0
  324. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/Manifest.txt +0 -0
  325. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/README.rdoc +0 -0
  326. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/composite_sexp_processor.rb +0 -0
  327. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/pt_testcase.rb +0 -0
  328. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp.rb +0 -0
  329. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp_matcher.rb +0 -0
  330. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp_processor.rb +0 -0
  331. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/strict_sexp.rb +0 -0
  332. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/unique.rb +0 -0
  333. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/CHANGES +0 -0
  334. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/Gemfile +0 -0
  335. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/LICENSE +0 -0
  336. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/README.jp.md +0 -0
  337. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/README.md +0 -0
  338. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/code_attributes.rb +0 -0
  339. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/command.rb +0 -0
  340. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/controls.rb +0 -0
  341. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/do_inserter.rb +0 -0
  342. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/embedded.rb +0 -0
  343. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/end_inserter.rb +0 -0
  344. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/engine.rb +0 -0
  345. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/erb_converter.rb +0 -0
  346. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/filter.rb +0 -0
  347. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/grammar.rb +0 -0
  348. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/include.rb +0 -0
  349. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/interpolation.rb +0 -0
  350. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less/context.rb +0 -0
  351. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less/filter.rb +0 -0
  352. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less.rb +0 -0
  353. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/parser.rb +0 -0
  354. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/railtie.rb +0 -0
  355. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/escaper.rb +0 -0
  356. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/filter.rb +0 -0
  357. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/parser.rb +0 -0
  358. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart.rb +0 -0
  359. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/splat/builder.rb +0 -0
  360. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/splat/filter.rb +0 -0
  361. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/template.rb +0 -0
  362. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/translator.rb +0 -0
  363. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/version.rb +0 -0
  364. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim.rb +0 -0
  365. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/slim.gemspec +0 -0
  366. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/CHANGES +0 -0
  367. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/EXPRESSIONS.md +0 -0
  368. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/Gemfile +0 -0
  369. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/LICENSE +0 -0
  370. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/README.md +0 -0
  371. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/engine.rb +0 -0
  372. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/engine.rb +0 -0
  373. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/parser.rb +0 -0
  374. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/template.rb +0 -0
  375. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/trimming.rb +0 -0
  376. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/exceptions.rb +0 -0
  377. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filter.rb +0 -0
  378. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/ambles.rb +0 -0
  379. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/code_merger.rb +0 -0
  380. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/control_flow.rb +0 -0
  381. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_inliner.rb +0 -0
  382. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +0 -0
  383. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/encoding.rb +0 -0
  384. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/eraser.rb +0 -0
  385. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/escapable.rb +0 -0
  386. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/multi_flattener.rb +0 -0
  387. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/remove_bom.rb +0 -0
  388. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/static_analyzer.rb +0 -0
  389. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/static_merger.rb +0 -0
  390. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/string_splitter.rb +0 -0
  391. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/validator.rb +0 -0
  392. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generator.rb +0 -0
  393. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/array.rb +0 -0
  394. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/array_buffer.rb +0 -0
  395. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/erb.rb +0 -0
  396. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/rails_output_buffer.rb +0 -0
  397. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/string_buffer.rb +0 -0
  398. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/grammar.rb +0 -0
  399. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_merger.rb +0 -0
  400. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_remover.rb +0 -0
  401. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_sorter.rb +0 -0
  402. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/dispatcher.rb +0 -0
  403. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/fast.rb +0 -0
  404. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/filter.rb +0 -0
  405. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/pretty.rb +0 -0
  406. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/safe.rb +0 -0
  407. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/map.rb +0 -0
  408. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/dispatcher.rb +0 -0
  409. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/engine_dsl.rb +0 -0
  410. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/grammar_dsl.rb +0 -0
  411. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/options.rb +0 -0
  412. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/template.rb +0 -0
  413. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/parser.rb +0 -0
  414. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/static_analyzer.rb +0 -0
  415. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates/rails.rb +0 -0
  416. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates/tilt.rb +0 -0
  417. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates.rb +0 -0
  418. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/utils.rb +0 -0
  419. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/version.rb +0 -0
  420. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple.rb +0 -0
  421. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/temple.gemspec +0 -0
  422. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Gemfile +0 -0
  423. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/History.rdoc +0 -0
  424. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/LICENSE.txt +0 -0
  425. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Manifest +0 -0
  426. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/README.md +0 -0
  427. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Todo.rdoc +0 -0
  428. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/cell.rb +0 -0
  429. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/import.rb +0 -0
  430. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/row.rb +0 -0
  431. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +0 -0
  432. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +0 -0
  433. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/table.rb +0 -0
  434. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/table_helper.rb +0 -0
  435. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +0 -0
  436. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/version.rb +0 -0
  437. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table.rb +0 -0
  438. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/terminal-table.gemspec +0 -0
  439. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/COPYING +0 -0
  440. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_emacs_org.rb +0 -0
  441. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_handlebars.rb +0 -0
  442. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_jbuilder.rb +0 -0
  443. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_org.rb +0 -0
  444. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/asciidoc.rb +0 -0
  445. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/babel.rb +0 -0
  446. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/builder.rb +0 -0
  447. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/cli.rb +0 -0
  448. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/coffee.rb +0 -0
  449. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/commonmarker.rb +0 -0
  450. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/creole.rb +0 -0
  451. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/csv.rb +0 -0
  452. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erb.rb +0 -0
  453. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erubi.rb +0 -0
  454. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/etanni.rb +0 -0
  455. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/haml.rb +0 -0
  456. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/kramdown.rb +0 -0
  457. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/liquid.rb +0 -0
  458. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/livescript.rb +0 -0
  459. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/mapping.rb +0 -0
  460. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/markaby.rb +0 -0
  461. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/nokogiri.rb +0 -0
  462. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/pandoc.rb +0 -0
  463. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/pipeline.rb +0 -0
  464. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/plain.rb +0 -0
  465. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/prawn.rb +0 -0
  466. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/radius.rb +0 -0
  467. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rdiscount.rb +0 -0
  468. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rdoc.rb +0 -0
  469. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/redcarpet.rb +0 -0
  470. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/redcloth.rb +0 -0
  471. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rst-pandoc.rb +0 -0
  472. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/sass.rb +0 -0
  473. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/slim.rb +0 -0
  474. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/string.rb +0 -0
  475. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/typescript.rb +0 -0
  476. /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/yajl.rb +0 -0
  477. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/CHANGELOG.md +0 -0
  478. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/MIT-LICENSE.txt +0 -0
  479. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/README.md +0 -0
  480. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
  481. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb +0 -0
  482. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb +0 -0
  483. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/index.rb +0 -0
  484. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/no_string_ext.rb +0 -0
  485. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/reline_ext.rb +0 -0
  486. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/string_ext.rb +0 -0
  487. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width.rb +0 -0
  488. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/CHANGELOG.md +0 -0
  489. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/CODE_OF_CONDUCT.md +0 -0
  490. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/Gemfile +0 -0
  491. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/Gemfile.lock +0 -0
  492. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/MIT-LICENSE.txt +0 -0
  493. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/README.md +0 -0
  494. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
  495. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/data/generate_constants.rb +0 -0
  496. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/constants.rb +0 -0
  497. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +0 -0
  498. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_basic.rb +0 -0
  499. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_emoji_keycap.rb +0 -0
  500. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +0 -0
  501. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +0 -0
  502. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +0 -0
  503. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +0 -0
  504. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +0 -0
  505. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +0 -0
  506. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_component.rb +0 -0
  507. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_emoji.rb +0 -0
  508. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier.rb +0 -0
  509. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +0 -0
  510. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_presentation.rb +0 -0
  511. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text.rb +0 -0
  512. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text_presentation.rb +0 -0
  513. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +0 -0
  514. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +0 -0
  515. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +0 -0
  516. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +0 -0
  517. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +0 -0
  518. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_basic.rb +0 -0
  519. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +0 -0
  520. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +0 -0
  521. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +0 -0
  522. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +0 -0
  523. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto.rb +0 -0
  524. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +0 -0
  525. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_possible.rb +0 -0
  526. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_component.rb +0 -0
  527. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +0 -0
  528. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +0 -0
  529. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +0 -0
  530. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +0 -0
  531. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text.rb +0 -0
  532. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text_presentation.rb +0 -0
  533. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid.rb +0 -0
  534. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +0 -0
  535. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed.rb +0 -0
  536. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +0 -0
  537. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/index.rb +0 -0
  538. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/lazy_constants.rb +0 -0
  539. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/list.rb +0 -0
  540. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji.rb +0 -0
  541. /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/unicode-emoji.gemspec +0 -0
@@ -14,6 +14,24 @@ module Haml
14
14
  module Util
15
15
  extend self
16
16
 
17
+ begin # Ruby 3.2+ or ERB 4+
18
+ require 'erb/escape'
19
+
20
+ define_singleton_method(:escape_html, ERB::Escape.instance_method(:html_escape))
21
+ rescue LoadError
22
+ require 'cgi/escape'
23
+
24
+ def self.escape_html(html)
25
+ CGI.escapeHTML(html.to_s)
26
+ end
27
+ end
28
+
29
+ # TODO: Remove unescape_interpolation's workaround and get rid of `respond_to?`.
30
+ def self.escape_html_safe(html)
31
+ html = html.to_s
32
+ (html.respond_to?(:html_safe?) && html.html_safe?) ? html : escape_html(html)
33
+ end
34
+
17
35
  # Silence all output to STDERR within a block.
18
36
  #
19
37
  # @yield A block in which no output will be printed to STDERR
@@ -35,20 +53,6 @@ module Haml
35
53
  false
36
54
  end
37
55
 
38
- # Returns the given text, marked as being HTML-safe.
39
- # With older versions of the Rails XSS-safety mechanism,
40
- # this destructively modifies the HTML-safety of `text`.
41
- #
42
- # It only works if you are using ActiveSupport or the parameter `text`
43
- # implements the #html_safe method.
44
- #
45
- # @param text [String, nil]
46
- # @return [String, nil] `text`, marked as HTML-safe
47
- def html_safe(text)
48
- return unless text
49
- text.html_safe
50
- end
51
-
52
56
  # Checks that the encoding of a string is valid
53
57
  # and cleans up potential encoding gotchas like the UTF-8 BOM.
54
58
  # If it's not, yields an error string describing the invalid character
@@ -214,7 +218,7 @@ MSG
214
218
  end
215
219
  content = eval("\"#{interpolated}\"")
216
220
  content = "#{char}#{content}" if char == '@' || char == '$'
217
- content = "Haml::Helpers.html_escape((#{content}))" if escape_html
221
+ content = "Haml::Util.escape_html_safe((#{content}).to_s)" if escape_html
218
222
 
219
223
  res << "\#{#{content}}"
220
224
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  module Haml
4
- VERSION = "5.2.2"
3
+ VERSION = '6.3.0'
5
4
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ module Haml
3
+ class Whitespace < Temple::Filter
4
+ def on_whitespace
5
+ [:static, "\n"]
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require 'haml/engine'
3
+ require 'haml/error'
4
+ require 'haml/version'
5
+ require 'haml/template'
6
+
7
+ if File.basename($0) != 'haml'
8
+ begin
9
+ require 'rails'
10
+ require 'haml/railtie'
11
+ rescue LoadError
12
+ end
13
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+ module Parallel
3
+ VERSION = Version = '1.27.0' # rubocop:disable Naming/ConstantName
4
+ end
@@ -255,7 +255,7 @@ module Parallel
255
255
 
256
256
  if options[:in_processes] && options[:in_threads]
257
257
  raise ArgumentError, "Please specify only one of `in_processes` or `in_threads`."
258
- elsif RUBY_PLATFORM =~ (/java/) && !(options[:in_processes])
258
+ elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
259
259
  method = :in_threads
260
260
  size = options[method] || processor_count
261
261
  elsif options[:in_threads]
@@ -473,7 +473,12 @@ module Tilt
473
473
  end
474
474
 
475
475
  def load_compiled_method(path, method_source)
476
- File.binwrite(path, method_source)
476
+ # Write to a temporary path specific to the current process, and
477
+ # rename after writing. This prevents issues during parallel
478
+ # coverage testing.
479
+ tmp_path = "#{path}-#{$$}"
480
+ File.binwrite(tmp_path, method_source)
481
+ File.rename(tmp_path, path)
477
482
 
478
483
  # Use load and not require, so unbind_compiled_method does not
479
484
  # break if the same path is used more than once.
@@ -5,7 +5,7 @@ require_relative 'tilt/template'
5
5
  # Namespace for Tilt. This module is not intended to be included anywhere.
6
6
  module Tilt
7
7
  # Current version.
8
- VERSION = '2.6.0'
8
+ VERSION = '2.6.1'
9
9
 
10
10
  EMPTY_ARRAY = [].freeze
11
11
  private_constant :EMPTY_ARRAY
@@ -145,6 +145,17 @@ module Brakeman
145
145
  end
146
146
  end
147
147
 
148
+
149
+ # Call this to be able to marshall the AppTree
150
+ def marshallable
151
+ @initializer_paths = @initializer_paths.to_a
152
+ @controller_paths = @controller_paths.to_a
153
+ @template_paths = @template_paths.to_a
154
+ @lib_files = @file_paths.to_a
155
+
156
+ self
157
+ end
158
+
148
159
  private
149
160
 
150
161
  def find_helper_paths
@@ -160,7 +171,7 @@ module Brakeman
160
171
  end
161
172
 
162
173
  def find_paths(directory, extensions = ".rb")
163
- select_files(glob_files(directory, "*", extensions).sort)
174
+ select_files(glob_files(directory, "*", extensions))
164
175
  end
165
176
 
166
177
  def glob_files(directory, name, extensions = ".rb")
@@ -179,10 +190,10 @@ module Brakeman
179
190
  end
180
191
 
181
192
  files = patterns.flat_map { |pattern| Dir.glob(pattern) }
182
- files.uniq
193
+ files.uniq.lazy
183
194
  else
184
195
  pattern = "#{root_search_pattern}#{directory}/**/#{name}#{extensions}"
185
- Dir.glob(pattern)
196
+ Dir.glob(pattern).lazy
186
197
  end
187
198
  end
188
199
 
@@ -191,7 +202,8 @@ module Brakeman
191
202
  paths = reject_skipped_files(paths)
192
203
  paths = convert_to_file_paths(paths)
193
204
  paths = reject_global_excludes(paths)
194
- reject_directories(paths)
205
+ paths = reject_directories(paths)
206
+ paths
195
207
  end
196
208
 
197
209
  def reject_directories(paths)
@@ -25,5 +25,6 @@ class Brakeman::CheckEOLRails < Brakeman::EOLCheck
25
25
  ['7.0.0', '7.0.99'] => Date.new(2025, 4, 1),
26
26
  ['7.1.0', '7.1.99'] => Date.new(2025, 10, 1),
27
27
  ['7.2.0', '7.2.99'] => Date.new(2026, 8, 9),
28
+ ['8.0.0', '8.0.99'] => Date.new(2026, 10, 7),
28
29
  }
29
30
  end
@@ -25,5 +25,6 @@ class Brakeman::CheckEOLRuby < Brakeman::EOLCheck
25
25
  ['3.1.0', '3.1.99'] => Date.new(2025, 3, 31),
26
26
  ['3.2.0', '3.2.99'] => Date.new(2026, 3, 31),
27
27
  ['3.3.0', '3.3.99'] => Date.new(2027, 3, 31),
28
+ ['3.4.0', '3.4.99'] => Date.new(2028, 3, 31),
28
29
  }
29
30
  end
@@ -145,6 +145,11 @@ module Brakeman
145
145
  quit Brakeman::Errors_Found_Exit_Code
146
146
  end
147
147
 
148
+ if tracker.options[:ensure_no_obsolete_ignore_entries] && tracker.unused_fingerprints.any?
149
+ warn '[Error] Obsolete ignore entries were found, exiting with an error code.'
150
+ quit Brakeman::Obsolete_Ignore_Entries_Exit_Code
151
+ end
152
+
148
153
  if ensure_ignore_notes_failed
149
154
  quit Brakeman::Empty_Ignore_Note_Exit_Code
150
155
  end
@@ -86,7 +86,7 @@ class Brakeman::Messages::Message
86
86
  end
87
87
 
88
88
  def to_html
89
- require 'cgi'
89
+ require 'cgi/escape'
90
90
 
91
91
  output = @parts.map(&:to_html).join
92
92
 
@@ -71,6 +71,10 @@ module Brakeman::Options
71
71
  options[:ensure_ignore_notes] = true
72
72
  end
73
73
 
74
+ opts.on "--ensure-no-obsolete-ignore-entries", "Fail when an obsolete ignore entry is found" do
75
+ options[:ensure_no_obsolete_ignore_entries] = true
76
+ end
77
+
74
78
  opts.on "-3", "--rails3", "Force Rails 3 mode" do
75
79
  options[:rails3] = true
76
80
  end
@@ -0,0 +1,23 @@
1
+ [:Coffee, :CoffeeScript, :Markdown, :Sass].each do |name|
2
+ klass = Module.const_get("Haml::Filters::#{name}")
3
+
4
+ klass.define_method(:compile) do |node|
5
+ temple = [:multi]
6
+ temple << [:static, "<script>\n"]
7
+ temple << compile_with_tilt(node)
8
+ temple << [:static, "</script>"]
9
+ temple
10
+ end
11
+
12
+ klass.define_method(:compile_with_tilt) do |node|
13
+ # From Haml
14
+ text = ::Haml::Util.unescape_interpolation(node.value[:text]).gsub(/(\\+)n/) do |s|
15
+ escapes = $1.size
16
+ next s if escapes % 2 == 0
17
+ "#{'\\' * (escapes - 1)}\n"
18
+ end
19
+ text.prepend("\n").sub!(/\n"\z/, '"')
20
+
21
+ [:dynamic, "BrakemanFilter.render(#{text})"]
22
+ end
23
+ end
@@ -24,6 +24,7 @@ module Brakeman
24
24
  type = :erubis if erubis?
25
25
  parse_erb path, text
26
26
  when :haml
27
+ type = :haml6 if haml6?
27
28
  parse_haml path, text
28
29
  when :slim
29
30
  parse_slim path, text
@@ -74,19 +75,43 @@ module Brakeman
74
75
  end
75
76
 
76
77
  def parse_haml path, text
77
- Brakeman.load_brakeman_dependency 'haml'
78
- require_relative 'haml_embedded'
78
+ if haml6?
79
+ require_relative 'haml6_embedded'
80
+
81
+ Haml::Template.new(filename: path.relative,
82
+ :escape_html => tracker.config.escape_html?,
83
+ generator: Temple::Generators::RailsOutputBuffer,
84
+ use_html_safe: true,
85
+ buffer_class: 'ActionView::OutputBuffer',
86
+ disable_capture: true,
87
+ ) { text }.precompiled_template
88
+ else
89
+ require_relative 'haml_embedded'
79
90
 
80
- Haml::Engine.new(text,
81
- :filename => path,
82
- :escape_html => tracker.config.escape_html?,
83
- :escape_filter_interpolations => tracker.config.escape_filter_interpolations?
84
- ).precompiled.gsub(/([^\\])\\n/, '\1')
91
+ Haml::Engine.new(text,
92
+ :filename => path,
93
+ :escape_html => tracker.config.escape_html?,
94
+ :escape_filter_interpolations => tracker.config.escape_filter_interpolations?
95
+ ).precompiled.gsub(/([^\\])\\n/, '\1')
96
+ end
85
97
  rescue Haml::Error => e
86
98
  tracker.error e, ["While compiling HAML in #{path}"] << e.backtrace
87
99
  nil
88
100
  end
89
101
 
102
+ def haml6?
103
+ return @haml6 unless @haml6.nil?
104
+
105
+ Brakeman.load_brakeman_dependency 'haml'
106
+ major_version = Haml::VERSION.split('.').first.to_i
107
+
108
+ if major_version >= 6
109
+ @haml6 = true
110
+ else
111
+ @haml6 = false
112
+ end
113
+ end
114
+
90
115
  def parse_slim path, text
91
116
  Brakeman.load_brakeman_dependency 'slim'
92
117
 
@@ -63,6 +63,8 @@ module Brakeman
63
63
  result = ErbTemplateProcessor.new(@tracker, name, called_from, file_name).process src
64
64
  when :haml
65
65
  result = HamlTemplateProcessor.new(@tracker, name, called_from, file_name).process src
66
+ when :haml6
67
+ result = Haml6TemplateProcessor.new(@tracker, name, called_from, file_name).process src
66
68
  when :erubis
67
69
  result = ErubisTemplateProcessor.new(@tracker, name, called_from, file_name).process src
68
70
  when :slim
@@ -205,6 +205,7 @@ class Brakeman::BaseProcessor < Brakeman::SexpProcessor
205
205
  rest = process rest
206
206
  result = Sexp.new(:render, render_type, value, rest)
207
207
  result.line(exp.line)
208
+
208
209
  result
209
210
  end
210
211
 
@@ -240,6 +241,7 @@ class Brakeman::BaseProcessor < Brakeman::SexpProcessor
240
241
  elsif first_arg.nil?
241
242
  type = :default
242
243
  elsif not hash? first_arg
244
+ # Maybe do partial if in view?
243
245
  type = :action
244
246
  value = first_arg
245
247
  end
@@ -0,0 +1,92 @@
1
+ require 'brakeman/processors/haml_template_processor'
2
+
3
+ class Brakeman::Haml6TemplateProcessor < Brakeman::HamlTemplateProcessor
4
+
5
+ OUTPUT_BUFFER = s(:ivar, :@output_buffer)
6
+ HAML_UTILS = s(:colon2, s(:colon3, :Haml), :Util)
7
+ HAML_UTILS2 = s(:colon2, s(:const, :Haml), :Util)
8
+ # @output_buffer = output_buffer || ActionView::OutputBuffer.new
9
+ AV_SAFE_BUFFER = s(:or, s(:call, nil, :output_buffer), s(:call, s(:colon2, s(:const, :ActionView), :OutputBuffer), :new))
10
+ EMBEDDED_FILTER = s(:const, :BrakemanFilter)
11
+
12
+ def initialize(*)
13
+ super
14
+
15
+ # Because of how Haml 6 handles line breaks -
16
+ # we have to track where _haml_compiler variables are assigned.
17
+ # then change the line number of where they are output to where
18
+ # they are assigned.
19
+ #
20
+ # Like this:
21
+ #
22
+ # ; _haml_compiler1 = (params[:x];
23
+ # ; ); @output_buffer.safe_concat((((::Haml::Util.escape_html_safe((_haml_compiler1))).to_s).to_s));
24
+ #
25
+ # `_haml_compiler1` is output a line after it's assigned,
26
+ # but the assignment matches the "real" line where it is output in the template.
27
+ @compiler_assigns = {}
28
+ end
29
+
30
+ # @output_buffer.safe_concat
31
+ def buffer_append? exp
32
+ call? exp and
33
+ output_buffer? exp.target and
34
+ exp.method == :safe_concat
35
+ end
36
+
37
+ def process_lasgn exp
38
+ if exp.lhs.match?(/_haml_compiler\d+/)
39
+ @compiler_assigns[exp.lhs] = exp.rhs
40
+ ignore
41
+ else
42
+ exp
43
+ end
44
+ end
45
+
46
+ def process_lvar exp
47
+ if exp.value.match?(/_haml_compiler\d+/)
48
+ exp = @compiler_assigns[exp.value] || exp
49
+ end
50
+
51
+ exp
52
+ end
53
+
54
+ def is_escaped? exp
55
+ return unless call? exp
56
+
57
+ html_escaped? exp or
58
+ javascript_escaped? exp
59
+ end
60
+
61
+ def javascript_escaped? call
62
+ # TODO: Adding here to match existing behavior for HAML,
63
+ # but really this is not safe and needs to be revisited
64
+ call.method == :j or
65
+ call.method == :escape_javascript
66
+ end
67
+
68
+ def html_escaped? call
69
+ (call.target == HAML_UTILS or call.target == HAML_UTILS2) and
70
+ (call.method == :escape_html or call.method == :escape_html_safe)
71
+ end
72
+
73
+ def output_buffer? exp
74
+ exp == OUTPUT_BUFFER or
75
+ exp == AV_SAFE_BUFFER
76
+ end
77
+
78
+ def normalize_output arg
79
+ arg = super(arg)
80
+
81
+ if embedded_filter? arg
82
+ super(arg.first_arg)
83
+ else
84
+ arg
85
+ end
86
+ end
87
+
88
+ # Handle our "fake" embedded filters
89
+ def embedded_filter? arg
90
+ call? arg and arg.method == :render and arg.target == EMBEDDED_FILTER
91
+ end
92
+ end
@@ -84,6 +84,12 @@ class Brakeman::HamlTemplateProcessor < Brakeman::TemplateProcessor
84
84
  :escape_once_without_haml_xss
85
85
  ]
86
86
 
87
+ def is_escaped? exp
88
+ return unless call? exp
89
+
90
+ haml_helpers? exp.target and ESCAPE_METHODS.include? exp.method
91
+ end
92
+
87
93
  def get_pushed_value exp, default = :output
88
94
  return exp unless sexp? exp
89
95
 
@@ -113,7 +119,7 @@ class Brakeman::HamlTemplateProcessor < Brakeman::TemplateProcessor
113
119
  when :call
114
120
  if exp.method == :to_s or exp.method == :strip
115
121
  get_pushed_value(exp.target, default)
116
- elsif haml_helpers? exp.target and ESCAPE_METHODS.include? exp.method
122
+ elsif is_escaped? exp
117
123
  get_pushed_value(exp.first_arg, :escaped_output)
118
124
  elsif @javascript and (exp.method == :j or exp.method == :escape_javascript) # TODO: Remove - this is not safe
119
125
  get_pushed_value(exp.first_arg, :escaped_output)
@@ -9,7 +9,14 @@ module Brakeman::RenderHelper
9
9
  @rendered = true
10
10
  case exp.render_type
11
11
  when :action, :template, :inline
12
- process_action exp[2][1], exp[3], exp.line
12
+ action = exp[2]
13
+ args = exp[3]
14
+
15
+ if string? action or symbol? action
16
+ process_action action.value, args, exp.line
17
+ else
18
+ process_model_action action, args
19
+ end
13
20
  when :default
14
21
  begin
15
22
  process_template template_name, exp[3], nil, exp.line
@@ -49,6 +56,36 @@ module Brakeman::RenderHelper
49
56
  def process_action name, args, line
50
57
  if name.is_a? String or name.is_a? Symbol
51
58
  process_template template_name(name), args, nil, line
59
+ else
60
+ Brakeman.debug "Not processing render #{name.inspect}"
61
+ end
62
+ end
63
+
64
+ SINGLE_RECORD = [:first, :find, :last, :new]
65
+ COLLECTION = [:all, :where]
66
+
67
+ def process_model_action action, args
68
+ return unless call? action
69
+
70
+ method = action.method
71
+
72
+ klass = get_class_target(action) || Brakeman::Tracker::UNKNOWN_MODEL
73
+ name = Sexp.new(:lit, klass.downcase)
74
+
75
+ if SINGLE_RECORD.include? method
76
+ # Set a local variable with name based on class of model
77
+ # and value of the value passed to render
78
+ local_key = Sexp.new(:lit, :locals)
79
+ locals = hash_access(args, local_key) || Sexp.new(:hash)
80
+ hash_insert(locals, name, action)
81
+ hash_insert(args, local_key, locals)
82
+
83
+ process_partial name, args, action.line
84
+ elsif COLLECTION.include? method
85
+ collection_key = Sexp.new(:lit, :collection)
86
+ hash_insert(args, collection_key, action)
87
+
88
+ process_partial name, args, action.line
52
89
  end
53
90
  end
54
91
 
@@ -56,7 +56,7 @@ class Brakeman::TemplateProcessor < Brakeman::BaseProcessor
56
56
  # Pull out actual output value from template
57
57
  def normalize_output arg
58
58
  if call? arg and [:to_s, :html_safe!, :freeze].include? arg.method
59
- arg.target
59
+ normalize_output(arg.target) # sometimes it's foo.to_s.to_s
60
60
  elsif node_type? arg, :if
61
61
  branches = [arg.then_clause, arg.else_clause].compact
62
62
 
@@ -1,4 +1,4 @@
1
- require 'cgi'
1
+ require 'cgi/escape'
2
2
  require 'brakeman/report/report_table.rb'
3
3
 
4
4
  class Brakeman::Report::HTML < Brakeman::Report::Table
@@ -9,50 +9,7 @@ class Brakeman::Report::JUnit < Brakeman::Report::Base
9
9
  doc.add REXML::XMLDecl.new '1.0', 'UTF-8'
10
10
 
11
11
  test_suites = REXML::Element.new 'testsuites'
12
- test_suites.add_attribute 'xmlns:brakeman', 'https://brakemanscanner.org/'
13
- properties = test_suites.add_element 'brakeman:properties', { 'xml:id' => 'scan_info' }
14
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'app_path', 'brakeman:value' => tracker.app_path }
15
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'rails_version', 'brakeman:value' => rails_version }
16
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'security_warnings', 'brakeman:value' => all_warnings.length }
17
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'start_time', 'brakeman:value' => tracker.start_time.iso8601 }
18
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'end_time', 'brakeman:value' => tracker.end_time.iso8601 }
19
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'duration', 'brakeman:value' => tracker.duration }
20
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'checks_performed', 'brakeman:value' => checks.checks_run.join(',') }
21
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'number_of_controllers', 'brakeman:value' => tracker.controllers.length }
22
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'number_of_models', 'brakeman:value' => tracker.models.length - 1 }
23
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'ruby_version', 'brakeman:value' => number_of_templates(@tracker) }
24
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'number_of_templates', 'brakeman:value' => RUBY_VERSION }
25
- properties.add_element 'brakeman:property', { 'brakeman:name' => 'brakeman_version', 'brakeman:value' => Brakeman::Version }
26
12
 
27
- errors = test_suites.add_element 'brakeman:errors'
28
- tracker.errors.each { |e|
29
- error = errors.add_element 'brakeman:error'
30
- error.add_attribute 'brakeman:message', e[:error]
31
- e[:backtrace].each { |b|
32
- backtrace = error.add_element 'brakeman:backtrace'
33
- backtrace.add_text b
34
- }
35
- }
36
-
37
- obsolete = test_suites.add_element 'brakeman:obsolete'
38
- tracker.unused_fingerprints.each { |fingerprint|
39
- obsolete.add_element 'brakeman:warning', { 'brakeman:fingerprint' => fingerprint }
40
- }
41
-
42
- ignored = test_suites.add_element 'brakeman:ignored'
43
- ignored_warnings.each { |w|
44
- warning = ignored.add_element 'brakeman:warning'
45
- warning.add_attribute 'brakeman:message', w.message
46
- warning.add_attribute 'brakeman:category', w.warning_type
47
- warning.add_attribute 'brakeman:file', warning_file(w)
48
- warning.add_attribute 'brakeman:line', w.line
49
- warning.add_attribute 'brakeman:fingerprint', w.fingerprint
50
- warning.add_attribute 'brakeman:confidence', w.confidence_name
51
- warning.add_attribute 'brakeman:code', w.format_code
52
- warning.add_text w.to_s
53
- }
54
-
55
- hostname = `hostname`.strip
56
13
  i = 0
57
14
  all_warnings
58
15
  .map { |warning| [warning.file, [warning]] }
@@ -66,35 +23,25 @@ class Brakeman::Report::JUnit < Brakeman::Report::Base
66
23
  test_suite = test_suites.add_element 'testsuite'
67
24
  test_suite.add_attribute 'id', i
68
25
  test_suite.add_attribute 'package', 'brakeman'
69
- test_suite.add_attribute 'name', file.relative
26
+ test_suite.add_attribute 'file', file.relative
70
27
  test_suite.add_attribute 'timestamp', tracker.start_time.strftime('%FT%T')
71
- test_suite.add_attribute 'hostname', hostname == '' ? 'localhost' : hostname
72
28
  test_suite.add_attribute 'tests', checks.checks_run.length
73
29
  test_suite.add_attribute 'failures', warnings.length
74
30
  test_suite.add_attribute 'errors', '0'
75
31
  test_suite.add_attribute 'time', '0'
76
32
 
77
- test_suite.add_element 'properties'
78
-
79
33
  warnings.each { |warning|
80
34
  test_case = test_suite.add_element 'testcase'
81
- test_case.add_attribute 'name', 'run_check'
82
- test_case.add_attribute 'classname', warning.check
35
+ test_case.add_attribute 'name', warning.check.sub(/^Brakeman::/, '')
36
+ test_case.add_attribute 'file', file.relative
37
+ test_case.add_attribute 'line', warning.line if warning.line
83
38
  test_case.add_attribute 'time', '0'
84
39
 
85
40
  failure = test_case.add_element 'failure'
86
41
  failure.add_attribute 'message', warning.message
87
42
  failure.add_attribute 'type', warning.warning_type
88
- failure.add_attribute 'brakeman:fingerprint', warning.fingerprint
89
- failure.add_attribute 'brakeman:file', warning_file(warning)
90
- failure.add_attribute 'brakeman:line', warning.line
91
- failure.add_attribute 'brakeman:confidence', warning.confidence_name
92
- failure.add_attribute 'brakeman:code', warning.format_code
93
43
  failure.add_text warning.to_s
94
44
  }
95
-
96
- test_suite.add_element 'system-out'
97
- test_suite.add_element 'system-err'
98
45
  }
99
46
 
100
47
  doc.add test_suites
@@ -9,10 +9,15 @@
9
9
  function toggle(context) {
10
10
  var elem = document.getElementById(context);
11
11
 
12
- if (elem.style.display != "block")
12
+ if (elem.style.display != "block") {
13
13
  elem.style.display = "block";
14
- else
14
+
15
+ elem.querySelectorAll("table").forEach(function(table) {
16
+ $(table).DataTable().columns.adjust();
17
+ });
18
+ } else {
15
19
  elem.style.display = "none";
20
+ }
16
21
 
17
22
  elem.parentNode.scrollIntoView();
18
23
  }
@@ -1,6 +1,6 @@
1
1
  <div onClick="toggle('ignored_table');"> <h2><%= warnings.length %> Ignored Warnings (click to see them)</h2 ></div>
2
- <div>
3
- <table style="display:none" id="ignored_table">
2
+ <div style="display:none; width:100%" id="ignored_table">
3
+ <table>
4
4
  <thead>
5
5
  <tr>
6
6
  <th>Confidence</th>
@@ -8,7 +8,7 @@
8
8
  <th>Warning Type</th>
9
9
  <th>CWE ID</th>
10
10
  <th>Message</th>
11
- <th>Note</th>
11
+ <th width="auto">Note</th>
12
12
  </tr>
13
13
  </thead>
14
14
  <tbody>
@@ -441,4 +441,10 @@ class Brakeman::Tracker
441
441
 
442
442
  @call_index.remove_indexes_by_file path
443
443
  end
444
+
445
+ # Call this to be able to marshal the Tracker
446
+ def marshallable
447
+ @app_tree.marshallable
448
+ self
449
+ end
444
450
  end