brakeman 6.0.0 → 7.0.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 (535) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +68 -0
  3. data/README.md +5 -2
  4. data/bundle/load.rb +15 -14
  5. data/bundle/ruby/3.1.0/gems/csv-3.3.2/LICENSE.txt +33 -0
  6. data/bundle/ruby/3.1.0/gems/csv-3.3.2/NEWS.md +965 -0
  7. data/bundle/ruby/3.1.0/gems/csv-3.3.2/README.md +55 -0
  8. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/core_ext/array.rb +9 -0
  9. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/core_ext/string.rb +9 -0
  10. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/fields_converter.rb +96 -0
  11. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/input_record_separator.rb +18 -0
  12. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/parser.rb +1292 -0
  13. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/row.rb +757 -0
  14. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/table.rb +1055 -0
  15. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/version.rb +6 -0
  16. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/writer.rb +209 -0
  17. data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv.rb +3017 -0
  18. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/Changelog.md +28 -0
  19. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/Gemfile +1 -0
  20. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/README.md +40 -1
  21. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/highline.gemspec +6 -1
  22. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/io_console_compatible.rb +1 -1
  23. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/question/answer_converter.rb +2 -5
  24. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/question.rb +23 -13
  25. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/question_asker.rb +3 -1
  26. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/terminal/io_console.rb +1 -1
  27. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/terminal/unix_stty.rb +6 -4
  28. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/terminal.rb +8 -6
  29. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/version.rb +1 -1
  30. data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline.rb +27 -6
  31. data/bundle/ruby/3.1.0/gems/parallel-1.26.3/lib/parallel/version.rb +4 -0
  32. data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.1.0/gems/parallel-1.26.3}/lib/parallel.rb +76 -20
  33. data/bundle/ruby/3.1.0/gems/reline-0.6.0/COPYING +56 -0
  34. data/bundle/ruby/3.1.0/gems/reline-0.6.0/README.md +94 -0
  35. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/config.rb +373 -0
  36. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/face.rb +199 -0
  37. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/history.rb +76 -0
  38. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/ansi.rb +325 -0
  39. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/dumb.rb +120 -0
  40. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/windows.rb +530 -0
  41. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io.rb +55 -0
  42. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/base.rb +37 -0
  43. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/composite.rb +17 -0
  44. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/emacs.rb +517 -0
  45. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/vi_command.rb +518 -0
  46. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/vi_insert.rb +517 -0
  47. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor.rb +8 -0
  48. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_stroke.rb +119 -0
  49. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/kill_ring.rb +125 -0
  50. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/line_editor.rb +2382 -0
  51. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/unicode/east_asian_width.rb +1267 -0
  52. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/unicode.rb +415 -0
  53. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/version.rb +3 -0
  54. data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline.rb +519 -0
  55. data/bundle/ruby/3.1.0/gems/reline-0.6.0/license_of_rb-readline +25 -0
  56. data/bundle/ruby/3.1.0/gems/rexml-3.4.0/LICENSE.txt +22 -0
  57. data/bundle/ruby/3.1.0/gems/rexml-3.4.0/NEWS.md +675 -0
  58. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/README.md +10 -1
  59. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/attribute.rb +17 -11
  60. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/document.rb +6 -2
  61. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/element.rb +19 -34
  62. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/entity.rb +9 -38
  63. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/formatters/pretty.rb +3 -3
  64. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/functions.rb +1 -2
  65. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/namespace.rb +8 -4
  66. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/node.rb +8 -4
  67. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parseexception.rb +1 -0
  68. data/bundle/ruby/3.1.0/gems/rexml-3.4.0/lib/rexml/parsers/baseparser.rb +866 -0
  69. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/pullparser.rb +16 -0
  70. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/sax2parser.rb +16 -19
  71. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/streamparser.rb +16 -10
  72. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/treeparser.rb +9 -21
  73. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/xpathparser.rb +136 -86
  74. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/rexml.rb +3 -1
  75. data/bundle/ruby/3.1.0/gems/rexml-3.4.0/lib/rexml/source.rb +369 -0
  76. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/text.rb +60 -61
  77. data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/xpath_parser.rb +7 -3
  78. data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/History.rdoc +22 -0
  79. data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/lib/ruby2ruby.rb +162 -26
  80. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/History.rdoc +18 -0
  81. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/compare/normalize.rb +1 -0
  82. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.rb +4220 -4273
  83. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.y +0 -10
  84. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.rb +4203 -4238
  85. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.y +0 -10
  86. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.rb +4239 -4276
  87. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.y +0 -10
  88. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.rb +4235 -4240
  89. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1/lib/ruby24_parser.y → 3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y} +1 -19
  90. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.rb +4229 -4284
  91. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1/lib/ruby23_parser.y → 3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y} +9 -11
  92. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.rb +4220 -4275
  93. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.y +0 -10
  94. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.rb +4221 -4276
  95. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.y +0 -10
  96. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.rb +4138 -4207
  97. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.y +0 -10
  98. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.rb +5989 -5957
  99. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.y +95 -72
  100. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.rb +6157 -6172
  101. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.y +96 -73
  102. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby32_parser.rb +6251 -6314
  103. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby32_parser.y +117 -93
  104. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby3_parser.yy +132 -73
  105. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
  106. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
  107. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
  108. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.yy +0 -10
  109. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +9 -9
  110. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/tools/munge.rb +8 -2
  111. data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/tools/ripper.rb +14 -12
  112. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/History.rdoc +18 -0
  113. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/pt_testcase.rb +1 -1
  114. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/sexp.rb +1 -1
  115. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/sexp_matcher.rb +1 -1
  116. data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/sexp_processor.rb +1 -1
  117. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/CHANGES +44 -8
  118. data/bundle/ruby/3.1.0/gems/slim-5.2.1/Gemfile +43 -0
  119. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/LICENSE +1 -1
  120. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/README.jp.md +28 -41
  121. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/README.md +66 -43
  122. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/code_attributes.rb +2 -1
  123. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/command.rb +2 -8
  124. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/controls.rb +1 -0
  125. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/do_inserter.rb +4 -3
  126. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/embedded.rb +17 -17
  127. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/end_inserter.rb +3 -2
  128. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/engine.rb +3 -0
  129. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/erb_converter.rb +1 -0
  130. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/filter.rb +1 -0
  131. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/grammar.rb +1 -0
  132. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/include.rb +1 -0
  133. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/interpolation.rb +1 -0
  134. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/logic_less/context.rb +6 -7
  135. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/logic_less/filter.rb +1 -0
  136. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/logic_less.rb +1 -0
  137. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/parser.rb +26 -39
  138. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/railtie.rb +19 -0
  139. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/smart/escaper.rb +1 -1
  140. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/smart/filter.rb +3 -2
  141. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/smart/parser.rb +4 -3
  142. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/smart.rb +1 -0
  143. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/splat/builder.rb +16 -8
  144. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/splat/filter.rb +6 -4
  145. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/template.rb +6 -0
  146. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/translator.rb +4 -3
  147. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim/version.rb +2 -1
  148. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim.rb +2 -0
  149. data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/slim.gemspec +14 -5
  150. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/CHANGES +39 -1
  151. data/bundle/ruby/3.1.0/gems/temple-0.10.3/Gemfile +2 -0
  152. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/README.md +1 -1
  153. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/engine.rb +1 -0
  154. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/erb/engine.rb +3 -0
  155. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/erb/parser.rb +2 -1
  156. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/erb/template.rb +1 -0
  157. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/erb/trimming.rb +1 -0
  158. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/exceptions.rb +1 -0
  159. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filter.rb +1 -0
  160. data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/filters/ambles.rb +22 -0
  161. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/code_merger.rb +1 -0
  162. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/control_flow.rb +1 -0
  163. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/dynamic_inliner.rb +2 -1
  164. data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +69 -0
  165. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/encoding.rb +1 -0
  166. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/eraser.rb +1 -0
  167. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/escapable.rb +1 -0
  168. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/multi_flattener.rb +1 -0
  169. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/remove_bom.rb +1 -0
  170. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/static_analyzer.rb +1 -0
  171. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/static_merger.rb +1 -0
  172. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/string_splitter.rb +13 -1
  173. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/filters/validator.rb +1 -0
  174. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generator.rb +5 -2
  175. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generators/array.rb +1 -0
  176. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generators/array_buffer.rb +1 -0
  177. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generators/erb.rb +1 -0
  178. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generators/rails_output_buffer.rb +4 -4
  179. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/generators/string_buffer.rb +2 -1
  180. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/grammar.rb +1 -0
  181. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/attribute_merger.rb +1 -0
  182. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/attribute_remover.rb +1 -0
  183. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/attribute_sorter.rb +1 -0
  184. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/dispatcher.rb +1 -0
  185. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/fast.rb +1 -0
  186. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/filter.rb +1 -0
  187. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/pretty.rb +1 -0
  188. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/html/safe.rb +1 -0
  189. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/map.rb +1 -0
  190. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/mixins/dispatcher.rb +1 -0
  191. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/mixins/engine_dsl.rb +1 -0
  192. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/mixins/grammar_dsl.rb +4 -2
  193. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/mixins/options.rb +1 -0
  194. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/mixins/template.rb +1 -0
  195. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/parser.rb +1 -0
  196. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/static_analyzer.rb +1 -0
  197. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/templates/rails.rb +7 -2
  198. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/templates/tilt.rb +2 -9
  199. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/templates.rb +1 -0
  200. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple/utils.rb +5 -15
  201. data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/version.rb +4 -0
  202. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple.rb +3 -0
  203. data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/temple.gemspec +4 -6
  204. data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/History.rdoc +142 -0
  205. data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/README.md +417 -0
  206. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/cell.rb +8 -8
  207. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/row.rb +18 -4
  208. data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/separator.rb +66 -0
  209. data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/style.rb +284 -0
  210. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/table.rb +47 -18
  211. data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/util.rb +13 -0
  212. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/version.rb +1 -1
  213. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table.rb +2 -2
  214. data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/terminal-table.gemspec +3 -3
  215. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/COPYING +1 -0
  216. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_emacs_org.rb +2 -0
  217. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_handlebars.rb +2 -0
  218. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_jbuilder.rb +2 -0
  219. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_org.rb +2 -0
  220. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/asciidoc.rb +15 -0
  221. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/babel.rb +8 -0
  222. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/builder.rb +42 -0
  223. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/cli.rb +134 -0
  224. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/coffee.rb +39 -0
  225. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/commonmarker.rb +95 -0
  226. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/creole.rb +16 -0
  227. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/csv.rb +6 -18
  228. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/erb.rb +23 -21
  229. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/erubi.rb +55 -0
  230. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/etanni.rb +5 -4
  231. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/haml.rb +94 -0
  232. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/kramdown.rb +13 -0
  233. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/liquid.rb +10 -17
  234. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/livescript.rb +11 -0
  235. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/mapping.rb +228 -109
  236. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/markaby.rb +5 -7
  237. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/nokogiri.rb +11 -10
  238. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/pandoc.rb +39 -0
  239. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/pipeline.rb +19 -0
  240. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/plain.rb +5 -0
  241. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/prawn.rb +28 -0
  242. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/radius.rb +41 -0
  243. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rdiscount.rb +23 -0
  244. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rdoc.rb +11 -0
  245. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/redcarpet.rb +31 -0
  246. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/redcloth.rb +13 -0
  247. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rst-pandoc.rb +10 -0
  248. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/sass.rb +78 -0
  249. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/slim.rb +5 -0
  250. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/string.rb +9 -3
  251. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/template.rb +479 -0
  252. data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/typescript.rb +19 -0
  253. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt/yajl.rb +5 -11
  254. data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt.rb +60 -43
  255. data/bundle/ruby/{3.0.0/gems/unicode-display_width-1.8.0 → 3.1.0/gems/unicode-display_width-2.6.0}/CHANGELOG.md +65 -2
  256. data/bundle/ruby/{3.0.0/gems/unicode-display_width-1.8.0 → 3.1.0/gems/unicode-display_width-2.6.0}/MIT-LICENSE.txt +1 -1
  257. data/bundle/ruby/{3.0.0/gems/unicode-display_width-1.8.0 → 3.1.0/gems/unicode-display_width-2.6.0}/README.md +67 -20
  258. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/data/display_width.marshal.gz +0 -0
  259. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/constants.rb +10 -0
  260. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/index.rb +34 -0
  261. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  262. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/string_ext.rb +9 -0
  263. data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width.rb +123 -0
  264. data/lib/brakeman/app_tree.rb +31 -11
  265. data/lib/brakeman/checks/check_deserialize.rb +4 -1
  266. data/lib/brakeman/checks/check_eol_rails.rb +6 -0
  267. data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
  268. data/lib/brakeman/checks/check_evaluation.rb +20 -2
  269. data/lib/brakeman/checks/check_execute.rb +28 -0
  270. data/lib/brakeman/checks/check_model_attr_accessible.rb +1 -0
  271. data/lib/brakeman/checks/check_ransack.rb +53 -0
  272. data/lib/brakeman/checks/check_render.rb +6 -1
  273. data/lib/brakeman/checks/check_session_settings.rb +2 -3
  274. data/lib/brakeman/checks/check_sql.rb +1 -1
  275. data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
  276. data/lib/brakeman/file_parser.rb +35 -2
  277. data/lib/brakeman/options.rb +41 -4
  278. data/lib/brakeman/parsers/erubis_patch.rb +11 -0
  279. data/lib/brakeman/parsers/rails2_erubis.rb +3 -0
  280. data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +4 -0
  281. data/lib/brakeman/parsers/rails3_erubis.rb +5 -1
  282. data/lib/brakeman/parsers/slim_embedded.rb +2 -0
  283. data/lib/brakeman/processors/alias_processor.rb +48 -19
  284. data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
  285. data/lib/brakeman/processors/lib/module_helper.rb +31 -1
  286. data/lib/brakeman/processors/library_processor.rb +6 -0
  287. data/lib/brakeman/report/ignore/config.rb +0 -1
  288. data/lib/brakeman/report/pager.rb +1 -1
  289. data/lib/brakeman/report/report_markdown.rb +1 -1
  290. data/lib/brakeman/report/report_sarif.rb +122 -2
  291. data/lib/brakeman/report/report_table.rb +2 -2
  292. data/lib/brakeman/report/report_tabs.rb +0 -1
  293. data/lib/brakeman/report/report_text.rb +8 -1
  294. data/lib/brakeman/rescanner.rb +40 -390
  295. data/lib/brakeman/scanner.rb +160 -74
  296. data/lib/brakeman/tracker/config.rb +22 -8
  297. data/lib/brakeman/tracker/controller.rb +14 -10
  298. data/lib/brakeman/tracker/file_cache.rb +83 -0
  299. data/lib/brakeman/tracker.rb +20 -3
  300. data/lib/brakeman/util.rb +1 -3
  301. data/lib/brakeman/version.rb +1 -1
  302. data/lib/brakeman/warning.rb +1 -1
  303. data/lib/brakeman/warning_codes.rb +1 -0
  304. data/lib/brakeman.rb +16 -5
  305. data/lib/ruby_parser/bm_sexp.rb +5 -1
  306. metadata +432 -406
  307. data/bundle/ruby/3.0.0/gems/parallel-1.23.0/lib/parallel/version.rb +0 -4
  308. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/NEWS.md +0 -178
  309. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb +0 -694
  310. data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/source.rb +0 -298
  311. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
  312. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
  313. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt +0 -22
  314. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md +0 -191
  315. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
  316. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
  317. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
  318. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
  319. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
  320. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  321. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  322. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
  323. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
  324. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
  325. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
  326. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
  327. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
  328. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  329. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
  330. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
  331. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
  332. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
  333. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
  334. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
  335. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
  336. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
  337. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
  338. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
  339. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
  340. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
  341. data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
  342. data/bundle/ruby/3.0.0/gems/slim-4.1.0/Gemfile +0 -70
  343. data/bundle/ruby/3.0.0/gems/slim-4.1.0/lib/slim/template.rb +0 -19
  344. data/bundle/ruby/3.0.0/gems/temple-0.8.2/Gemfile +0 -3
  345. data/bundle/ruby/3.0.0/gems/temple-0.8.2/lib/temple/version.rb +0 -3
  346. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
  347. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
  348. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
  349. data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
  350. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -27
  351. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -16
  352. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -24
  353. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -37
  354. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -58
  355. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -88
  356. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -25
  357. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -3
  358. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -32
  359. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -43
  360. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -86
  361. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -25
  362. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/less.rb +0 -30
  363. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -23
  364. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -22
  365. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -57
  366. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -16
  367. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -43
  368. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -48
  369. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -39
  370. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -40
  371. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -86
  372. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -23
  373. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -23
  374. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -78
  375. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -34
  376. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/template.rb +0 -308
  377. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -26
  378. data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -22
  379. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  380. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
  381. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -12
  382. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
  383. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
  384. data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
  385. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  386. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  387. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/README.txt +0 -0
  388. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  389. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  390. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  391. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  392. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  393. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  394. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  395. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  396. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  397. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  398. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  399. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  400. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  401. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  402. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  403. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  404. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  405. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  406. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  407. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  408. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  409. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  410. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  411. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  412. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  413. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  414. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  415. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  416. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  417. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/setup.rb +0 -0
  418. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/CHANGELOG.md +0 -0
  419. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/FAQ.md +0 -0
  420. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/Gemfile +0 -0
  421. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/MIT-LICENSE +0 -0
  422. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/README.md +0 -0
  423. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/REFERENCE.md +0 -0
  424. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/TODO +0 -0
  425. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/haml.gemspec +0 -0
  426. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -0
  427. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -0
  428. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -0
  429. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/buffer.rb +0 -0
  430. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/compiler.rb +0 -0
  431. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/engine.rb +0 -0
  432. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/error.rb +0 -0
  433. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/escapable.rb +0 -0
  434. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/exec.rb +0 -0
  435. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/filters.rb +0 -0
  436. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/generator.rb +0 -0
  437. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -0
  438. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -0
  439. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -0
  440. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -0
  441. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -0
  442. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -0
  443. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers.rb +0 -0
  444. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/options.rb +0 -0
  445. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/parser.rb +0 -0
  446. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/plugin.rb +0 -0
  447. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/railtie.rb +0 -0
  448. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -0
  449. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/template/options.rb +0 -0
  450. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/template.rb +0 -0
  451. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -0
  452. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -0
  453. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/util.rb +0 -0
  454. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/version.rb +0 -0
  455. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml.rb +0 -0
  456. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -0
  457. /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -0
  458. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/AUTHORS +0 -0
  459. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/COPYING +0 -0
  460. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/LICENSE +0 -0
  461. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/TODO +0 -0
  462. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/builtin_styles.rb +0 -0
  463. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/color_scheme.rb +0 -0
  464. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/compatibility.rb +0 -0
  465. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/custom_errors.rb +0 -0
  466. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/import.rb +0 -0
  467. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/list.rb +0 -0
  468. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/list_renderer.rb +0 -0
  469. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/menu/item.rb +0 -0
  470. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/menu.rb +0 -0
  471. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/paginator.rb +0 -0
  472. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/simulate.rb +0 -0
  473. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/statement.rb +0 -0
  474. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/string.rb +0 -0
  475. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/string_extensions.rb +0 -0
  476. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/style.rb +0 -0
  477. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/template_renderer.rb +0 -0
  478. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/terminal/ncurses.rb +0 -0
  479. /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline/wrapper.rb +0 -0
  480. /data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.1.0/gems/parallel-1.26.3}/MIT-LICENSE.txt +0 -0
  481. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5/LICENSE.txt → 3.1.0/gems/reline-0.6.0/BSDL} +0 -0
  482. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/attlistdecl.rb +0 -0
  483. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/cdata.rb +0 -0
  484. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/child.rb +0 -0
  485. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/comment.rb +0 -0
  486. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/doctype.rb +0 -0
  487. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/dtd/attlistdecl.rb +0 -0
  488. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/dtd/dtd.rb +0 -0
  489. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/dtd/elementdecl.rb +0 -0
  490. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/dtd/entitydecl.rb +0 -0
  491. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/dtd/notationdecl.rb +0 -0
  492. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/encoding.rb +0 -0
  493. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/formatters/default.rb +0 -0
  494. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/formatters/transitive.rb +0 -0
  495. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/instruction.rb +0 -0
  496. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/light/node.rb +0 -0
  497. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/output.rb +0 -0
  498. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parent.rb +0 -0
  499. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/lightparser.rb +0 -0
  500. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/parsers/ultralightparser.rb +0 -0
  501. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/quickpath.rb +0 -0
  502. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/sax2listener.rb +0 -0
  503. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/security.rb +0 -0
  504. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/streamlistener.rb +0 -0
  505. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/undefinednamespaceexception.rb +0 -0
  506. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/validation/relaxng.rb +0 -0
  507. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/validation/validation.rb +0 -0
  508. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/validation/validationexception.rb +0 -0
  509. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/xmldecl.rb +0 -0
  510. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/xmltokens.rb +0 -0
  511. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml/xpath.rb +0 -0
  512. /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml.rb +0 -0
  513. /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/Manifest.txt +0 -0
  514. /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/README.rdoc +0 -0
  515. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/Manifest.txt +0 -0
  516. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/README.rdoc +0 -0
  517. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/debugging.md +0 -0
  518. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/gauntlet.md +0 -0
  519. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  520. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  521. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  522. /data/bundle/ruby/{3.0.0/gems/ruby_parser-3.20.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.rb +0 -0
  523. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/Manifest.txt +0 -0
  524. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/README.rdoc +0 -0
  525. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/composite_sexp_processor.rb +0 -0
  526. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/strict_sexp.rb +0 -0
  527. /data/bundle/ruby/{3.0.0/gems/sexp_processor-4.17.0 → 3.1.0/gems/sexp_processor-4.17.3}/lib/unique.rb +0 -0
  528. /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/EXPRESSIONS.md +0 -0
  529. /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/LICENSE +0 -0
  530. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/Gemfile +0 -0
  531. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/LICENSE.txt +0 -0
  532. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/Manifest +0 -0
  533. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/Todo.rdoc +0 -0
  534. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/import.rb +0 -0
  535. /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/lib/terminal-table/table_helper.rb +0 -0
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+ require 'redcarpet'
4
+
5
+ aliases = {:escape_html => :filter_html, :smartypants => :smart}.freeze
6
+
7
+ Tilt::RedcarpetTemplate = Tilt::StaticTemplate.subclass do
8
+ aliases.each do |opt, aka|
9
+ if options.key?(aka) || !@options.key?(opt)
10
+ @options[opt] = @options.delete(aka)
11
+ end
12
+ end
13
+
14
+ # only raise an exception if someone is trying to enable :escape_html
15
+ @options.delete(:escape_html) unless @options[:escape_html]
16
+
17
+ renderer = @options.delete(:renderer) || ::Redcarpet::Render::HTML.new(@options)
18
+ if options.delete(:smartypants) && !(renderer.is_a?(Class) && renderer <= ::Redcarpet::Render::SmartyPants)
19
+ renderer = if renderer == ::Redcarpet::Render::XHTML
20
+ ::Redcarpet::Render::SmartyHTML.new(:xhtml => true)
21
+ elsif renderer == ::Redcarpet::Render::HTML
22
+ ::Redcarpet::Render::SmartyHTML
23
+ elsif renderer.is_a? Class
24
+ Class.new(renderer) { include ::Redcarpet::Render::SmartyPants }
25
+ else
26
+ renderer.extend ::Redcarpet::Render::SmartyPants
27
+ end
28
+ end
29
+
30
+ Redcarpet::Markdown.new(renderer, @options).render(@data)
31
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+ require 'redcloth'
4
+
5
+ # RedCloth implementation. See: https://github.com/jgarber/redcloth
6
+ Tilt::RedClothTemplate = Tilt::StaticTemplate.subclass do
7
+ engine = RedCloth.new(@data)
8
+ @options.each do |k, v|
9
+ m = :"#{k}="
10
+ engine.send(m, v) if engine.respond_to? m
11
+ end
12
+ engine.to_html
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+ require_relative 'pandoc'
4
+
5
+ rst = {:f => "rst"}.freeze
6
+
7
+ # Pandoc reStructuredText implementation. See: # http://pandoc.org/
8
+ Tilt::RstPandocTemplate = Tilt::StaticTemplate.subclass do
9
+ PandocRuby.new(@data, rst).to_html.strip
10
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+
4
+ module Tilt
5
+ # Sass template implementation for generating CSS. See: https://sass-lang.com/
6
+ #
7
+ # Sass templates do not support object scopes, locals, or yield.
8
+ class SassTemplate < StaticTemplate
9
+ self.default_mime_type = 'text/css'
10
+
11
+ begin
12
+ require 'sass-embedded'
13
+ # :nocov:
14
+ require 'uri'
15
+
16
+ ALLOWED_KEYS = (defined?(::Sass::Compiler) ? ::Sass::Compiler : ::Sass::Embedded).
17
+ instance_method(:compile_string).
18
+ parameters.
19
+ map{|k, v| v if k == :key}.
20
+ compact rescue nil
21
+ private_constant :ALLOWED_KEYS
22
+
23
+ private
24
+
25
+ def _prepare_output
26
+ ::Sass.compile_string(@data, **sass_options).css
27
+ end
28
+
29
+ def sass_options
30
+ path = File.absolute_path(eval_file)
31
+ path = '/' + path unless path.start_with?('/')
32
+ opts = @options.dup
33
+ opts[:url] = ::URI::File.build([nil, ::URI::DEFAULT_PARSER.escape(path)]).to_s
34
+ opts[:syntax] = :indented
35
+ opts.delete_if{|k| !ALLOWED_KEYS.include?(k)} if ALLOWED_KEYS
36
+ opts
37
+ end
38
+ rescue LoadError => err
39
+ begin
40
+ require 'sassc'
41
+ Engine = ::SassC::Engine
42
+ rescue LoadError
43
+ begin
44
+ require 'sass'
45
+ Engine = ::Sass::Engine
46
+ rescue LoadError
47
+ raise err
48
+ end
49
+ end
50
+
51
+ private
52
+
53
+ def _prepare_output
54
+ Engine.new(@data, sass_options).render
55
+ end
56
+
57
+ def sass_options
58
+ @options[:filename] = eval_file
59
+ @options[:line] = @line
60
+ @options[:syntax] = :sass
61
+ @options
62
+ end
63
+ # :nocov:
64
+ end
65
+ end
66
+
67
+ class ScssTemplate < SassTemplate
68
+ self.default_mime_type = 'text/css'
69
+
70
+ private
71
+
72
+ def sass_options
73
+ opts = super
74
+ opts[:syntax] = :scss
75
+ opts
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+ require 'slim'
4
+
5
+ Tilt::SlimTemplate = Slim::Template
@@ -1,12 +1,14 @@
1
- require 'tilt/template'
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
2
3
 
3
4
  module Tilt
4
5
  # The template source is evaluated as a Ruby string. The #{} interpolation
5
6
  # syntax can be used to generated dynamic output.
6
7
  class StringTemplate < Template
7
8
  def prepare
8
- hash = "TILT#{data.hash.abs}"
9
- @code = String.new("<<#{hash}.chomp\n#{data}\n#{hash}")
9
+ hash = "TILT#{@data.hash.abs}"
10
+ @freeze_string_literals = !!@options[:freeze]
11
+ @code = String.new("<<#{hash}.chomp\n#{@data}\n#{hash}")
10
12
  end
11
13
 
12
14
  def precompiled_template(locals)
@@ -17,5 +19,9 @@ module Tilt
17
19
  source, offset = super
18
20
  [source, offset + 1]
19
21
  end
22
+
23
+ def freeze_string_literals?
24
+ @freeze_string_literals
25
+ end
20
26
  end
21
27
  end
@@ -0,0 +1,479 @@
1
+ # frozen_string_literal: true
2
+ module Tilt
3
+ # @private
4
+ module CompiledTemplates
5
+ end
6
+
7
+ # @private
8
+ TOPOBJECT = CompiledTemplates
9
+
10
+ # @private
11
+ LOCK = Mutex.new
12
+
13
+ # Base class for template implementations. Subclasses must implement
14
+ # the #prepare method and one of the #evaluate or #precompiled_template
15
+ # methods.
16
+ class Template
17
+ # Template source; loaded from a file or given directly.
18
+ attr_reader :data
19
+
20
+ # The name of the file where the template data was loaded from.
21
+ attr_reader :file
22
+
23
+ # The line number in #file where template data was loaded from.
24
+ attr_reader :line
25
+
26
+ # A Hash of template engine specific options. This is passed directly
27
+ # to the underlying engine and is not used by the generic template
28
+ # interface.
29
+ attr_reader :options
30
+
31
+ # A path ending in .rb that the template code will be written to, then
32
+ # required, instead of being evaled. This is useful for determining
33
+ # coverage of compiled template code, or to use static analysis tools
34
+ # on the compiled template code.
35
+ attr_reader :compiled_path
36
+
37
+ class << self
38
+ # An empty Hash that the template engine can populate with various
39
+ # metadata.
40
+ def metadata
41
+ @metadata ||= {}
42
+ end
43
+
44
+ # Use `.metadata[:mime_type]` instead.
45
+ def default_mime_type
46
+ metadata[:mime_type]
47
+ end
48
+
49
+ # Use `.metadata[:mime_type] = val` instead.
50
+ def default_mime_type=(value)
51
+ metadata[:mime_type] = value
52
+ end
53
+ end
54
+
55
+ # Create a new template with the file, line, and options specified. By
56
+ # default, template data is read from the file. When a block is given,
57
+ # it should read template data and return as a String. When file is nil,
58
+ # a block is required.
59
+ #
60
+ # All arguments are optional.
61
+ def initialize(file=nil, line=nil, options=nil)
62
+ @file, @line, @options = nil, 1, nil
63
+
64
+ process_arg(options)
65
+ process_arg(line)
66
+ process_arg(file)
67
+
68
+ raise ArgumentError, "file or block required" unless @file || block_given?
69
+
70
+ @options ||= {}
71
+
72
+ set_compiled_method_cache
73
+
74
+ # Force the encoding of the input data
75
+ @default_encoding = @options.delete :default_encoding
76
+
77
+ # Skip encoding detection from magic comments and forcing that encoding
78
+ # for compiled templates
79
+ @skip_compiled_encoding_detection = @options.delete :skip_compiled_encoding_detection
80
+
81
+ # load template data and prepare (uses binread to avoid encoding issues)
82
+ @data = block_given? ? yield(self) : read_template_file
83
+
84
+ if @data.respond_to?(:force_encoding)
85
+ if default_encoding
86
+ @data = _dup_string_if_frozen(@data)
87
+ @data.force_encoding(default_encoding)
88
+ end
89
+
90
+ if !@data.valid_encoding?
91
+ raise Encoding::InvalidByteSequenceError, "#{eval_file} is not valid #{@data.encoding}"
92
+ end
93
+ end
94
+
95
+ prepare
96
+ end
97
+
98
+ # Render the template in the given scope with the locals specified. If a
99
+ # block is given, it is typically available within the template via
100
+ # +yield+.
101
+ def render(scope=nil, locals=nil, &block)
102
+ evaluate(scope || Object.new, locals || EMPTY_HASH, &block)
103
+ end
104
+
105
+ # The basename of the template file.
106
+ def basename(suffix='')
107
+ File.basename(@file, suffix) if @file
108
+ end
109
+
110
+ # The template file's basename with all extensions chomped off.
111
+ def name
112
+ if bname = basename
113
+ bname.split('.', 2).first
114
+ end
115
+ end
116
+
117
+ # The filename used in backtraces to describe the template.
118
+ def eval_file
119
+ @file || '(__TEMPLATE__)'
120
+ end
121
+
122
+ # An empty Hash that the template engine can populate with various
123
+ # metadata.
124
+ def metadata
125
+ if respond_to?(:allows_script?)
126
+ self.class.metadata.merge(:allows_script => allows_script?)
127
+ else
128
+ self.class.metadata
129
+ end
130
+ end
131
+
132
+ # Set the prefix to use for compiled paths.
133
+ def compiled_path=(path)
134
+ if path
135
+ # Use expanded paths when loading, since that is helpful
136
+ # for coverage. Remove any .rb suffix, since that will
137
+ # be added back later.
138
+ path = File.expand_path(path.sub(/\.rb\z/i, ''))
139
+ end
140
+ @compiled_path = path
141
+ end
142
+
143
+ # The compiled method for the locals keys and scope_class provided.
144
+ # Returns an UnboundMethod, which can be used to define methods
145
+ # directly on the scope class, which are much faster to call than
146
+ # Tilt's normal rendering.
147
+ def compiled_method(locals_keys, scope_class=nil)
148
+ key = [scope_class, locals_keys].freeze
149
+ LOCK.synchronize do
150
+ if meth = @compiled_method[key]
151
+ return meth
152
+ end
153
+ end
154
+ meth = compile_template_method(locals_keys, scope_class)
155
+ LOCK.synchronize do
156
+ @compiled_method[key] = meth
157
+ end
158
+ meth
159
+ end
160
+
161
+ protected
162
+
163
+ # @!group For template implementations
164
+
165
+ # The encoding of the source data. Defaults to the
166
+ # default_encoding-option if present. You may override this method
167
+ # in your template class if you have a better hint of the data's
168
+ # encoding.
169
+ attr_reader :default_encoding
170
+
171
+ def skip_compiled_encoding_detection?
172
+ @skip_compiled_encoding_detection
173
+ end
174
+
175
+ # Do whatever preparation is necessary to setup the underlying template
176
+ # engine. Called immediately after template data is loaded. Instance
177
+ # variables set in this method are available when #evaluate is called.
178
+ #
179
+ # Empty by default as some subclasses do not need separate preparation.
180
+ def prepare
181
+ end
182
+
183
+ CLASS_METHOD = Kernel.instance_method(:class)
184
+ USE_BIND_CALL = RUBY_VERSION >= '2.7'
185
+
186
+ # Execute the compiled template and return the result string. Template
187
+ # evaluation is guaranteed to be performed in the scope object with the
188
+ # locals specified and with support for yielding to the block.
189
+ #
190
+ # This method is only used by source generating templates. Subclasses that
191
+ # override render() may not support all features.
192
+ def evaluate(scope, locals, &block)
193
+ locals_keys = locals.keys
194
+ locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
195
+
196
+ case scope
197
+ when Object
198
+ scope_class = Module === scope ? scope : scope.class
199
+ else
200
+ # :nocov:
201
+ scope_class = USE_BIND_CALL ? CLASS_METHOD.bind_call(scope) : CLASS_METHOD.bind(scope).call
202
+ # :nocov:
203
+ end
204
+ method = compiled_method(locals_keys, scope_class)
205
+
206
+ if USE_BIND_CALL
207
+ method.bind_call(scope, locals, &block)
208
+ # :nocov:
209
+ else
210
+ method.bind(scope).call(locals, &block)
211
+ # :nocov:
212
+ end
213
+ end
214
+
215
+ # Generates all template source by combining the preamble, template, and
216
+ # postamble and returns a two-tuple of the form: [source, offset], where
217
+ # source is the string containing (Ruby) source code for the template and
218
+ # offset is the integer line offset where line reporting should begin.
219
+ #
220
+ # Template subclasses may override this method when they need complete
221
+ # control over source generation or want to adjust the default line
222
+ # offset. In most cases, overriding the #precompiled_template method is
223
+ # easier and more appropriate.
224
+ def precompiled(local_keys)
225
+ preamble = precompiled_preamble(local_keys)
226
+ template = precompiled_template(local_keys)
227
+ postamble = precompiled_postamble(local_keys)
228
+ source = String.new
229
+
230
+ unless skip_compiled_encoding_detection?
231
+ # Ensure that our generated source code has the same encoding as the
232
+ # the source code generated by the template engine.
233
+ template_encoding = extract_encoding(template){|t| template = t}
234
+
235
+ if template.encoding != template_encoding
236
+ # template should never be frozen here. If it was frozen originally,
237
+ # then extract_encoding should yield a dup.
238
+ template.force_encoding(template_encoding)
239
+ end
240
+ end
241
+
242
+ source.force_encoding(template.encoding)
243
+ source << preamble << "\n" << template << "\n" << postamble
244
+
245
+ [source, preamble.count("\n")+1]
246
+ end
247
+
248
+ # A string containing the (Ruby) source code for the template. The
249
+ # default Template#evaluate implementation requires either this
250
+ # method or the #precompiled method be overridden. When defined,
251
+ # the base Template guarantees correct file/line handling, locals
252
+ # support, custom scopes, proper encoding, and support for template
253
+ # compilation.
254
+ def precompiled_template(local_keys)
255
+ raise NotImplementedError
256
+ end
257
+
258
+ def precompiled_preamble(local_keys)
259
+ ''
260
+ end
261
+
262
+ def precompiled_postamble(local_keys)
263
+ ''
264
+ end
265
+
266
+ # !@endgroup
267
+
268
+ private
269
+
270
+ if RUBY_VERSION >= '2.3'
271
+ def _dup_string_if_frozen(string)
272
+ +string
273
+ end
274
+ # :nocov:
275
+ else
276
+ def _dup_string_if_frozen(string)
277
+ string.frozen? ? string.dup : string
278
+ end
279
+ end
280
+ # :nocov:
281
+
282
+ def process_arg(arg)
283
+ if arg
284
+ case
285
+ when arg.respond_to?(:to_str) ; @file = arg.to_str
286
+ when arg.respond_to?(:to_int) ; @line = arg.to_int
287
+ when arg.respond_to?(:to_hash) ; @options = arg.to_hash.dup
288
+ when arg.respond_to?(:path) ; @file = arg.path
289
+ when arg.respond_to?(:to_path) ; @file = arg.to_path
290
+ else raise TypeError, "Can't load the template file. Pass a string with a path " +
291
+ "or an object that responds to 'to_str', 'path' or 'to_path'"
292
+ end
293
+ end
294
+ end
295
+
296
+ def read_template_file
297
+ data = File.binread(file)
298
+ # Set it to the default external (without verifying)
299
+ # :nocov:
300
+ data.force_encoding(Encoding.default_external) if Encoding.default_external
301
+ # :nocov:
302
+ data
303
+ end
304
+
305
+ def set_compiled_method_cache
306
+ @compiled_method = {}
307
+ end
308
+
309
+ def local_extraction(local_keys)
310
+ assignments = local_keys.map do |k|
311
+ if k.to_s =~ /\A[a-z_][a-zA-Z_0-9]*\z/
312
+ "#{k} = locals[#{k.inspect}]"
313
+ else
314
+ raise "invalid locals key: #{k.inspect} (keys must be variable names)"
315
+ end
316
+ end
317
+
318
+ s = "locals = locals[:locals]"
319
+ if assignments.delete(s)
320
+ # If there is a locals key itself named `locals`, delete it from the ordered keys so we can
321
+ # assign it last. This is important because the assignment of all other locals depends on the
322
+ # `locals` local variable still matching the `locals` method argument given to the method
323
+ # created in `#compile_template_method`.
324
+ assignments << s
325
+ end
326
+
327
+ assignments.join("\n")
328
+ end
329
+
330
+ def compile_template_method(local_keys, scope_class=nil)
331
+ source, offset = precompiled(local_keys)
332
+ local_code = local_extraction(local_keys)
333
+
334
+ method_name = "__tilt_#{Thread.current.object_id.abs}"
335
+ method_source = String.new
336
+ method_source.force_encoding(source.encoding)
337
+
338
+ if freeze_string_literals?
339
+ method_source << "# frozen-string-literal: true\n"
340
+ end
341
+
342
+ # Don't indent method source, to avoid indentation warnings when using compiled paths
343
+ method_source << "::Tilt::TOPOBJECT.class_eval do\ndef #{method_name}(locals)\n#{local_code}\n"
344
+
345
+ offset += method_source.count("\n")
346
+ method_source << source
347
+ method_source << "\nend;end;"
348
+
349
+ bind_compiled_method(method_source, offset, scope_class)
350
+ unbind_compiled_method(method_name)
351
+ end
352
+
353
+ def bind_compiled_method(method_source, offset, scope_class)
354
+ path = compiled_path
355
+ if path && scope_class.name
356
+ path = path.dup
357
+
358
+ if defined?(@compiled_path_counter)
359
+ path << '-' << @compiled_path_counter.succ!
360
+ else
361
+ @compiled_path_counter = "0".dup
362
+ end
363
+ path << ".rb"
364
+
365
+ # Wrap method source in a class block for the scope, so constant lookup works
366
+ if freeze_string_literals?
367
+ method_source_prefix = "# frozen-string-literal: true\n"
368
+ method_source = method_source.sub(/\A# frozen-string-literal: true\n/, '')
369
+ end
370
+ method_source = "#{method_source_prefix}class #{scope_class.name}\n#{method_source}\nend"
371
+
372
+ load_compiled_method(path, method_source)
373
+ else
374
+ if path
375
+ warn "compiled_path (#{compiled_path.inspect}) ignored on template with anonymous scope_class (#{scope_class.inspect})"
376
+ end
377
+
378
+ eval_compiled_method(method_source, offset, scope_class)
379
+ end
380
+ end
381
+
382
+ def eval_compiled_method(method_source, offset, scope_class)
383
+ (scope_class || Object).class_eval(method_source, eval_file, line - offset)
384
+ end
385
+
386
+ def load_compiled_method(path, method_source)
387
+ File.binwrite(path, method_source)
388
+
389
+ # Use load and not require, so unbind_compiled_method does not
390
+ # break if the same path is used more than once.
391
+ load path
392
+ end
393
+
394
+ def unbind_compiled_method(method_name)
395
+ method = TOPOBJECT.instance_method(method_name)
396
+ TOPOBJECT.class_eval { remove_method(method_name) }
397
+ method
398
+ end
399
+
400
+ def extract_encoding(script, &block)
401
+ extract_magic_comment(script, &block) || script.encoding
402
+ end
403
+
404
+ def extract_magic_comment(script)
405
+ was_frozen = script.frozen?
406
+ script = _dup_string_if_frozen(script)
407
+
408
+ if was_frozen
409
+ yield script
410
+ end
411
+
412
+ binary(script) do
413
+ script[/\A[ \t]*\#.*coding\s*[=:]\s*([[:alnum:]\-_]+).*$/n, 1]
414
+ end
415
+ end
416
+
417
+ def freeze_string_literals?
418
+ false
419
+ end
420
+
421
+ def binary(string)
422
+ original_encoding = string.encoding
423
+ string.force_encoding(Encoding::BINARY)
424
+ yield
425
+ ensure
426
+ string.force_encoding(original_encoding)
427
+ end
428
+ end
429
+
430
+ # Static templates are templates that return the same output for every render
431
+ #
432
+ # Instead of inheriting from the StaticTemplate class, you will use the .subclass
433
+ # method with a block which processes @data and returns the transformed value.
434
+ #
435
+ # Basic example which transforms the template to uppercase:
436
+ #
437
+ # UppercaseTemplate = Tilt::StaticTemplate.subclass do
438
+ # @data.upcase
439
+ # end
440
+ class StaticTemplate < Template
441
+ def self.subclass(mime_type: 'text/html', &block)
442
+ Class.new(self) do
443
+ self.default_mime_type = mime_type
444
+
445
+ private
446
+
447
+ define_method(:_prepare_output, &block)
448
+ end
449
+ end
450
+
451
+ # Static templates always return the prepared output.
452
+ def render(scope=nil, locals=nil)
453
+ @output
454
+ end
455
+
456
+ # Raise NotImplementedError, since static templates
457
+ # do not support compiled methods.
458
+ def compiled_method(locals_keys, scope_class=nil)
459
+ raise NotImplementedError
460
+ end
461
+
462
+ # Static templates never allow script.
463
+ def allows_script?
464
+ false
465
+ end
466
+
467
+ protected
468
+
469
+ def prepare
470
+ @output = _prepare_output
471
+ end
472
+
473
+ private
474
+
475
+ # Do nothing, since compiled method cache is not used.
476
+ def set_compiled_method_cache
477
+ end
478
+ end
479
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'template'
3
+ require 'typescript-node'
4
+
5
+ Tilt::TypeScriptTemplate = Tilt::StaticTemplate.subclass(mime_type: 'application/javascript') do
6
+ option_args = []
7
+
8
+ @options.each do |key, value|
9
+ next unless value
10
+
11
+ option_args << "--#{key}"
12
+
13
+ if value != true
14
+ option_args << value.to_s
15
+ end
16
+ end
17
+
18
+ TypeScript::Node.compile(@data, *option_args)
19
+ end