brakeman 5.4.1 → 6.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +37 -0
  3. data/README.md +2 -2
  4. data/bundle/load.rb +13 -15
  5. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/Changelog.md +18 -0
  6. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/README.md +37 -1
  7. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/highline.gemspec +3 -1
  8. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/io_console_compatible.rb +1 -1
  9. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question/answer_converter.rb +2 -5
  10. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question.rb +23 -13
  11. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question_asker.rb +3 -1
  12. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/io_console.rb +1 -1
  13. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/unix_stty.rb +6 -4
  14. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal.rb +7 -5
  15. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/version.rb +1 -1
  16. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline.rb +18 -5
  17. data/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel/version.rb +4 -0
  18. data/bundle/ruby/{3.1.0/gems/parallel-1.22.1 → 3.3.0/gems/parallel-1.24.0}/lib/parallel.rb +68 -4
  19. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/NEWS.md +100 -2
  20. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/README.md +10 -1
  21. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/attribute.rb +14 -9
  22. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/document.rb +1 -1
  23. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/element.rb +3 -3
  24. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/entity.rb +25 -15
  25. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/pretty.rb +2 -2
  26. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/namespace.rb +8 -4
  27. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/xpathparser.rb +136 -86
  28. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/rexml.rb +3 -1
  29. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/text.rb +6 -4
  30. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/History.rdoc +38 -0
  31. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/Manifest.txt +2 -0
  32. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/README.rdoc +2 -1
  33. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/compare/normalize.rb +1 -0
  34. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.rb +4267 -4284
  35. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.y +50 -26
  36. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.rb +4241 -4240
  37. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.y +50 -26
  38. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.rb +4289 -4290
  39. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.y +50 -26
  40. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.rb +4274 -4243
  41. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.y +50 -26
  42. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.rb +4279 -4298
  43. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.y +50 -26
  44. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.rb +4270 -4289
  45. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.y +50 -26
  46. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.rb +4270 -4289
  47. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.y +50 -26
  48. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.rb +4173 -4206
  49. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.y +50 -26
  50. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.rb +6029 -5971
  51. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.y +135 -86
  52. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.rb +6195 -6184
  53. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.y +136 -87
  54. data/bundle/ruby/3.3.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +13601 -0
  55. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2/lib/ruby3_parser.yy → 3.3.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y} +158 -163
  56. data/bundle/ruby/3.3.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +3635 -0
  57. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
  58. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
  59. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
  60. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.rb +2 -0
  61. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.yy +50 -26
  62. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +25 -19
  63. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/tools/munge.rb +8 -2
  64. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/tools/ripper.rb +14 -12
  65. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/History.rdoc +19 -0
  66. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/pt_testcase.rb +3 -3
  67. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp.rb +8 -2
  68. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp_processor.rb +1 -1
  69. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/strict_sexp.rb +6 -5
  70. data/lib/brakeman/app_tree.rb +0 -1
  71. data/lib/brakeman/checks/check_content_tag.rb +8 -5
  72. data/lib/brakeman/checks/check_eol_ruby.rb +4 -1
  73. data/lib/brakeman/checks/check_ransack.rb +53 -0
  74. data/lib/brakeman/checks/check_render.rb +6 -1
  75. data/lib/brakeman/checks/check_session_settings.rb +2 -3
  76. data/lib/brakeman/checks/check_sql.rb +1 -1
  77. data/lib/brakeman/options.rb +4 -0
  78. data/lib/brakeman/processors/alias_processor.rb +8 -4
  79. data/lib/brakeman/processors/lib/module_helper.rb +31 -1
  80. data/lib/brakeman/processors/library_processor.rb +6 -0
  81. data/lib/brakeman/report/pager.rb +1 -1
  82. data/lib/brakeman/report/report_github.rb +1 -1
  83. data/lib/brakeman/scanner.rb +104 -43
  84. data/lib/brakeman/tracker/config.rb +15 -11
  85. data/lib/brakeman/tracker/controller.rb +14 -10
  86. data/lib/brakeman/tracker.rb +1 -1
  87. data/lib/brakeman/version.rb +1 -1
  88. data/lib/brakeman/warning_codes.rb +1 -0
  89. data/lib/brakeman.rb +8 -5
  90. metadata +389 -417
  91. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb +0 -44
  92. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
  93. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +0 -6
  94. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +0 -19
  95. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +0 -54
  96. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +0 -5794
  97. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +0 -1909
  98. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +0 -6186
  99. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +0 -2117
  100. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +0 -1412
  101. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +0 -179
  102. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +0 -323
  103. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +0 -30
  104. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +0 -1388
  105. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +0 -5
  106. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
  107. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
  108. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/LICENSE.txt +0 -22
  109. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/README.md +0 -191
  110. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
  111. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
  112. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
  113. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
  114. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
  115. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  116. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  117. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
  118. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
  119. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
  120. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
  121. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
  122. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
  123. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  124. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
  125. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
  126. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
  127. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
  128. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
  129. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
  130. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
  131. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
  132. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
  133. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
  134. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
  135. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
  136. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
  137. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  138. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  139. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/README.txt +0 -0
  140. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  141. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  142. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  143. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  144. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  145. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  146. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  147. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  148. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  149. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  150. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  151. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  152. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  153. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  154. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  155. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  156. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  157. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  158. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  159. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  160. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  161. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  162. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  163. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  164. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  165. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  166. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  167. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  168. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  169. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/setup.rb +0 -0
  170. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/CHANGELOG.md +0 -0
  171. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/FAQ.md +0 -0
  172. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/Gemfile +0 -0
  173. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/MIT-LICENSE +0 -0
  174. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/README.md +0 -0
  175. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/REFERENCE.md +0 -0
  176. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/TODO +0 -0
  177. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/haml.gemspec +0 -0
  178. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -0
  179. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -0
  180. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -0
  181. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/buffer.rb +0 -0
  182. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/compiler.rb +0 -0
  183. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/engine.rb +0 -0
  184. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/error.rb +0 -0
  185. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/escapable.rb +0 -0
  186. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/exec.rb +0 -0
  187. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/filters.rb +0 -0
  188. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/generator.rb +0 -0
  189. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -0
  190. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -0
  191. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -0
  192. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -0
  193. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -0
  194. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -0
  195. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers.rb +0 -0
  196. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/options.rb +0 -0
  197. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/parser.rb +0 -0
  198. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/plugin.rb +0 -0
  199. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/railtie.rb +0 -0
  200. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -0
  201. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template/options.rb +0 -0
  202. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template.rb +0 -0
  203. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -0
  204. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -0
  205. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/util.rb +0 -0
  206. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/version.rb +0 -0
  207. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml.rb +0 -0
  208. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -0
  209. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -0
  210. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/AUTHORS +0 -0
  211. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/COPYING +0 -0
  212. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/Gemfile +0 -0
  213. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/LICENSE +0 -0
  214. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/TODO +0 -0
  215. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/builtin_styles.rb +0 -0
  216. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/color_scheme.rb +0 -0
  217. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/compatibility.rb +0 -0
  218. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/custom_errors.rb +0 -0
  219. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/import.rb +0 -0
  220. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/list.rb +0 -0
  221. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/list_renderer.rb +0 -0
  222. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/menu/item.rb +0 -0
  223. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/menu.rb +0 -0
  224. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/paginator.rb +0 -0
  225. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/simulate.rb +0 -0
  226. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/statement.rb +0 -0
  227. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/string.rb +0 -0
  228. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/string_extensions.rb +0 -0
  229. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/style.rb +0 -0
  230. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/template_renderer.rb +0 -0
  231. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/ncurses.rb +0 -0
  232. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/wrapper.rb +0 -0
  233. /data/bundle/ruby/{3.1.0/gems/parallel-1.22.1 → 3.3.0/gems/parallel-1.24.0}/MIT-LICENSE.txt +0 -0
  234. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/LICENSE.txt +0 -0
  235. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/attlistdecl.rb +0 -0
  236. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/cdata.rb +0 -0
  237. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/child.rb +0 -0
  238. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/comment.rb +0 -0
  239. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/doctype.rb +0 -0
  240. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/attlistdecl.rb +0 -0
  241. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/dtd.rb +0 -0
  242. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/elementdecl.rb +0 -0
  243. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/entitydecl.rb +0 -0
  244. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/notationdecl.rb +0 -0
  245. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/encoding.rb +0 -0
  246. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/default.rb +0 -0
  247. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/transitive.rb +0 -0
  248. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/functions.rb +0 -0
  249. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/instruction.rb +0 -0
  250. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/light/node.rb +0 -0
  251. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/node.rb +0 -0
  252. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/output.rb +0 -0
  253. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parent.rb +0 -0
  254. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parseexception.rb +0 -0
  255. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/baseparser.rb +0 -0
  256. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/lightparser.rb +0 -0
  257. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/pullparser.rb +0 -0
  258. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/sax2parser.rb +0 -0
  259. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/streamparser.rb +0 -0
  260. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/treeparser.rb +0 -0
  261. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/ultralightparser.rb +0 -0
  262. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/quickpath.rb +0 -0
  263. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/sax2listener.rb +0 -0
  264. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/security.rb +0 -0
  265. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/source.rb +0 -0
  266. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/streamlistener.rb +0 -0
  267. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/undefinednamespaceexception.rb +0 -0
  268. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/relaxng.rb +0 -0
  269. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/validation.rb +0 -0
  270. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/validationexception.rb +0 -0
  271. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xmldecl.rb +0 -0
  272. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xmltokens.rb +0 -0
  273. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xpath.rb +0 -0
  274. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xpath_parser.rb +0 -0
  275. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml.rb +0 -0
  276. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/History.rdoc +0 -0
  277. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/Manifest.txt +0 -0
  278. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/README.rdoc +0 -0
  279. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb +0 -0
  280. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/debugging.md +0 -0
  281. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/gauntlet.md +0 -0
  282. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  283. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  284. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  285. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/Manifest.txt +0 -0
  286. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/README.rdoc +0 -0
  287. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/composite_sexp_processor.rb +0 -0
  288. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp_matcher.rb +0 -0
  289. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/unique.rb +0 -0
  290. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/CHANGES +0 -0
  291. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/Gemfile +0 -0
  292. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/LICENSE +0 -0
  293. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/README.jp.md +0 -0
  294. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/README.md +0 -0
  295. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/code_attributes.rb +0 -0
  296. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/command.rb +0 -0
  297. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/controls.rb +0 -0
  298. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/do_inserter.rb +0 -0
  299. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/embedded.rb +0 -0
  300. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/end_inserter.rb +0 -0
  301. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/engine.rb +0 -0
  302. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/erb_converter.rb +0 -0
  303. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/filter.rb +0 -0
  304. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/grammar.rb +0 -0
  305. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/include.rb +0 -0
  306. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/interpolation.rb +0 -0
  307. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less/context.rb +0 -0
  308. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less/filter.rb +0 -0
  309. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less.rb +0 -0
  310. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/parser.rb +0 -0
  311. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/escaper.rb +0 -0
  312. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/filter.rb +0 -0
  313. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/parser.rb +0 -0
  314. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart.rb +0 -0
  315. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/splat/builder.rb +0 -0
  316. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/splat/filter.rb +0 -0
  317. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/template.rb +0 -0
  318. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/translator.rb +0 -0
  319. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/version.rb +0 -0
  320. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim.rb +0 -0
  321. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/slim.gemspec +0 -0
  322. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/CHANGES +0 -0
  323. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/EXPRESSIONS.md +0 -0
  324. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/Gemfile +0 -0
  325. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/LICENSE +0 -0
  326. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/README.md +0 -0
  327. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/engine.rb +0 -0
  328. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/engine.rb +0 -0
  329. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/parser.rb +0 -0
  330. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/template.rb +0 -0
  331. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/trimming.rb +0 -0
  332. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/exceptions.rb +0 -0
  333. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filter.rb +0 -0
  334. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/code_merger.rb +0 -0
  335. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/control_flow.rb +0 -0
  336. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/dynamic_inliner.rb +0 -0
  337. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/encoding.rb +0 -0
  338. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/eraser.rb +0 -0
  339. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/escapable.rb +0 -0
  340. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/multi_flattener.rb +0 -0
  341. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/remove_bom.rb +0 -0
  342. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/static_analyzer.rb +0 -0
  343. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/static_merger.rb +0 -0
  344. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/string_splitter.rb +0 -0
  345. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/validator.rb +0 -0
  346. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generator.rb +0 -0
  347. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/array.rb +0 -0
  348. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/array_buffer.rb +0 -0
  349. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/erb.rb +0 -0
  350. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/rails_output_buffer.rb +0 -0
  351. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/string_buffer.rb +0 -0
  352. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/grammar.rb +0 -0
  353. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_merger.rb +0 -0
  354. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_remover.rb +0 -0
  355. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_sorter.rb +0 -0
  356. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/dispatcher.rb +0 -0
  357. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/fast.rb +0 -0
  358. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/filter.rb +0 -0
  359. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/pretty.rb +0 -0
  360. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/safe.rb +0 -0
  361. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/map.rb +0 -0
  362. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/dispatcher.rb +0 -0
  363. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/engine_dsl.rb +0 -0
  364. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/grammar_dsl.rb +0 -0
  365. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/options.rb +0 -0
  366. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/template.rb +0 -0
  367. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/parser.rb +0 -0
  368. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/static_analyzer.rb +0 -0
  369. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates/rails.rb +0 -0
  370. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates/tilt.rb +0 -0
  371. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates.rb +0 -0
  372. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/utils.rb +0 -0
  373. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/version.rb +0 -0
  374. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple.rb +0 -0
  375. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/temple.gemspec +0 -0
  376. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Gemfile +0 -0
  377. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/History.rdoc +0 -0
  378. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/LICENSE.txt +0 -0
  379. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Manifest +0 -0
  380. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/README.rdoc +0 -0
  381. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Todo.rdoc +0 -0
  382. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -0
  383. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/import.rb +0 -0
  384. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -0
  385. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -0
  386. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -0
  387. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -0
  388. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table_helper.rb +0 -0
  389. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -0
  390. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -0
  391. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -0
  392. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/COPYING +0 -0
  393. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -0
  394. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -0
  395. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -0
  396. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -0
  397. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -0
  398. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -0
  399. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -0
  400. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/csv.rb +0 -0
  401. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -0
  402. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erb.rb +0 -0
  403. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -0
  404. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -0
  405. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/etanni.rb +0 -0
  406. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -0
  407. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -0
  408. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/less.rb +0 -0
  409. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/liquid.rb +0 -0
  410. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -0
  411. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/mapping.rb +0 -0
  412. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/markaby.rb +0 -0
  413. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -0
  414. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/nokogiri.rb +0 -0
  415. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -0
  416. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -0
  417. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -0
  418. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -0
  419. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -0
  420. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -0
  421. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -0
  422. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -0
  423. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -0
  424. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -0
  425. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -0
  426. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/string.rb +0 -0
  427. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/template.rb +0 -0
  428. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -0
  429. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -0
  430. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/yajl.rb +0 -0
  431. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt.rb +0 -0
  432. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -0
  433. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt +0 -0
  434. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/README.md +0 -0
  435. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  436. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -0
  437. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -0
  438. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -0
  439. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -0
  440. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88049c2c49d114a2921ded02a16ae8be8cb9717976aa026d14a8386046668702
4
- data.tar.gz: 2d3bbf4de0df432415432657e0ff658eddd7edb860a29def3d1ae707e968b143
3
+ metadata.gz: 7c7876c1e5abb094b22e78c96522c909b81ff3c525cd967335c0239023927b82
4
+ data.tar.gz: be69894779fafb1e33f1625c98f3b9c12b346c9f932b058d3478e1b8ea9aee08
5
5
  SHA512:
6
- metadata.gz: 3910fabad6692126c5080485901629763cebd2355107fe821c2077af74fe2e1566cf936e7135e5d2c301bf43b8f95f6534c06cabfa56638a839e86a1202fbd40
7
- data.tar.gz: d012ad0ee09eb897912350f399d0ff12589a2bf46f63a7dc9459f88dfa39c3aee9da6dd751c4636cd6e0b050781e0bef5e7471587da7a3446f66a196e81549c6
6
+ metadata.gz: 06ca1e3bbed1c7e8afc28887030d52e6c7ece859fc8a913108c43cdfe2812140d5a46c9b2e53fbfcb334b3e2eb842fe5ed1f7d01975198293e877203961ee8c5
7
+ data.tar.gz: 1b5e2b7c87a4cde55f036b238651958f7a051eaae9efbefd8d7fed1b2ecbeb8c059d1e268ad9216fc284bc75cf56412bb76e7538f3f0fca26c3308c10267ebdc
data/CHANGES.md CHANGED
@@ -1,3 +1,40 @@
1
+ # 6.1.2 - 2024-02-01
2
+
3
+ * Update Highline to 3.0
4
+ * Add EOL date for Ruby 3.3.0
5
+ * Avoid copying Sexps that are too large
6
+ * Avoid detecting `ViewComponentContrib::Base` as dynamic render paths (vividmuimui)
7
+ * Remove deprecated use of `Kernel#open("|...")`
8
+ * Remove `safe_yaml` gem dependency
9
+ * Avoid detecting Phlex components as dynamic render paths (Máximo Mussini)
10
+
11
+ # 6.1.1 - 2023-12-24
12
+
13
+ * Handle racc as a default gem in Ruby 3.3.0
14
+
15
+ # 6.1.0 - 2023-12-04
16
+
17
+ * Add `--timing` to add timing duration for scan steps
18
+ * Fix keyword splats in filter arguments
19
+ * Add check for unfiltered search with Ransack
20
+ * Fix class method lookup in parent classes
21
+ * Handle `class << self`
22
+ * Add `PG::Connection.escape_string` as a SQL sanitization method (Joévin Soulenq)
23
+
24
+ # 6.0.1 - 2023-07-20
25
+
26
+ * Accept strings for `load_defaults` version
27
+
28
+ # 6.0.0 - 2023-05-24
29
+
30
+ * Add obsolete fingerprints to comparison report
31
+ * Warn about missing CSRF protection when defaults are not loaded (Chris Kruger)
32
+ * Scan directories that include the word `public`
33
+ * Raise minimum Ruby version to 3.0
34
+ * Drop support for Ruby 1.8/1.9 syntax
35
+ * Fix end-of-life dates for Ruby
36
+ * Fix false positive with `content_tag` in newer Rails
37
+
1
38
  # 5.4.1 - 2023-02-21
2
39
 
3
40
  * Fix file/line location for EOL software warnings
data/README.md CHANGED
@@ -66,7 +66,7 @@ Outside of Rails root (note that the output file is relative to path/to/rails/ap
66
66
 
67
67
  Brakeman should work with any version of Rails from 2.3.x to 7.x.
68
68
 
69
- Brakeman can analyze code written with Ruby 1.8 syntax and newer, but requires at least Ruby 2.5.0 to run.
69
+ Brakeman can analyze code written with Ruby 2.0 syntax and newer, but requires at least Ruby 3.0.0 to run.
70
70
 
71
71
  # Basic Options
72
72
 
@@ -182,7 +182,7 @@ There is a [plugin available](http://brakemanscanner.org/docs/jenkins/) for Jenk
182
182
 
183
183
  For even more continuous testing, try the [Guard plugin](https://github.com/guard/guard-brakeman).
184
184
 
185
- There are a couple [Github Actions](https://github.com/marketplace?type=actions&query=brakeman) available.
185
+ There are a couple [GitHub Actions](https://github.com/marketplace?type=actions&query=brakeman) available.
186
186
 
187
187
  # Building
188
188
 
data/bundle/load.rb CHANGED
@@ -1,16 +1,14 @@
1
1
  path = File.expand_path('../..', __FILE__)
2
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib"
3
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/haml-5.2.2/lib"
4
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/highline-2.1.0/lib"
5
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib"
6
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/rexml-3.2.5/lib"
7
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/ruby2ruby-2.4.4/lib"
8
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib"
9
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib"
10
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib"
11
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib"
12
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/slim-4.1.0/lib"
13
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/temple-0.8.2/lib"
14
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/terminal-table-1.8.0/lib"
15
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/tilt-2.0.11/lib"
16
- $:.unshift "#{path}/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/lib"
2
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/erubis-2.7.0/lib"
3
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/haml-5.2.2/lib"
4
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/highline-3.0.1/lib"
5
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib"
6
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/rexml-3.2.6/lib"
7
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/ruby2ruby-2.4.4/lib"
8
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/ruby_parser-3.20.3/lib"
9
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/sexp_processor-4.17.1/lib"
10
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/slim-4.1.0/lib"
11
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/temple-0.8.2/lib"
12
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/terminal-table-1.8.0/lib"
13
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/tilt-2.0.11/lib"
14
+ $:.unshift "#{path}/bundle/ruby/3.3.0/gems/unicode-display_width-1.8.0/lib"
@@ -2,6 +2,24 @@
2
2
 
3
3
  Below is a complete listing of changes for each revision of HighLine.
4
4
 
5
+ ### 3.0.1 / 2024-01-20
6
+ * PR #268 - Remove unused abbrev dependency (@zvkemp)
7
+
8
+ ### 3.0.0 / 2024-01-05
9
+ * PR #265 - Change Readline for Reline for Ruby 3.3 compat (@abinoam)
10
+ * PR #264 - Add abbrev gem as dependency (@mathieujobin)
11
+ * PR #263 - Release 3.0.0.pre.1
12
+ * Raise minimum Ruby version requirement to 3.0
13
+ * PR #262 - Do not call stty on non-tty (@kbrock)
14
+ * PR #260 / I #43 - Ctrl-U (erase line) handling (@abinoam, issue by @gutenye)
15
+ * PR #259 / I #236 - Handle Ctrl-C when Question#echo = false (@abinoam, @Fahhetah, issue by @aspyct)
16
+ * PR #258 / I #246 - Add validation class support (@abinoam, issue by @Joshfindit)
17
+ * Make it dry-types compatible through the use of `#valid?`
18
+ * Solve the multiple answers in one line problem with a combination of custom coercion (parser) and custom validation
19
+ * PR #257 / I #233 - Show Question#default hint for non String values (@abinoam, issue by @branch14)
20
+ * Add Question#default_hint_show to allow disabling it.
21
+ * PR #256 / I #249 - Fix Array validation in Question#in (@abinoam, issue by @esotericpig)
22
+
5
23
  ### 2.1.0 / 2022-12-31
6
24
  * PR #255 - Change minimum Ruby version requirement to 2.3 (@abinoam)
7
25
  * PR #254 - Improve Github Actions file (@abinoam)
@@ -43,12 +43,48 @@ puts "You have answered: #{answer}"
43
43
 
44
44
  cli.ask("Company? ") { |q| q.default = "none" }
45
45
 
46
+ ## Disable default value hint showing
47
+
48
+ my_special_default_object = Object.new
49
+
50
+ cli.ask("Question? ") do |q|
51
+ q.default = my_special_default_object
52
+ q.default_hint_show = false
53
+ end
54
+
46
55
 
47
56
  # Validation
48
57
 
49
58
  cli.ask("Age? ", Integer) { |q| q.in = 0..105 }
50
59
  cli.ask("Name? (last, first) ") { |q| q.validate = /\A\w+, ?\w+\Z/ }
51
60
 
61
+ ## Validation with custom class
62
+ class ZeroToTwentyFourValidator
63
+ def self.valid?(answer)
64
+ (0..24).include? answer.to_i
65
+ end
66
+
67
+ def self.inspect
68
+ "(0..24) rule"
69
+ end
70
+ end
71
+
72
+ cli.ask("What hour of the day is it?: ", Integer) do |q|
73
+ q.validate = ZeroToTwentyFourValidator
74
+ end
75
+
76
+ ## Validation with Dry::Types
77
+ ## `Dry::Types` provides a `valid?` method so it can be used effortlessly
78
+
79
+ require 'dry-type'
80
+
81
+ module Types
82
+ include Dry.Types
83
+ end
84
+
85
+ cli.ask("Type an integer:", Integer) do |q|
86
+ q.validate = Types::Coercible::Integer
87
+ end
52
88
 
53
89
  # Type conversion for answers:
54
90
 
@@ -103,7 +139,7 @@ For more examples see the examples/ directory of this project.
103
139
  Requirements
104
140
  ------------
105
141
 
106
- HighLine from version >= 1.7.0 requires ruby >= 1.9.3
142
+ HighLine from version >= 3.0.0 requires ruby >= 3.0.0
107
143
 
108
144
  Installing
109
145
  ----------
@@ -27,9 +27,11 @@ DESCRIPTION
27
27
 
28
28
  spec.extra_rdoc_files = %w[README.md TODO Changelog.md LICENSE]
29
29
 
30
- spec.required_ruby_version = ">= 2.3"
30
+ spec.required_ruby_version = ">= 3.0"
31
31
 
32
32
  spec.add_development_dependency "bundler"
33
33
  spec.add_development_dependency "rake"
34
34
  spec.add_development_dependency "minitest"
35
+ spec.add_development_dependency "dry-types"
36
+ spec.add_development_dependency "reline"
35
37
  end
@@ -13,7 +13,7 @@ require "tempfile"
13
13
  #
14
14
 
15
15
  module IOConsoleCompatible
16
- def getch
16
+ def getch(min:nil, time:nil, intr: nil)
17
17
  getc
18
18
  end
19
19
 
@@ -9,7 +9,7 @@ class HighLine
9
9
  extend Forwardable
10
10
 
11
11
  def_delegators :@question,
12
- :answer, :answer=, :check_range,
12
+ :answer, :answer=,
13
13
  :directory, :answer_type, :choices_complete
14
14
 
15
15
  # It should be initialized with a Question object.
@@ -26,10 +26,7 @@ class HighLine
26
26
  # it makes the conversion and returns the answer.
27
27
  # @return [Object] the converted answer.
28
28
  def convert
29
- return unless answer_type
30
-
31
- self.answer = convert_by_answer_type
32
- check_range
29
+ self.answer = convert_by_answer_type if answer_type
33
30
  answer
34
31
  end
35
32
 
@@ -56,6 +56,7 @@ class HighLine
56
56
  @completion = @answer_type
57
57
 
58
58
  @echo = true
59
+ @default_hint_show = true
59
60
  @whitespace = :strip
60
61
  @case = nil
61
62
  @in = nil
@@ -115,7 +116,7 @@ class HighLine
115
116
  #
116
117
  attr_accessor :echo
117
118
  #
118
- # Use the Readline library to fetch input. This allows input editing as
119
+ # Use the Reline library to fetch input. This allows input editing as
119
120
  # well as keeping a history. In addition, tab will auto-complete
120
121
  # within an Array of choices or a file listing.
121
122
  #
@@ -124,6 +125,7 @@ class HighLine
124
125
  # specified _input_ stream.
125
126
  #
126
127
  attr_accessor :readline
128
+
127
129
  #
128
130
  # Used to control whitespace processing for the answer to this question.
129
131
  # See HighLine::Question.remove_whitespace() for acceptable settings.
@@ -136,10 +138,17 @@ class HighLine
136
138
  attr_accessor :case
137
139
  # Used to provide a default answer to this question.
138
140
  attr_accessor :default
141
+ # Set it to a truthy or falsy value to enable or disable showing the default
142
+ # value hint between vertical bars (pipes) when asking the question.
143
+ # Defaults to +true+
144
+ attr_accessor :default_hint_show
139
145
  #
140
146
  # If set to a Regexp, the answer must match (before type conversion).
141
147
  # Can also be set to a Proc which will be called with the provided
142
148
  # answer to validate with a +true+ or +false+ return.
149
+ # It's possible to use a custom validator class. It must respond to
150
+ # `#valid?`. The result of `#inspect` will be used in error messages.
151
+ # See README.md for details.
143
152
  #
144
153
  attr_accessor :validate
145
154
  # Used to control range checks for answer.
@@ -252,7 +261,7 @@ class HighLine
252
261
  # Same as {#answer_type}.
253
262
 
254
263
  def build_responses(message_source = answer_type)
255
- append_default if [::String, Symbol].include? default.class
264
+ append_default_to_template if default_hint_show
256
265
 
257
266
  new_hash = build_responses_new_hash(message_source)
258
267
  # Update our internal responses with the new hash
@@ -497,7 +506,8 @@ class HighLine
497
506
  def valid_answer?
498
507
  !validate ||
499
508
  (validate.is_a?(Regexp) && answer =~ validate) ||
500
- (validate.is_a?(Proc) && validate[answer])
509
+ (validate.is_a?(Proc) && validate[answer]) ||
510
+ (validate.respond_to?(:valid?) && validate.valid?(answer))
501
511
  end
502
512
 
503
513
  #
@@ -571,11 +581,6 @@ class HighLine
571
581
  end
572
582
  end
573
583
 
574
- # readline() needs to handle its own output, but readline only supports
575
- # full line reading. Therefore if question.echo is anything but true,
576
- # the prompt will not be issued. And we have to account for that now.
577
- # Also, JRuby-1.7's ConsoleReader.readLine() needs to be passed the prompt
578
- # to handle line editing properly.
579
584
  # @param highline [HighLine] context
580
585
  # @return [void]
581
586
  def show_question(highline)
@@ -607,15 +612,20 @@ class HighLine
607
612
  # Trailing whitespace is preserved so the function of HighLine.say() is
608
613
  # not affected.
609
614
  #
610
- def append_default
615
+ def append_default_to_template
616
+ return unless default.respond_to? :to_s
617
+
618
+ default_str = default.to_s
619
+ return if default_str.empty?
620
+
611
621
  if template =~ /([\t ]+)\Z/
612
- template << "|#{default}|#{Regexp.last_match(1)}"
622
+ template << "|#{default_str}|#{Regexp.last_match(1)}"
613
623
  elsif template == ""
614
- template << "|#{default}| "
624
+ template << "|#{default_str}| "
615
625
  elsif template[-1, 1] == "\n"
616
- template[-2, 0] = " |#{default}|"
626
+ template[-2, 0] = " |#{default_str}|"
617
627
  else
618
- template << " |#{default}|"
628
+ template << " |#{default_str}|"
619
629
  end
620
630
  end
621
631
 
@@ -24,13 +24,15 @@ class HighLine
24
24
  #
25
25
  # @return [String] answer
26
26
  def ask_once
27
- question.show_question(@highline)
27
+ # If in readline mode, let reline take care of the prompt
28
+ question.show_question(@highline) unless question.readline
28
29
 
29
30
  begin
30
31
  question.get_response_or_default(@highline)
31
32
  raise NotValidQuestionError unless question.valid_answer?
32
33
 
33
34
  question.convert
35
+ question.check_range
34
36
 
35
37
  if question.confirm
36
38
  confirmation = @highline.send(:confirm, question)
@@ -27,7 +27,7 @@ class HighLine
27
27
 
28
28
  # (see Terminal#get_character)
29
29
  def get_character
30
- input.getch # from ruby io/console
30
+ input.getch(intr: true) # from ruby io/console
31
31
  rescue Errno::ENOTTY
32
32
  input.getc
33
33
  end
@@ -20,7 +20,9 @@ class HighLine
20
20
  rescue LoadError
21
21
  end
22
22
 
23
- if /solaris/ =~ RUBY_PLATFORM &&
23
+ if !@output.tty?
24
+ [80, 24]
25
+ elsif /solaris/ =~ RUBY_PLATFORM &&
24
26
  `stty` =~ /\brows = (\d+).*\bcolumns = (\d+)/
25
27
  [Regexp.last_match(2), Regexp.last_match(1)].map(&:to_i)
26
28
  elsif `stty size` =~ /^(\d+)\s(\d+)$/
@@ -32,13 +34,13 @@ class HighLine
32
34
 
33
35
  # (see Terminal#raw_no_echo_mode)
34
36
  def raw_no_echo_mode
35
- @state = `stty -g`
36
- system "stty raw -echo -icanon isig"
37
+ save_stty
38
+ system "stty raw -echo -icanon isig" if input.tty?
37
39
  end
38
40
 
39
41
  # (see Terminal#restore_mode)
40
42
  def restore_mode
41
- system "stty #{@state}"
43
+ restore_stty
42
44
  print "\r"
43
45
  end
44
46
 
@@ -95,9 +95,9 @@ class HighLine
95
95
  # Get one line using #readline_read
96
96
  # @param (see #get_line)
97
97
  def get_line_with_readline(question, highline)
98
- require "readline" # load only if needed
98
+ require "reline" # load only if needed
99
99
 
100
- raw_answer = readline_read(question)
100
+ raw_answer = readline_read(question, highline)
101
101
 
102
102
  if !raw_answer && highline.track_eof?
103
103
  raise EOFError, "The input stream is exhausted."
@@ -109,7 +109,7 @@ class HighLine
109
109
  # Use readline to read one line
110
110
  # @param question [HighLine::Question] question from where to get
111
111
  # autocomplete candidate strings
112
- def readline_read(question)
112
+ def readline_read(question, highline)
113
113
  # prep auto-completion
114
114
  unless question.selection.empty?
115
115
  Readline.completion_proc = lambda do |str|
@@ -117,12 +117,14 @@ class HighLine
117
117
  end
118
118
  end
119
119
 
120
+ # TODO: Check if this is still needed after Reline
120
121
  # work-around ugly readline() warnings
121
122
  old_verbose = $VERBOSE
122
123
  $VERBOSE = nil
123
124
 
124
125
  raw_answer = run_preserving_stty do
125
- Readline.readline("", true)
126
+ prompt = highline.render_and_ident_statement(question)
127
+ Readline.readline(prompt, true)
126
128
  end
127
129
 
128
130
  $VERBOSE = old_verbose
@@ -176,7 +178,7 @@ class HighLine
176
178
  # Saves terminal state using shell stty command.
177
179
  def save_stty
178
180
  @stty_save = begin
179
- `stty -g`.chomp
181
+ `stty -g`.chomp if input.tty?
180
182
  rescue StandardError
181
183
  nil
182
184
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  class HighLine
4
4
  # The version of the installed library.
5
- VERSION = "2.1.0".freeze
5
+ VERSION = "3.0.1".freeze
6
6
  end
@@ -14,7 +14,6 @@ require "English"
14
14
  require "erb"
15
15
  require "optparse"
16
16
  require "stringio"
17
- require "abbrev"
18
17
  require "highline/terminal"
19
18
  require "highline/custom_errors"
20
19
  require "highline/question"
@@ -371,10 +370,8 @@ class HighLine
371
370
  #
372
371
  # @param statement [Statement, String] what to be said
373
372
  def say(statement)
374
- statement = render_statement(statement)
375
- return if statement.empty?
376
-
377
- statement = (indentation + statement)
373
+ statement = render_and_ident_statement(statement)
374
+ return statement if statement.empty?
378
375
 
379
376
  # Don't add a newline if statement ends with whitespace, OR
380
377
  # if statement ends with whitespace before a color escape code.
@@ -386,6 +383,18 @@ class HighLine
386
383
  end
387
384
  end
388
385
 
386
+ # Renders and indents a statement.
387
+ #
388
+ # Note: extracted here to be used by readline to render its prompt.
389
+ #
390
+ # @param statement [String] The statement to be rendered and indented.
391
+ # @return [String] The rendered and indented statement.
392
+ def render_and_ident_statement(statement)
393
+ statement = render_statement(statement)
394
+ statement = (indentation + statement) unless statement.empty?
395
+ statement
396
+ end
397
+
389
398
  # Renders a statement using {HighLine::Statement}
390
399
  # @param statement [String] any string
391
400
  # @return [Statement] rendered statement
@@ -538,6 +547,7 @@ class HighLine
538
547
  terminal.raw_no_echo_mode_exec do
539
548
  loop do
540
549
  character = terminal.get_character
550
+ raise Interrupt if character == "\u0003"
541
551
  break unless character
542
552
  break if ["\n", "\r"].include? character
543
553
 
@@ -545,6 +555,9 @@ class HighLine
545
555
  if character == "\b" || character == "\u007F"
546
556
  chopped = line.chop!
547
557
  output_erase_char if chopped && question.echo
558
+ elsif character == "\cU"
559
+ line.size.times { output_erase_char } if question.echo
560
+ line = ""
548
561
  elsif character == "\e"
549
562
  ignore_arrow_key
550
563
  else
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+ module Parallel
3
+ VERSION = Version = '1.24.0' # rubocop:disable Naming/ConstantName
4
+ end
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
  require 'rbconfig'
3
3
  require 'parallel/version'
4
- require 'parallel/processor_count'
5
4
 
6
5
  module Parallel
7
- extend ProcessorCount
8
-
9
6
  Stop = Object.new.freeze
10
7
 
11
8
  class DeadWorker < StandardError
@@ -307,6 +304,49 @@ module Parallel
307
304
  map(*args, &block).flatten(1)
308
305
  end
309
306
 
307
+ def filter_map(*args, &block)
308
+ map(*args, &block).compact
309
+ end
310
+
311
+ # Number of physical processor cores on the current system.
312
+ def physical_processor_count
313
+ @physical_processor_count ||= begin
314
+ ppc =
315
+ case RbConfig::CONFIG["target_os"]
316
+ when /darwin[12]/
317
+ IO.popen("/usr/sbin/sysctl -n hw.physicalcpu").read.to_i
318
+ when /linux/
319
+ cores = {} # unique physical ID / core ID combinations
320
+ phy = 0
321
+ File.read("/proc/cpuinfo").scan(/^physical id.*|^core id.*/) do |ln|
322
+ if ln.start_with?("physical")
323
+ phy = ln[/\d+/]
324
+ elsif ln.start_with?("core")
325
+ cid = "#{phy}:#{ln[/\d+/]}"
326
+ cores[cid] = true unless cores[cid]
327
+ end
328
+ end
329
+ cores.count
330
+ when /mswin|mingw/
331
+ require 'win32ole'
332
+ result_set = WIN32OLE.connect("winmgmts://").ExecQuery(
333
+ "select NumberOfCores from Win32_Processor"
334
+ )
335
+ result_set.to_enum.collect(&:NumberOfCores).reduce(:+)
336
+ else
337
+ processor_count
338
+ end
339
+ # fall back to logical count if physical info is invalid
340
+ ppc > 0 ? ppc : processor_count
341
+ end
342
+ end
343
+
344
+ # Number of processors seen by the OS, used for process scheduling
345
+ def processor_count
346
+ require 'etc'
347
+ @processor_count ||= Integer(ENV['PARALLEL_PROCESSOR_COUNT'] || Etc.nprocessors)
348
+ end
349
+
310
350
  def worker_number
311
351
  Thread.current[:parallel_worker_number]
312
352
  end
@@ -600,10 +640,34 @@ module Parallel
600
640
  end
601
641
 
602
642
  def instrument_finish(item, index, result, options)
603
- return unless on_finish = options[:finish]
643
+ return unless (on_finish = options[:finish])
644
+ return instrument_finish_in_order(item, index, result, options) if options[:finish_in_order]
604
645
  options[:mutex].synchronize { on_finish.call(item, index, result) }
605
646
  end
606
647
 
648
+ # yield results in the order of the input items
649
+ # needs to use `options` to store state between executions
650
+ # needs to use `done` index since a nil result would also be valid
651
+ def instrument_finish_in_order(item, index, result, options)
652
+ options[:mutex].synchronize do
653
+ # initialize our state
654
+ options[:finish_done] ||= []
655
+ options[:finish_expecting] ||= 0 # we wait for item at index 0
656
+
657
+ # store current result
658
+ options[:finish_done][index] = [item, result]
659
+
660
+ # yield all results that are now in order
661
+ break unless index == options[:finish_expecting]
662
+ index.upto(options[:finish_done].size).each do |i|
663
+ break unless (done = options[:finish_done][i])
664
+ options[:finish_done][i] = nil # allow GC to free this item and result
665
+ options[:finish].call(done[0], i, done[1])
666
+ options[:finish_expecting] += 1
667
+ end
668
+ end
669
+ end
670
+
607
671
  def instrument_start(item, index, options)
608
672
  return unless on_start = options[:start]
609
673
  options[:mutex].synchronize { on_start.call(item, index) }