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.
- checksums.yaml +4 -4
- data/CHANGES.md +68 -0
- data/README.md +5 -2
- data/bundle/load.rb +15 -14
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/LICENSE.txt +33 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/NEWS.md +965 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/README.md +55 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/core_ext/array.rb +9 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/core_ext/string.rb +9 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/fields_converter.rb +96 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/input_record_separator.rb +18 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/parser.rb +1292 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/row.rb +757 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/table.rb +1055 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/version.rb +6 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv/writer.rb +209 -0
- data/bundle/ruby/3.1.0/gems/csv-3.3.2/lib/csv.rb +3017 -0
- data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/Changelog.md +28 -0
- data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/Gemfile +1 -0
- data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/README.md +40 -1
- data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/highline.gemspec +6 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/lib/highline.rb +27 -6
- data/bundle/ruby/3.1.0/gems/parallel-1.26.3/lib/parallel/version.rb +4 -0
- data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.1.0/gems/parallel-1.26.3}/lib/parallel.rb +76 -20
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/COPYING +56 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/README.md +94 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/config.rb +373 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/face.rb +199 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/history.rb +76 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/ansi.rb +325 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/dumb.rb +120 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io/windows.rb +530 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/io.rb +55 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/base.rb +37 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/composite.rb +17 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/emacs.rb +517 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/vi_command.rb +518 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor/vi_insert.rb +517 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_actor.rb +8 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/key_stroke.rb +119 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/kill_ring.rb +125 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/line_editor.rb +2382 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/unicode/east_asian_width.rb +1267 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/unicode.rb +415 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline/version.rb +3 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/lib/reline.rb +519 -0
- data/bundle/ruby/3.1.0/gems/reline-0.6.0/license_of_rb-readline +25 -0
- data/bundle/ruby/3.1.0/gems/rexml-3.4.0/LICENSE.txt +22 -0
- data/bundle/ruby/3.1.0/gems/rexml-3.4.0/NEWS.md +675 -0
- data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/README.md +10 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/rexml-3.4.0/lib/rexml/parsers/baseparser.rb +866 -0
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/rexml-3.4.0/lib/rexml/source.rb +369 -0
- 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
- 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
- data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/History.rdoc +22 -0
- data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/lib/ruby2ruby.rb +162 -26
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/CHANGES +44 -8
- data/bundle/ruby/3.1.0/gems/slim-5.2.1/Gemfile +43 -0
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/LICENSE +1 -1
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/README.jp.md +28 -41
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/README.md +66 -43
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/railtie.rb +19 -0
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/template.rb +6 -0
- 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
- 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
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/lib/slim.rb +2 -0
- data/bundle/ruby/{3.0.0/gems/slim-4.1.0 → 3.1.0/gems/slim-5.2.1}/slim.gemspec +14 -5
- data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/CHANGES +39 -1
- data/bundle/ruby/3.1.0/gems/temple-0.10.3/Gemfile +2 -0
- data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/README.md +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/filters/ambles.rb +22 -0
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +69 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/temple-0.10.3/lib/temple/version.rb +4 -0
- data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/lib/temple.rb +3 -0
- data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/temple.gemspec +4 -6
- data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/History.rdoc +142 -0
- data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/README.md +417 -0
- 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
- 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
- data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/separator.rb +66 -0
- data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/style.rb +284 -0
- 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
- data/bundle/ruby/3.1.0/gems/terminal-table-3.0.2/lib/terminal-table/util.rb +13 -0
- 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
- 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
- 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
- data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/COPYING +1 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_emacs_org.rb +2 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_handlebars.rb +2 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_jbuilder.rb +2 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/_org.rb +2 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/asciidoc.rb +15 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/babel.rb +8 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/builder.rb +42 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/cli.rb +134 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/coffee.rb +39 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/commonmarker.rb +95 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/creole.rb +16 -0
- 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
- 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
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/erubi.rb +55 -0
- 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
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/haml.rb +94 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/kramdown.rb +13 -0
- 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
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/livescript.rb +11 -0
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/pandoc.rb +39 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/pipeline.rb +19 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/plain.rb +5 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/prawn.rb +28 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/radius.rb +41 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rdiscount.rb +23 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rdoc.rb +11 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/redcarpet.rb +31 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/redcloth.rb +13 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/rst-pandoc.rb +10 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/sass.rb +78 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/slim.rb +5 -0
- 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
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/template.rb +479 -0
- data/bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/typescript.rb +19 -0
- 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
- data/bundle/ruby/{3.0.0/gems/tilt-2.0.11 → 3.1.0/gems/tilt-2.5.0}/lib/tilt.rb +60 -43
- 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
- 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
- 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
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/constants.rb +10 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/index.rb +34 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/no_string_ext.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width/string_ext.rb +9 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-2.6.0/lib/unicode/display_width.rb +123 -0
- data/lib/brakeman/app_tree.rb +31 -11
- data/lib/brakeman/checks/check_deserialize.rb +4 -1
- data/lib/brakeman/checks/check_eol_rails.rb +6 -0
- data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
- data/lib/brakeman/checks/check_evaluation.rb +20 -2
- data/lib/brakeman/checks/check_execute.rb +28 -0
- data/lib/brakeman/checks/check_model_attr_accessible.rb +1 -0
- data/lib/brakeman/checks/check_ransack.rb +53 -0
- data/lib/brakeman/checks/check_render.rb +6 -1
- data/lib/brakeman/checks/check_session_settings.rb +2 -3
- data/lib/brakeman/checks/check_sql.rb +1 -1
- data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
- data/lib/brakeman/file_parser.rb +35 -2
- data/lib/brakeman/options.rb +41 -4
- data/lib/brakeman/parsers/erubis_patch.rb +11 -0
- data/lib/brakeman/parsers/rails2_erubis.rb +3 -0
- data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +4 -0
- data/lib/brakeman/parsers/rails3_erubis.rb +5 -1
- data/lib/brakeman/parsers/slim_embedded.rb +2 -0
- data/lib/brakeman/processors/alias_processor.rb +48 -19
- data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
- data/lib/brakeman/processors/lib/module_helper.rb +31 -1
- data/lib/brakeman/processors/library_processor.rb +6 -0
- data/lib/brakeman/report/ignore/config.rb +0 -1
- data/lib/brakeman/report/pager.rb +1 -1
- data/lib/brakeman/report/report_markdown.rb +1 -1
- data/lib/brakeman/report/report_sarif.rb +122 -2
- data/lib/brakeman/report/report_table.rb +2 -2
- data/lib/brakeman/report/report_tabs.rb +0 -1
- data/lib/brakeman/report/report_text.rb +8 -1
- data/lib/brakeman/rescanner.rb +40 -390
- data/lib/brakeman/scanner.rb +160 -74
- data/lib/brakeman/tracker/config.rb +22 -8
- data/lib/brakeman/tracker/controller.rb +14 -10
- data/lib/brakeman/tracker/file_cache.rb +83 -0
- data/lib/brakeman/tracker.rb +20 -3
- data/lib/brakeman/util.rb +1 -3
- data/lib/brakeman/version.rb +1 -1
- data/lib/brakeman/warning.rb +1 -1
- data/lib/brakeman/warning_codes.rb +1 -0
- data/lib/brakeman.rb +16 -5
- data/lib/ruby_parser/bm_sexp.rb +5 -1
- metadata +432 -406
- data/bundle/ruby/3.0.0/gems/parallel-1.23.0/lib/parallel/version.rb +0 -4
- data/bundle/ruby/3.0.0/gems/rexml-3.2.5/NEWS.md +0 -178
- data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb +0 -694
- data/bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/source.rb +0 -298
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt +0 -22
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md +0 -191
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
- data/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
- data/bundle/ruby/3.0.0/gems/slim-4.1.0/Gemfile +0 -70
- data/bundle/ruby/3.0.0/gems/slim-4.1.0/lib/slim/template.rb +0 -19
- data/bundle/ruby/3.0.0/gems/temple-0.8.2/Gemfile +0 -3
- data/bundle/ruby/3.0.0/gems/temple-0.8.2/lib/temple/version.rb +0 -3
- data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
- data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
- data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
- data/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -27
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -16
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -24
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -37
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -58
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -88
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -25
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -3
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -32
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -43
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -86
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -25
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/less.rb +0 -30
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -23
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -22
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -57
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -16
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -43
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -48
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -39
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -40
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -86
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -23
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -23
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -78
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -34
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/template.rb +0 -308
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -26
- data/bundle/ruby/3.0.0/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -22
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -12
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
- data/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/README.txt +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/erubis-2.7.0/setup.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/CHANGELOG.md +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/FAQ.md +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/Gemfile +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/MIT-LICENSE +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/README.md +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/REFERENCE.md +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/TODO +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/haml.gemspec +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/buffer.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/compiler.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/engine.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/error.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/escapable.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/exec.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/filters.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/generator.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/helpers.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/options.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/parser.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/plugin.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/railtie.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/template/options.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/template.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/util.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml/version.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/lib/haml.rb +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -0
- /data/bundle/ruby/{3.0.0 → 3.1.0}/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -0
- /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/AUTHORS +0 -0
- /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/COPYING +0 -0
- /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/LICENSE +0 -0
- /data/bundle/ruby/{3.0.0/gems/highline-2.1.0 → 3.1.0/gems/highline-3.1.1}/TODO +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /data/bundle/ruby/{3.0.0/gems/parallel-1.23.0 → 3.1.0/gems/parallel-1.26.3}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5/LICENSE.txt → 3.1.0/gems/reline-0.6.0/BSDL} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /data/bundle/ruby/{3.0.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.0}/lib/rexml.rb +0 -0
- /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/Manifest.txt +0 -0
- /data/bundle/ruby/{3.0.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.1}/README.rdoc +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/{3.0.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.3}/LICENSE +0 -0
- /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/Gemfile +0 -0
- /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
- /data/bundle/ruby/{3.0.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-3.0.2}/Manifest +0 -0
- /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
- /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
- /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
@@ -1,34 +0,0 @@
|
|
1
|
-
module SafeYAML
|
2
|
-
class Deep
|
3
|
-
def self.freeze(object)
|
4
|
-
object.each do |*entry|
|
5
|
-
value = entry.last
|
6
|
-
case value
|
7
|
-
when String, Regexp
|
8
|
-
value.freeze
|
9
|
-
when Enumerable
|
10
|
-
Deep.freeze(value)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
return object.freeze
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.copy(object)
|
18
|
-
duplicate = object.dup rescue object
|
19
|
-
|
20
|
-
case object
|
21
|
-
when Array
|
22
|
-
(0...duplicate.count).each do |i|
|
23
|
-
duplicate[i] = Deep.copy(duplicate[i])
|
24
|
-
end
|
25
|
-
when Hash
|
26
|
-
duplicate.keys.each do |key|
|
27
|
-
duplicate[key] = Deep.copy(duplicate[key])
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
duplicate
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require "set"
|
2
|
-
|
3
|
-
module SafeYAML
|
4
|
-
class LibyamlChecker
|
5
|
-
LIBYAML_VERSION = Psych::LIBYAML_VERSION rescue nil
|
6
|
-
|
7
|
-
# Do proper version comparison (e.g. so 0.1.10 is >= 0.1.6)
|
8
|
-
SAFE_LIBYAML_VERSION = Gem::Version.new("0.1.6")
|
9
|
-
|
10
|
-
KNOWN_PATCHED_LIBYAML_VERSIONS = Set.new([
|
11
|
-
# http://people.canonical.com/~ubuntu-security/cve/2014/CVE-2014-2525.html
|
12
|
-
"0.1.4-2ubuntu0.12.04.3",
|
13
|
-
"0.1.4-2ubuntu0.12.10.3",
|
14
|
-
"0.1.4-2ubuntu0.13.10.3",
|
15
|
-
"0.1.4-3ubuntu3",
|
16
|
-
|
17
|
-
# https://security-tracker.debian.org/tracker/CVE-2014-2525
|
18
|
-
"0.1.3-1+deb6u4",
|
19
|
-
"0.1.4-2+deb7u4",
|
20
|
-
"0.1.4-3.2"
|
21
|
-
]).freeze
|
22
|
-
|
23
|
-
def self.libyaml_version_ok?
|
24
|
-
return true if YAML_ENGINE != "psych" || defined?(JRUBY_VERSION)
|
25
|
-
return true if Gem::Version.new(LIBYAML_VERSION || "0") >= SAFE_LIBYAML_VERSION
|
26
|
-
return libyaml_patched?
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.libyaml_patched?
|
30
|
-
return false if (`which dpkg` rescue '').empty?
|
31
|
-
libyaml_version = `dpkg -s libyaml-0-2`.match(/^Version: (.*)$/)
|
32
|
-
return false if libyaml_version.nil?
|
33
|
-
KNOWN_PATCHED_LIBYAML_VERSIONS.include?(libyaml_version[1])
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,181 +0,0 @@
|
|
1
|
-
require "set"
|
2
|
-
require "yaml"
|
3
|
-
|
4
|
-
# This needs to be defined up front in case any internal classes need to base
|
5
|
-
# their behavior off of this.
|
6
|
-
module SafeYAML
|
7
|
-
YAML_ENGINE = defined?(YAML::ENGINE) ? YAML::ENGINE.yamler : (defined?(Psych) && YAML == Psych ? "psych" : "syck")
|
8
|
-
end
|
9
|
-
|
10
|
-
require "safe_yaml/libyaml_checker"
|
11
|
-
require "safe_yaml/deep"
|
12
|
-
require "safe_yaml/parse/hexadecimal"
|
13
|
-
require "safe_yaml/parse/sexagesimal"
|
14
|
-
require "safe_yaml/parse/date"
|
15
|
-
require "safe_yaml/transform/transformation_map"
|
16
|
-
require "safe_yaml/transform/to_boolean"
|
17
|
-
require "safe_yaml/transform/to_date"
|
18
|
-
require "safe_yaml/transform/to_float"
|
19
|
-
require "safe_yaml/transform/to_integer"
|
20
|
-
require "safe_yaml/transform/to_nil"
|
21
|
-
require "safe_yaml/transform/to_symbol"
|
22
|
-
require "safe_yaml/transform"
|
23
|
-
require "safe_yaml/resolver"
|
24
|
-
require "safe_yaml/syck_hack" if SafeYAML::YAML_ENGINE == "syck" && defined?(JRUBY_VERSION)
|
25
|
-
|
26
|
-
module SafeYAML
|
27
|
-
MULTI_ARGUMENT_YAML_LOAD = YAML.method(:load).arity != 1
|
28
|
-
|
29
|
-
DEFAULT_OPTIONS = Deep.freeze({
|
30
|
-
:default_mode => nil,
|
31
|
-
:suppress_warnings => false,
|
32
|
-
:deserialize_symbols => false,
|
33
|
-
:whitelisted_tags => [],
|
34
|
-
:custom_initializers => {},
|
35
|
-
:raise_on_unknown_tag => false
|
36
|
-
})
|
37
|
-
|
38
|
-
OPTIONS = Deep.copy(DEFAULT_OPTIONS)
|
39
|
-
|
40
|
-
PREDEFINED_TAGS = {}
|
41
|
-
|
42
|
-
if YAML_ENGINE == "syck"
|
43
|
-
YAML.tagged_classes.each do |tag, klass|
|
44
|
-
PREDEFINED_TAGS[klass] = tag
|
45
|
-
end
|
46
|
-
|
47
|
-
else
|
48
|
-
# Special tags appear to be hard-coded in Psych:
|
49
|
-
# https://github.com/tenderlove/psych/blob/v1.3.4/lib/psych/visitors/to_ruby.rb
|
50
|
-
# Fortunately, there aren't many that SafeYAML doesn't already support.
|
51
|
-
PREDEFINED_TAGS.merge!({
|
52
|
-
Exception => "!ruby/exception",
|
53
|
-
Range => "!ruby/range",
|
54
|
-
Regexp => "!ruby/regexp",
|
55
|
-
})
|
56
|
-
end
|
57
|
-
|
58
|
-
Deep.freeze(PREDEFINED_TAGS)
|
59
|
-
|
60
|
-
module_function
|
61
|
-
|
62
|
-
def restore_defaults!
|
63
|
-
OPTIONS.clear.merge!(Deep.copy(DEFAULT_OPTIONS))
|
64
|
-
end
|
65
|
-
|
66
|
-
def tag_safety_check!(tag, options)
|
67
|
-
return if tag.nil? || tag == "!"
|
68
|
-
if options[:raise_on_unknown_tag] && !options[:whitelisted_tags].include?(tag) && !tag_is_explicitly_trusted?(tag)
|
69
|
-
raise "Unknown YAML tag '#{tag}'"
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def whitelist!(*classes)
|
74
|
-
classes.each do |klass|
|
75
|
-
whitelist_class!(klass)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def whitelist_class!(klass)
|
80
|
-
raise "#{klass} not a Class" unless klass.is_a?(::Class)
|
81
|
-
|
82
|
-
klass_name = klass.name
|
83
|
-
raise "#{klass} cannot be anonymous" if klass_name.nil? || klass_name.empty?
|
84
|
-
|
85
|
-
# Whitelist any built-in YAML tags supplied by Syck or Psych.
|
86
|
-
predefined_tag = PREDEFINED_TAGS[klass]
|
87
|
-
if predefined_tag
|
88
|
-
OPTIONS[:whitelisted_tags] << predefined_tag
|
89
|
-
return
|
90
|
-
end
|
91
|
-
|
92
|
-
# Exception is exceptional (har har).
|
93
|
-
tag_class = klass < Exception ? "exception" : "object"
|
94
|
-
|
95
|
-
tag_prefix = case YAML_ENGINE
|
96
|
-
when "psych" then "!ruby/#{tag_class}"
|
97
|
-
when "syck" then "tag:ruby.yaml.org,2002:#{tag_class}"
|
98
|
-
else raise "unknown YAML_ENGINE #{YAML_ENGINE}"
|
99
|
-
end
|
100
|
-
OPTIONS[:whitelisted_tags] << "#{tag_prefix}:#{klass_name}"
|
101
|
-
end
|
102
|
-
|
103
|
-
if YAML_ENGINE == "psych"
|
104
|
-
def tag_is_explicitly_trusted?(tag)
|
105
|
-
false
|
106
|
-
end
|
107
|
-
|
108
|
-
else
|
109
|
-
TRUSTED_TAGS = Set.new([
|
110
|
-
"tag:yaml.org,2002:binary",
|
111
|
-
"tag:yaml.org,2002:bool#no",
|
112
|
-
"tag:yaml.org,2002:bool#yes",
|
113
|
-
"tag:yaml.org,2002:float",
|
114
|
-
"tag:yaml.org,2002:float#fix",
|
115
|
-
"tag:yaml.org,2002:int",
|
116
|
-
"tag:yaml.org,2002:map",
|
117
|
-
"tag:yaml.org,2002:null",
|
118
|
-
"tag:yaml.org,2002:seq",
|
119
|
-
"tag:yaml.org,2002:str",
|
120
|
-
"tag:yaml.org,2002:timestamp",
|
121
|
-
"tag:yaml.org,2002:timestamp#ymd"
|
122
|
-
]).freeze
|
123
|
-
|
124
|
-
def tag_is_explicitly_trusted?(tag)
|
125
|
-
TRUSTED_TAGS.include?(tag)
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
if SafeYAML::YAML_ENGINE == "psych"
|
130
|
-
require "safe_yaml/psych_handler"
|
131
|
-
require "safe_yaml/psych_resolver"
|
132
|
-
require "safe_yaml/safe_to_ruby_visitor"
|
133
|
-
|
134
|
-
def self.load(yaml, filename=nil, options={})
|
135
|
-
# If the user hasn't whitelisted any tags, we can go with this implementation which is
|
136
|
-
# significantly faster.
|
137
|
-
if (options && options[:whitelisted_tags] || SafeYAML::OPTIONS[:whitelisted_tags]).empty?
|
138
|
-
safe_handler = SafeYAML::PsychHandler.new(options) do |result|
|
139
|
-
return result
|
140
|
-
end
|
141
|
-
arguments_for_parse = [yaml]
|
142
|
-
arguments_for_parse << filename if SafeYAML::MULTI_ARGUMENT_YAML_LOAD
|
143
|
-
Psych::Parser.new(safe_handler).parse(*arguments_for_parse)
|
144
|
-
return safe_handler.result
|
145
|
-
|
146
|
-
else
|
147
|
-
safe_resolver = SafeYAML::PsychResolver.new(options)
|
148
|
-
tree = SafeYAML::MULTI_ARGUMENT_YAML_LOAD ?
|
149
|
-
Psych.parse(yaml, filename) :
|
150
|
-
Psych.parse(yaml)
|
151
|
-
return safe_resolver.resolve_node(tree)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
def self.load_file(filename, options={})
|
156
|
-
if SafeYAML::MULTI_ARGUMENT_YAML_LOAD
|
157
|
-
File.open(filename, 'r:bom|utf-8') { |f| self.load(f, filename, options) }
|
158
|
-
|
159
|
-
else
|
160
|
-
# Ruby pukes on 1.9.2 if we try to open an empty file w/ 'r:bom|utf-8';
|
161
|
-
# so we'll not specify those flags here. This mirrors the behavior for
|
162
|
-
# unsafe_load_file so it's probably preferable anyway.
|
163
|
-
self.load File.open(filename), nil, options
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
else
|
168
|
-
require "safe_yaml/syck_resolver"
|
169
|
-
require "safe_yaml/syck_node_monkeypatch"
|
170
|
-
|
171
|
-
def self.load(yaml, options={})
|
172
|
-
resolver = SafeYAML::SyckResolver.new(SafeYAML::OPTIONS.merge(options || {}))
|
173
|
-
tree = YAML.parse(yaml)
|
174
|
-
return resolver.resolve_node(tree)
|
175
|
-
end
|
176
|
-
|
177
|
-
def self.load_file(filename, options={})
|
178
|
-
File.open(filename) { |f| self.load(f, options) }
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'time'
|
2
|
-
|
3
|
-
module SafeYAML
|
4
|
-
class Parse
|
5
|
-
class Date
|
6
|
-
# This one's easy enough :)
|
7
|
-
DATE_MATCHER = /\A(\d{4})-(\d{2})-(\d{2})\Z/.freeze
|
8
|
-
|
9
|
-
# This unbelievable little gem is taken basically straight from the YAML spec, but made
|
10
|
-
# slightly more readable (to my poor eyes at least) to me:
|
11
|
-
# http://yaml.org/type/timestamp.html
|
12
|
-
TIME_MATCHER = /\A\d{4}-\d{1,2}-\d{1,2}(?:[Tt]|\s+)\d{1,2}:\d{2}:\d{2}(?:\.\d*)?\s*(?:Z|[-+]\d{1,2}(?::?\d{2})?)?\Z/.freeze
|
13
|
-
|
14
|
-
SECONDS_PER_DAY = 60 * 60 * 24
|
15
|
-
MICROSECONDS_PER_SECOND = 1000000
|
16
|
-
|
17
|
-
# So this is weird. In Ruby 1.8.7, the DateTime#sec_fraction method returned fractional
|
18
|
-
# seconds in units of DAYS for some reason. In 1.9.2, they changed the units -- much more
|
19
|
-
# reasonably -- to seconds.
|
20
|
-
SEC_FRACTION_MULTIPLIER = RUBY_VERSION == "1.8.7" ? (SECONDS_PER_DAY * MICROSECONDS_PER_SECOND) : MICROSECONDS_PER_SECOND
|
21
|
-
|
22
|
-
# The DateTime class has a #to_time method in Ruby 1.9+;
|
23
|
-
# Before that we'll just need to convert DateTime to Time ourselves.
|
24
|
-
TO_TIME_AVAILABLE = DateTime.instance_methods.include?(:to_time)
|
25
|
-
|
26
|
-
def self.value(value)
|
27
|
-
d = DateTime.parse(value)
|
28
|
-
|
29
|
-
return d.to_time if TO_TIME_AVAILABLE
|
30
|
-
|
31
|
-
usec = d.sec_fraction * SEC_FRACTION_MULTIPLIER
|
32
|
-
time = Time.utc(d.year, d.month, d.day, d.hour, d.min, d.sec, usec) - (d.offset * SECONDS_PER_DAY)
|
33
|
-
time.getlocal
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module SafeYAML
|
2
|
-
class Parse
|
3
|
-
class Sexagesimal
|
4
|
-
INTEGER_MATCHER = /\A[-+]?[0-9][0-9_]*(:[0-5]?[0-9])+\Z/.freeze
|
5
|
-
FLOAT_MATCHER = /\A[-+]?[0-9][0-9_]*(:[0-5]?[0-9])+\.[0-9_]*\Z/.freeze
|
6
|
-
|
7
|
-
def self.value(value)
|
8
|
-
before_decimal, after_decimal = value.split(".")
|
9
|
-
|
10
|
-
whole_part = 0
|
11
|
-
multiplier = 1
|
12
|
-
|
13
|
-
before_decimal = before_decimal.split(":")
|
14
|
-
until before_decimal.empty?
|
15
|
-
whole_part += (Float(before_decimal.pop) * multiplier)
|
16
|
-
multiplier *= 60
|
17
|
-
end
|
18
|
-
|
19
|
-
result = whole_part
|
20
|
-
result += Float("." + after_decimal) unless after_decimal.nil?
|
21
|
-
result *= -1 if value[0] == "-"
|
22
|
-
result
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,99 +0,0 @@
|
|
1
|
-
require "psych"
|
2
|
-
require "base64"
|
3
|
-
|
4
|
-
module SafeYAML
|
5
|
-
class PsychHandler < Psych::Handler
|
6
|
-
def initialize(options, &block)
|
7
|
-
@options = SafeYAML::OPTIONS.merge(options || {})
|
8
|
-
@block = block
|
9
|
-
@initializers = @options[:custom_initializers] || {}
|
10
|
-
@anchors = {}
|
11
|
-
@stack = []
|
12
|
-
@current_key = nil
|
13
|
-
@result = nil
|
14
|
-
@begun = false
|
15
|
-
end
|
16
|
-
|
17
|
-
def result
|
18
|
-
@begun ? @result : false
|
19
|
-
end
|
20
|
-
|
21
|
-
def add_to_current_structure(value, anchor=nil, quoted=nil, tag=nil)
|
22
|
-
value = Transform.to_proper_type(value, quoted, tag, @options)
|
23
|
-
|
24
|
-
@anchors[anchor] = value if anchor
|
25
|
-
|
26
|
-
if !@begun
|
27
|
-
@begun = true
|
28
|
-
@result = value
|
29
|
-
@current_structure = @result
|
30
|
-
return
|
31
|
-
end
|
32
|
-
|
33
|
-
if @current_structure.respond_to?(:<<)
|
34
|
-
@current_structure << value
|
35
|
-
|
36
|
-
elsif @current_structure.respond_to?(:[]=)
|
37
|
-
if @current_key.nil?
|
38
|
-
@current_key = value
|
39
|
-
|
40
|
-
else
|
41
|
-
if @current_key == "<<"
|
42
|
-
@current_structure.merge!(value)
|
43
|
-
else
|
44
|
-
@current_structure[@current_key] = value
|
45
|
-
end
|
46
|
-
|
47
|
-
@current_key = nil
|
48
|
-
end
|
49
|
-
|
50
|
-
else
|
51
|
-
raise "Don't know how to add to a #{@current_structure.class}!"
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
def end_current_structure
|
56
|
-
@stack.pop
|
57
|
-
@current_structure = @stack.last
|
58
|
-
end
|
59
|
-
|
60
|
-
def streaming?
|
61
|
-
true
|
62
|
-
end
|
63
|
-
|
64
|
-
# event handlers
|
65
|
-
def alias(anchor)
|
66
|
-
add_to_current_structure(@anchors[anchor])
|
67
|
-
end
|
68
|
-
|
69
|
-
def scalar(value, anchor, tag, plain, quoted, style)
|
70
|
-
add_to_current_structure(value, anchor, quoted, tag)
|
71
|
-
end
|
72
|
-
|
73
|
-
def end_document(implicit)
|
74
|
-
@block.call(@result)
|
75
|
-
end
|
76
|
-
|
77
|
-
def start_mapping(anchor, tag, implicit, style)
|
78
|
-
map = @initializers.include?(tag) ? @initializers[tag].call : {}
|
79
|
-
self.add_to_current_structure(map, anchor)
|
80
|
-
@current_structure = map
|
81
|
-
@stack.push(map)
|
82
|
-
end
|
83
|
-
|
84
|
-
def end_mapping
|
85
|
-
self.end_current_structure()
|
86
|
-
end
|
87
|
-
|
88
|
-
def start_sequence(anchor, tag, implicit, style)
|
89
|
-
seq = @initializers.include?(tag) ? @initializers[tag].call : []
|
90
|
-
self.add_to_current_structure(seq, anchor)
|
91
|
-
@current_structure = seq
|
92
|
-
@stack.push(seq)
|
93
|
-
end
|
94
|
-
|
95
|
-
def end_sequence
|
96
|
-
self.end_current_structure()
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
module SafeYAML
|
2
|
-
class PsychResolver < Resolver
|
3
|
-
NODE_TYPES = {
|
4
|
-
Psych::Nodes::Document => :root,
|
5
|
-
Psych::Nodes::Mapping => :map,
|
6
|
-
Psych::Nodes::Sequence => :seq,
|
7
|
-
Psych::Nodes::Scalar => :scalar,
|
8
|
-
Psych::Nodes::Alias => :alias
|
9
|
-
}.freeze
|
10
|
-
|
11
|
-
def initialize(options={})
|
12
|
-
super
|
13
|
-
@aliased_nodes = {}
|
14
|
-
end
|
15
|
-
|
16
|
-
def resolve_root(root)
|
17
|
-
resolve_seq(root).first
|
18
|
-
end
|
19
|
-
|
20
|
-
def resolve_alias(node)
|
21
|
-
resolve_node(@aliased_nodes[node.anchor])
|
22
|
-
end
|
23
|
-
|
24
|
-
def native_resolve(node)
|
25
|
-
@visitor ||= SafeYAML::SafeToRubyVisitor.new(self)
|
26
|
-
@visitor.accept(node)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_node_type(node)
|
30
|
-
NODE_TYPES[node.class]
|
31
|
-
end
|
32
|
-
|
33
|
-
def get_node_tag(node)
|
34
|
-
node.tag
|
35
|
-
end
|
36
|
-
|
37
|
-
def get_node_value(node)
|
38
|
-
@aliased_nodes[node.anchor] = node if node.respond_to?(:anchor) && node.anchor
|
39
|
-
|
40
|
-
case get_node_type(node)
|
41
|
-
when :root, :map, :seq
|
42
|
-
node.children
|
43
|
-
when :scalar
|
44
|
-
node.value
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def value_is_quoted?(node)
|
49
|
-
node.quoted
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,94 +0,0 @@
|
|
1
|
-
module SafeYAML
|
2
|
-
class Resolver
|
3
|
-
def initialize(options)
|
4
|
-
@options = SafeYAML::OPTIONS.merge(options || {})
|
5
|
-
@whitelist = @options[:whitelisted_tags] || []
|
6
|
-
@initializers = @options[:custom_initializers] || {}
|
7
|
-
@raise_on_unknown_tag = @options[:raise_on_unknown_tag]
|
8
|
-
end
|
9
|
-
|
10
|
-
def resolve_node(node)
|
11
|
-
return node if !node
|
12
|
-
return self.native_resolve(node) if tag_is_whitelisted?(self.get_node_tag(node))
|
13
|
-
|
14
|
-
case self.get_node_type(node)
|
15
|
-
when :root
|
16
|
-
resolve_root(node)
|
17
|
-
when :map
|
18
|
-
resolve_map(node)
|
19
|
-
when :seq
|
20
|
-
resolve_seq(node)
|
21
|
-
when :scalar
|
22
|
-
resolve_scalar(node)
|
23
|
-
when :alias
|
24
|
-
resolve_alias(node)
|
25
|
-
else
|
26
|
-
raise "Don't know how to resolve this node: #{node.inspect}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def resolve_map(node)
|
31
|
-
tag = get_and_check_node_tag(node)
|
32
|
-
hash = @initializers.include?(tag) ? @initializers[tag].call : {}
|
33
|
-
map = normalize_map(self.get_node_value(node))
|
34
|
-
|
35
|
-
# Take the "<<" key nodes first, as these are meant to approximate a form of inheritance.
|
36
|
-
inheritors = map.select { |key_node, value_node| resolve_node(key_node) == "<<" }
|
37
|
-
inheritors.each do |key_node, value_node|
|
38
|
-
merge_into_hash(hash, resolve_node(value_node))
|
39
|
-
end
|
40
|
-
|
41
|
-
# All that's left should be normal (non-"<<") nodes.
|
42
|
-
(map - inheritors).each do |key_node, value_node|
|
43
|
-
hash[resolve_node(key_node)] = resolve_node(value_node)
|
44
|
-
end
|
45
|
-
|
46
|
-
return hash
|
47
|
-
end
|
48
|
-
|
49
|
-
def resolve_seq(node)
|
50
|
-
seq = self.get_node_value(node)
|
51
|
-
|
52
|
-
tag = get_and_check_node_tag(node)
|
53
|
-
arr = @initializers.include?(tag) ? @initializers[tag].call : []
|
54
|
-
|
55
|
-
seq.inject(arr) { |array, n| array << resolve_node(n) }
|
56
|
-
end
|
57
|
-
|
58
|
-
def resolve_scalar(node)
|
59
|
-
Transform.to_proper_type(self.get_node_value(node), self.value_is_quoted?(node), get_and_check_node_tag(node), @options)
|
60
|
-
end
|
61
|
-
|
62
|
-
def get_and_check_node_tag(node)
|
63
|
-
tag = self.get_node_tag(node)
|
64
|
-
SafeYAML.tag_safety_check!(tag, @options)
|
65
|
-
tag
|
66
|
-
end
|
67
|
-
|
68
|
-
def tag_is_whitelisted?(tag)
|
69
|
-
@whitelist.include?(tag)
|
70
|
-
end
|
71
|
-
|
72
|
-
def options
|
73
|
-
@options
|
74
|
-
end
|
75
|
-
|
76
|
-
private
|
77
|
-
def normalize_map(map)
|
78
|
-
# Syck creates Hashes from maps.
|
79
|
-
if map.is_a?(Hash)
|
80
|
-
map.inject([]) { |arr, key_and_value| arr << key_and_value }
|
81
|
-
|
82
|
-
# Psych is really weird; it flattens out a Hash completely into: [key, value, key, value, ...]
|
83
|
-
else
|
84
|
-
map.each_slice(2).to_a
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def merge_into_hash(hash, array)
|
89
|
-
array.each do |key, value|
|
90
|
-
hash[key] = value
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module SafeYAML
|
2
|
-
class SafeToRubyVisitor < Psych::Visitors::ToRuby
|
3
|
-
INITIALIZE_ARITY = superclass.instance_method(:initialize).arity
|
4
|
-
|
5
|
-
def initialize(resolver)
|
6
|
-
case INITIALIZE_ARITY
|
7
|
-
when 2
|
8
|
-
# https://github.com/tenderlove/psych/blob/v2.0.0/lib/psych/visitors/to_ruby.rb#L14-L28
|
9
|
-
loader = Psych::ClassLoader.new
|
10
|
-
scanner = Psych::ScalarScanner.new(loader)
|
11
|
-
super(scanner, loader)
|
12
|
-
|
13
|
-
else
|
14
|
-
super()
|
15
|
-
end
|
16
|
-
|
17
|
-
@resolver = resolver
|
18
|
-
end
|
19
|
-
|
20
|
-
def accept(node)
|
21
|
-
if node.tag
|
22
|
-
SafeYAML.tag_safety_check!(node.tag, @resolver.options)
|
23
|
-
return super
|
24
|
-
end
|
25
|
-
|
26
|
-
@resolver.resolve_node(node)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'safe_yaml/load'
|
2
|
-
require 'yaml/store'
|
3
|
-
|
4
|
-
module SafeYAML
|
5
|
-
|
6
|
-
class Store < YAML::Store
|
7
|
-
|
8
|
-
# Override YAML::Store#initialize to accept additional option
|
9
|
-
# +safe_yaml_opts+.
|
10
|
-
def initialize(file_name, yaml_opts = {}, safe_yaml_opts = {})
|
11
|
-
@safe_yaml_opts = safe_yaml_opts
|
12
|
-
super(file_name, yaml_opts)
|
13
|
-
end
|
14
|
-
|
15
|
-
# Override YAML::Store#load to use SafeYAML.load instead of
|
16
|
-
# YAML.load (via #safe_yaml_load).
|
17
|
-
#--
|
18
|
-
# PStore#load is private, while YAML::Store#load is public.
|
19
|
-
#++
|
20
|
-
def load(content)
|
21
|
-
table = safe_yaml_load(content)
|
22
|
-
table == false ? {} : table
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
if SafeYAML::YAML_ENGINE == 'psych'
|
28
|
-
def safe_yaml_load(content)
|
29
|
-
SafeYAML.load(content, nil, @safe_yaml_opts)
|
30
|
-
end
|
31
|
-
else
|
32
|
-
def safe_yaml_load(content)
|
33
|
-
SafeYAML.load(content, @safe_yaml_opts)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# Hack to JRuby 1.8's YAML Parser Yecht
|
2
|
-
#
|
3
|
-
# This file is always loaded AFTER either syck or psych are already
|
4
|
-
# loaded. It then looks at what constants are available and creates
|
5
|
-
# a consistent view on all rubys.
|
6
|
-
#
|
7
|
-
# Taken from rubygems and modified.
|
8
|
-
# See https://github.com/rubygems/rubygems/blob/master/lib/rubygems/syck_hack.rb
|
9
|
-
|
10
|
-
module YAML
|
11
|
-
# In newer 1.9.2, there is a Syck toplevel constant instead of it
|
12
|
-
# being underneith YAML. If so, reference it back under YAML as
|
13
|
-
# well.
|
14
|
-
if defined? ::Syck
|
15
|
-
# for tests that change YAML::ENGINE
|
16
|
-
# 1.8 does not support the second argument to const_defined?
|
17
|
-
remove_const :Syck rescue nil
|
18
|
-
|
19
|
-
Syck = ::Syck
|
20
|
-
|
21
|
-
# JRuby's "Syck" is called "Yecht"
|
22
|
-
elsif defined? YAML::Yecht
|
23
|
-
Syck = YAML::Yecht
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# Sometime in the 1.9 dev cycle, the Syck constant was moved from under YAML
|
28
|
-
# to be a toplevel constant. So gemspecs created under these versions of Syck
|
29
|
-
# will have references to Syck::DefaultKey.
|
30
|
-
#
|
31
|
-
# So we need to be sure that we reference Syck at the toplevel too so that
|
32
|
-
# we can always load these kind of gemspecs.
|
33
|
-
#
|
34
|
-
if !defined?(Syck)
|
35
|
-
Syck = YAML::Syck
|
36
|
-
end
|