brakeman 7.0.2 → 7.1.1
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 +24 -0
- data/README.md +1 -1
- data/bundle/load.rb +10 -10
- data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/NEWS.md +20 -1
- data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/parser.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/version.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/CHANGELOG.md +180 -4
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/FAQ.md +1 -1
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/Gemfile +34 -0
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/MIT-LICENSE +1 -1
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/README.md +23 -34
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/REFERENCE.md +100 -171
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/exe/haml +6 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/haml.gemspec +45 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/ambles.rb +20 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_builder.rb +162 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_compiler.rb +133 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_parser.rb +116 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/cli.rb +154 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/children_compiler.rb +155 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/comment_compiler.rb +51 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/doctype_compiler.rb +52 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/script_compiler.rb +114 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/tag_compiler.rb +76 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler.rb +97 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/dynamic_merger.rb +67 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/engine.rb +59 -0
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/lib/haml/error.rb +5 -4
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/escape.rb +13 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/escape_any.rb +21 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/base.rb +12 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/cdata.rb +20 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/coffee.rb +17 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/css.rb +33 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/erb.rb +10 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/escaped.rb +22 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/javascript.rb +33 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/less.rb +20 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/markdown.rb +11 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/plain.rb +29 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/preserve.rb +22 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/ruby.rb +10 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/sass.rb +15 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/scss.rb +15 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/text_base.rb +25 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/tilt_base.rb +59 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters.rb +75 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/force_escape.rb +29 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/helpers.rb +15 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/html.rb +22 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/identity.rb +13 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/object_ref.rb +35 -0
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/lib/haml/parser.rb +159 -24
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/rails_helpers.rb +53 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/rails_template.rb +62 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/railtie.rb +10 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/ruby_expression.rb +32 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/string_splitter.rb +140 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/template.rb +20 -0
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/lib/haml/temple_line_counter.rb +2 -1
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/lib/haml/util.rb +19 -15
- data/bundle/ruby/3.1.0/gems/{haml-5.2.2 → haml-6.4.0}/lib/haml/version.rb +1 -2
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/whitespace.rb +8 -0
- data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml.rb +13 -0
- data/bundle/ruby/3.1.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
- data/bundle/ruby/3.1.0/gems/{parallel-1.26.3 → parallel-1.27.0}/lib/parallel.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/config.rb +5 -0
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/io/ansi.rb +7 -3
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/io.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor/emacs.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/line_editor.rb +10 -8
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/unicode/east_asian_width.rb +7 -8
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/unicode.rb +21 -15
- data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/version.rb +3 -0
- data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline.rb +2 -3
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/NEWS.md +145 -1
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attribute.rb +7 -8
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/cdata.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/child.rb +2 -3
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/comment.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/doctype.rb +3 -8
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/document.rb +21 -5
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/element.rb +53 -59
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/encoding.rb +3 -6
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/functions.rb +3 -3
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/instruction.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/namespace.rb +4 -4
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/node.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/baseparser.rb +143 -81
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/xpathparser.rb +4 -4
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/quickpath.rb +19 -18
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/rexml.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/security.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/source.rb +7 -2
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/text.rb +14 -17
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/relaxng.rb +27 -26
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validation.rb +8 -8
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath.rb +2 -13
- data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath_parser.rb +44 -42
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/History.rdoc +8 -0
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/pt_testcase.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/CHANGES +4 -0
- data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/encoding.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/version.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/template.rb +6 -1
- data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/CHANGELOG.md +8 -0
- data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/README.md +5 -5
- data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/constants.rb +2 -2
- data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/emoji_support.rb +5 -2
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/CHANGELOG.md +5 -0
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/Gemfile.lock +1 -1
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/README.md +4 -4
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/constants.rb +3 -3
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex.rb +8 -0
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_basic.rb +1 -1
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_prop_emoji.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_prop_presentation.rb +1 -1
- data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_text.rb +1 -1
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
- data/lib/brakeman/app_tree.rb +56 -9
- data/lib/brakeman/checks/base_check.rb +5 -2
- data/lib/brakeman/checks/check_eol_rails.rb +1 -0
- data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
- data/lib/brakeman/checks/check_render.rb +5 -0
- data/lib/brakeman/checks/check_sql.rb +9 -2
- data/lib/brakeman/commandline.rb +5 -0
- data/lib/brakeman/file_path.rb +4 -0
- data/lib/brakeman/messages.rb +1 -1
- data/lib/brakeman/options.rb +4 -0
- data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
- data/lib/brakeman/parsers/template_parser.rb +32 -7
- data/lib/brakeman/processor.rb +2 -0
- data/lib/brakeman/processors/alias_processor.rb +9 -0
- data/lib/brakeman/processors/base_processor.rb +2 -0
- data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
- data/lib/brakeman/processors/haml_template_processor.rb +8 -2
- data/lib/brakeman/processors/lib/render_helper.rb +38 -1
- data/lib/brakeman/processors/template_processor.rb +1 -1
- data/lib/brakeman/report/pager.rb +1 -1
- data/lib/brakeman/report/report_html.rb +1 -1
- data/lib/brakeman/report/report_junit.rb +4 -57
- data/lib/brakeman/report/templates/header.html.erb +8 -3
- data/lib/brakeman/report/templates/ignored_warnings.html.erb +3 -3
- data/lib/brakeman/tracker.rb +6 -0
- data/lib/brakeman/version.rb +1 -1
- data/lib/brakeman.rb +4 -0
- metadata +327 -306
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/Gemfile +0 -16
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/TODO +0 -24
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/haml.gemspec +0 -45
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -219
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -237
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -150
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/buffer.rb +0 -182
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/compiler.rb +0 -330
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/engine.rb +0 -238
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/escapable.rb +0 -77
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/exec.rb +0 -347
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/filters.rb +0 -399
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/generator.rb +0 -42
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -60
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -132
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -60
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -20
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -33
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -114
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/helpers.rb +0 -709
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/options.rb +0 -273
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/plugin.rb +0 -54
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/railtie.rb +0 -53
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -47
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/template/options.rb +0 -27
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/template.rb +0 -39
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -124
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/lib/haml.rb +0 -25
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -15
- data/bundle/ruby/3.1.0/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -12
- data/bundle/ruby/3.1.0/gems/parallel-1.26.3/lib/parallel/version.rb +0 -4
- data/bundle/ruby/3.1.0/gems/reline-0.6.1/lib/reline/version.rb +0 -3
- data/bundle/ruby/3.1.0/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +0 -8
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/README.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/core_ext/array.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/core_ext/string.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/fields_converter.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/input_record_separator.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/row.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/table.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv/writer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{csv-3.3.3 → csv-3.3.5}/lib/csv.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{parallel-1.26.3 → parallel-1.27.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/BSDL +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/COPYING +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/README.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/face.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/history.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/io/dumb.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/io/windows.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor/base.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor/composite.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor/vi_command.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor/vi_insert.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_actor.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/key_stroke.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/kill_ring.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/license_of_rb-readline +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/README.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/dtd.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/elementdecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/entitydecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/notationdecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/entity.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/default.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/pretty.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/transitive.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/light/node.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/output.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parent.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parseexception.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/lightparser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/pullparser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/sax2parser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/streamparser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/treeparser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/ultralightparser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/sax2listener.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/streamlistener.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/undefinednamespaceexception.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validationexception.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmldecl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmltokens.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/Manifest.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/README.rdoc +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/sexp.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/strict_sexp.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.4}/lib/unique.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/Gemfile +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/LICENSE +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/README.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/engine.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/engine.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/parser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/template.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/trimming.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/exceptions.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filter.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/ambles.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/code_merger.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/control_flow.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_inliner.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_merger.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/eraser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/escapable.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/multi_flattener.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/remove_bom.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_merger.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/string_splitter.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/validator.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generator.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array_buffer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/erb.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/rails_output_buffer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/string_buffer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/grammar.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_merger.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_remover.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_sorter.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/dispatcher.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/fast.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/filter.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/pretty.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/safe.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/map.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/dispatcher.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/engine_dsl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/grammar_dsl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/options.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/template.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/parser.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/rails.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/tilt.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/utils.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{temple-0.10.3 → temple-0.10.4}/temple.gemspec +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/COPYING +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/_emacs_org.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/_handlebars.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/_jbuilder.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/_org.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/asciidoc.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/babel.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/builder.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/cli.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/coffee.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/commonmarker.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/creole.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/csv.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/erb.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/erubi.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/etanni.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/haml.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/kramdown.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/liquid.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/livescript.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/mapping.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/markaby.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/nokogiri.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/pandoc.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/pipeline.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/plain.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/prawn.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/radius.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/rdiscount.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/rdoc.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/redcarpet.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/redcloth.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/rst-pandoc.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/sass.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/slim.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/string.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/typescript.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{tilt-2.6.0 → tilt-2.6.1}/lib/tilt/yajl.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/index.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/no_string_ext.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/reline_ext.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/string_ext.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/CODE_OF_CONDUCT.md +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/Gemfile +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/data/generate_constants.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_basic.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_picto.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_possible.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_text.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_valid.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_well_formed.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/index.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/lazy_constants.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji/list.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/lib/unicode/emoji.rb +0 -0
- /data/bundle/ruby/3.1.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.1.0}/unicode-emoji.gemspec +0 -0
|
@@ -14,6 +14,24 @@ module Haml
|
|
|
14
14
|
module Util
|
|
15
15
|
extend self
|
|
16
16
|
|
|
17
|
+
begin # Ruby 3.2+ or ERB 4+
|
|
18
|
+
require 'erb/escape'
|
|
19
|
+
|
|
20
|
+
define_singleton_method(:escape_html, ERB::Escape.instance_method(:html_escape))
|
|
21
|
+
rescue LoadError
|
|
22
|
+
require 'cgi/escape'
|
|
23
|
+
|
|
24
|
+
def self.escape_html(html)
|
|
25
|
+
CGI.escapeHTML(html.to_s)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# TODO: Remove unescape_interpolation's workaround and get rid of `respond_to?`.
|
|
30
|
+
def self.escape_html_safe(html)
|
|
31
|
+
html = html.to_s
|
|
32
|
+
(html.respond_to?(:html_safe?) && html.html_safe?) ? html : escape_html(html)
|
|
33
|
+
end
|
|
34
|
+
|
|
17
35
|
# Silence all output to STDERR within a block.
|
|
18
36
|
#
|
|
19
37
|
# @yield A block in which no output will be printed to STDERR
|
|
@@ -35,20 +53,6 @@ module Haml
|
|
|
35
53
|
false
|
|
36
54
|
end
|
|
37
55
|
|
|
38
|
-
# Returns the given text, marked as being HTML-safe.
|
|
39
|
-
# With older versions of the Rails XSS-safety mechanism,
|
|
40
|
-
# this destructively modifies the HTML-safety of `text`.
|
|
41
|
-
#
|
|
42
|
-
# It only works if you are using ActiveSupport or the parameter `text`
|
|
43
|
-
# implements the #html_safe method.
|
|
44
|
-
#
|
|
45
|
-
# @param text [String, nil]
|
|
46
|
-
# @return [String, nil] `text`, marked as HTML-safe
|
|
47
|
-
def html_safe(text)
|
|
48
|
-
return unless text
|
|
49
|
-
text.html_safe
|
|
50
|
-
end
|
|
51
|
-
|
|
52
56
|
# Checks that the encoding of a string is valid
|
|
53
57
|
# and cleans up potential encoding gotchas like the UTF-8 BOM.
|
|
54
58
|
# If it's not, yields an error string describing the invalid character
|
|
@@ -214,7 +218,7 @@ MSG
|
|
|
214
218
|
end
|
|
215
219
|
content = eval("\"#{interpolated}\"")
|
|
216
220
|
content = "#{char}#{content}" if char == '@' || char == '$'
|
|
217
|
-
content = "Haml::
|
|
221
|
+
content = "Haml::Util.escape_html_safe((#{content}).to_s)" if escape_html
|
|
218
222
|
|
|
219
223
|
res << "\#{#{content}}"
|
|
220
224
|
end
|
|
@@ -255,7 +255,7 @@ module Parallel
|
|
|
255
255
|
|
|
256
256
|
if options[:in_processes] && options[:in_threads]
|
|
257
257
|
raise ArgumentError, "Please specify only one of `in_processes` or `in_threads`."
|
|
258
|
-
elsif RUBY_PLATFORM =~ (/java/) && !
|
|
258
|
+
elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
|
|
259
259
|
method = :in_threads
|
|
260
260
|
size = options[method] || processor_count
|
|
261
261
|
elsif options[:in_threads]
|
|
@@ -177,6 +177,11 @@ class Reline::Config
|
|
|
177
177
|
if_stack = []
|
|
178
178
|
|
|
179
179
|
lines.each_with_index do |line, no|
|
|
180
|
+
# Even after encoding conversion, we need to verify the encoding is valid
|
|
181
|
+
# as some invalid byte sequences might pass through the conversion.
|
|
182
|
+
unless line.valid_encoding?
|
|
183
|
+
raise InvalidInputrc, "#{file}:#{no + 1}: can't be converted to the locale #{Reline.encoding_system_needs.name}"
|
|
184
|
+
end
|
|
180
185
|
next if line.match(/\A\s*#/)
|
|
181
186
|
|
|
182
187
|
no += 1
|
|
@@ -124,6 +124,10 @@ class Reline::ANSI < Reline::IO
|
|
|
124
124
|
Reline.core.line_editor.handle_signal
|
|
125
125
|
end
|
|
126
126
|
c = @input.getbyte
|
|
127
|
+
|
|
128
|
+
# When "Escape non-ASCII Input with Control-V" is enabled in macOS Terminal.app,
|
|
129
|
+
# all non-ascii bytes are automatically escaped with `C-v`.
|
|
130
|
+
# "\xE3\x81\x82" (U+3042) becomes "\x16\xE3\x16\x81\x16\x82".
|
|
127
131
|
(c == 0x16 && @input.tty? && @input.raw(min: 0, time: 0, &:getbyte)) || c
|
|
128
132
|
rescue Errno::EIO
|
|
129
133
|
# Maybe the I/O has been closed.
|
|
@@ -180,14 +184,14 @@ class Reline::ANSI < Reline::IO
|
|
|
180
184
|
s = [ENV["LINES"].to_i, ENV["COLUMNS"].to_i]
|
|
181
185
|
return s if s[0] > 0 && s[1] > 0
|
|
182
186
|
[24, 80]
|
|
183
|
-
rescue
|
|
187
|
+
rescue SystemCallError
|
|
184
188
|
[24, 80]
|
|
185
189
|
end
|
|
186
190
|
|
|
187
191
|
def set_screen_size(rows, columns)
|
|
188
192
|
@input.winsize = [rows, columns]
|
|
189
193
|
self
|
|
190
|
-
rescue
|
|
194
|
+
rescue SystemCallError
|
|
191
195
|
self
|
|
192
196
|
end
|
|
193
197
|
|
|
@@ -295,7 +299,7 @@ class Reline::ANSI < Reline::IO
|
|
|
295
299
|
# Signal.trap may raise an ArgumentError if the platform doesn't support the signal.
|
|
296
300
|
end
|
|
297
301
|
|
|
298
|
-
def read_single_char(
|
|
302
|
+
def read_single_char(timeout_second)
|
|
299
303
|
# Disable intr to read `C-c` `C-z` `C-\` for quoted insert
|
|
300
304
|
@input.raw(intr: false) do
|
|
301
305
|
super
|
|
@@ -37,10 +37,10 @@ module Reline
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
# Read a single encoding valid character from the input.
|
|
40
|
-
def read_single_char(
|
|
40
|
+
def read_single_char(timeout_second)
|
|
41
41
|
buffer = String.new(encoding: Encoding::ASCII_8BIT)
|
|
42
42
|
loop do
|
|
43
|
-
timeout = buffer.empty? ? Float::INFINITY :
|
|
43
|
+
timeout = buffer.empty? ? Float::INFINITY : timeout_second
|
|
44
44
|
c = getc(timeout)
|
|
45
45
|
return unless c
|
|
46
46
|
|
|
@@ -470,14 +470,6 @@ class Reline::LineEditor
|
|
|
470
470
|
end
|
|
471
471
|
end
|
|
472
472
|
|
|
473
|
-
def print_nomultiline_prompt
|
|
474
|
-
Reline::IOGate.disable_auto_linewrap(true) if Reline::IOGate.win?
|
|
475
|
-
# Readline's test `TestRelineAsReadline#test_readline` requires first output to be prompt, not cursor reset escape sequence.
|
|
476
|
-
Reline::IOGate.write Reline::Unicode.strip_non_printing_start_end(@prompt) if @prompt && !@is_multiline
|
|
477
|
-
ensure
|
|
478
|
-
Reline::IOGate.disable_auto_linewrap(false) if Reline::IOGate.win?
|
|
479
|
-
end
|
|
480
|
-
|
|
481
473
|
def render
|
|
482
474
|
wrapped_cursor_x, wrapped_cursor_y = wrapped_cursor_position
|
|
483
475
|
new_lines = wrapped_prompt_and_input_lines.flatten(1)[screen_scroll_top, screen_height].map do |prompt, line|
|
|
@@ -1654,6 +1646,16 @@ class Reline::LineEditor
|
|
|
1654
1646
|
end
|
|
1655
1647
|
alias_method :next_history, :ed_next_history
|
|
1656
1648
|
|
|
1649
|
+
private def ed_beginning_of_history(key)
|
|
1650
|
+
move_history(0, line: :end, cursor: :end)
|
|
1651
|
+
end
|
|
1652
|
+
alias_method :beginning_of_history, :ed_beginning_of_history
|
|
1653
|
+
|
|
1654
|
+
private def ed_end_of_history(key)
|
|
1655
|
+
move_history(Reline::HISTORY.size, line: :end, cursor: :end)
|
|
1656
|
+
end
|
|
1657
|
+
alias_method :end_of_history, :ed_end_of_history
|
|
1658
|
+
|
|
1657
1659
|
private def ed_newline(key)
|
|
1658
1660
|
process_insert(force: true)
|
|
1659
1661
|
if @is_multiline
|
data/bundle/ruby/3.1.0/gems/{reline-0.6.1 → reline-0.6.2}/lib/reline/unicode/east_asian_width.rb
RENAMED
|
@@ -129,7 +129,7 @@ class Reline::Unicode::EastAsianWidth
|
|
|
129
129
|
[0x450, 1],
|
|
130
130
|
[0x451, -1],
|
|
131
131
|
[0x482, 1],
|
|
132
|
-
[
|
|
132
|
+
[0x489, 0],
|
|
133
133
|
[0x590, 1],
|
|
134
134
|
[0x5bd, 0],
|
|
135
135
|
[0x5be, 1],
|
|
@@ -356,6 +356,7 @@ class Reline::Unicode::EastAsianWidth
|
|
|
356
356
|
[0x109d, 0],
|
|
357
357
|
[0x10ff, 1],
|
|
358
358
|
[0x115f, 2],
|
|
359
|
+
[0x11ff, 0],
|
|
359
360
|
[0x135c, 1],
|
|
360
361
|
[0x135f, 0],
|
|
361
362
|
[0x1711, 1],
|
|
@@ -411,8 +412,6 @@ class Reline::Unicode::EastAsianWidth
|
|
|
411
412
|
[0x1a7e, 1],
|
|
412
413
|
[0x1a7f, 0],
|
|
413
414
|
[0x1aaf, 1],
|
|
414
|
-
[0x1abd, 0],
|
|
415
|
-
[0x1abe, 1],
|
|
416
415
|
[0x1ace, 0],
|
|
417
416
|
[0x1aff, 1],
|
|
418
417
|
[0x1b03, 0],
|
|
@@ -491,10 +490,6 @@ class Reline::Unicode::EastAsianWidth
|
|
|
491
490
|
[0x20ab, 1],
|
|
492
491
|
[0x20ac, -1],
|
|
493
492
|
[0x20cf, 1],
|
|
494
|
-
[0x20dc, 0],
|
|
495
|
-
[0x20e0, 1],
|
|
496
|
-
[0x20e1, 0],
|
|
497
|
-
[0x20e4, 1],
|
|
498
493
|
[0x20f0, 0],
|
|
499
494
|
[0x2102, 1],
|
|
500
495
|
[0x2103, -1],
|
|
@@ -767,7 +762,7 @@ class Reline::Unicode::EastAsianWidth
|
|
|
767
762
|
[0xa48f, 1],
|
|
768
763
|
[0xa4c6, 2],
|
|
769
764
|
[0xa66e, 1],
|
|
770
|
-
[
|
|
765
|
+
[0xa672, 0],
|
|
771
766
|
[0xa673, 1],
|
|
772
767
|
[0xa67d, 0],
|
|
773
768
|
[0xa69d, 1],
|
|
@@ -840,6 +835,10 @@ class Reline::Unicode::EastAsianWidth
|
|
|
840
835
|
[0xabed, 0],
|
|
841
836
|
[0xabff, 1],
|
|
842
837
|
[0xd7a3, 2],
|
|
838
|
+
[0xd7af, 1],
|
|
839
|
+
[0xd7c6, 0],
|
|
840
|
+
[0xd7ca, 1],
|
|
841
|
+
[0xd7fb, 0],
|
|
843
842
|
[0xdfff, 1],
|
|
844
843
|
[0xf8ff, -1],
|
|
845
844
|
[0xfaff, 2],
|
|
@@ -72,26 +72,32 @@ class Reline::Unicode
|
|
|
72
72
|
|
|
73
73
|
require 'reline/unicode/east_asian_width'
|
|
74
74
|
|
|
75
|
+
def self.east_asian_width(ord)
|
|
76
|
+
chunk_index = EastAsianWidth::CHUNK_LAST.bsearch_index { |o| ord <= o }
|
|
77
|
+
size = EastAsianWidth::CHUNK_WIDTH[chunk_index]
|
|
78
|
+
size == -1 ? Reline.ambiguous_width : size
|
|
79
|
+
end
|
|
80
|
+
|
|
75
81
|
def self.get_mbchar_width(mbchar)
|
|
76
82
|
ord = mbchar.ord
|
|
77
83
|
if ord <= 0x1F # in EscapedPairs
|
|
78
84
|
return 2
|
|
79
|
-
elsif ord <= 0x7E # printable ASCII chars
|
|
85
|
+
elsif mbchar.length == 1 && ord <= 0x7E # printable ASCII chars
|
|
80
86
|
return 1
|
|
81
87
|
end
|
|
88
|
+
|
|
82
89
|
utf8_mbchar = mbchar.encode(Encoding::UTF_8)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
size
|
|
90
|
+
zwj = false
|
|
91
|
+
utf8_mbchar.chars.sum do |c|
|
|
92
|
+
if zwj
|
|
93
|
+
zwj = false
|
|
94
|
+
0
|
|
95
|
+
elsif c.ord == 0x200D # Zero Width Joiner
|
|
96
|
+
zwj = true
|
|
97
|
+
0
|
|
98
|
+
else
|
|
99
|
+
east_asian_width(c.ord)
|
|
100
|
+
end
|
|
95
101
|
end
|
|
96
102
|
end
|
|
97
103
|
|
|
@@ -214,7 +220,7 @@ class Reline::Unicode
|
|
|
214
220
|
next
|
|
215
221
|
elsif padding && !cover_begin && prev_width < start_col && start_col < total_width
|
|
216
222
|
# Add preceding padding. This padding might have background color.
|
|
217
|
-
chunk << ' '
|
|
223
|
+
chunk << ' ' * (total_width - start_col)
|
|
218
224
|
chunk_start_col ||= start_col
|
|
219
225
|
chunk_end_col = total_width
|
|
220
226
|
next
|
|
@@ -228,7 +234,7 @@ class Reline::Unicode
|
|
|
228
234
|
# Current character exceeds end_col
|
|
229
235
|
if padding && end_col < total_width
|
|
230
236
|
# Add succeeding padding. This padding might have background color.
|
|
231
|
-
chunk << ' '
|
|
237
|
+
chunk << ' ' * (end_col - prev_width)
|
|
232
238
|
chunk_start_col ||= prev_width
|
|
233
239
|
chunk_end_col = end_col
|
|
234
240
|
end
|
|
@@ -324,8 +324,6 @@ module Reline
|
|
|
324
324
|
line_editor.auto_indent_proc = auto_indent_proc
|
|
325
325
|
line_editor.dig_perfect_match_proc = dig_perfect_match_proc
|
|
326
326
|
|
|
327
|
-
# Readline calls pre_input_hook just after printing the first prompt.
|
|
328
|
-
line_editor.print_nomultiline_prompt
|
|
329
327
|
pre_input_hook&.call
|
|
330
328
|
|
|
331
329
|
unless Reline::IOGate.dumb?
|
|
@@ -347,7 +345,8 @@ module Reline
|
|
|
347
345
|
# io_gate is Reline::ANSI because the key :bracketed_paste_start is only assigned in Reline::ANSI
|
|
348
346
|
key = Reline::Key.new(io_gate.read_bracketed_paste, :insert_multiline_text)
|
|
349
347
|
when :quoted_insert, :ed_quoted_insert
|
|
350
|
-
|
|
348
|
+
char = io_gate.read_single_char(config.keyseq_timeout.fdiv(1000))
|
|
349
|
+
key = Reline::Key.new(char || '', :insert_raw_char)
|
|
351
350
|
end
|
|
352
351
|
line_editor.set_pasting_state(io_gate.in_pasting?)
|
|
353
352
|
line_editor.update(key)
|
|
@@ -1,5 +1,149 @@
|
|
|
1
1
|
# News
|
|
2
2
|
|
|
3
|
+
## 3.4.4 - 2025-09-10 {#version-3-4-4}
|
|
4
|
+
|
|
5
|
+
### Improvement
|
|
6
|
+
|
|
7
|
+
* Accept `REXML::Document.new("")` for backward compatibility
|
|
8
|
+
* GH-296
|
|
9
|
+
* GH-295
|
|
10
|
+
* Patch by NAITOH Jun
|
|
11
|
+
* Reported by Joe Rafaniello
|
|
12
|
+
|
|
13
|
+
### Thanks
|
|
14
|
+
|
|
15
|
+
* NAITOH Jun
|
|
16
|
+
|
|
17
|
+
* Joe Rafaniello
|
|
18
|
+
|
|
19
|
+
## 3.4.3 - 2025-09-07 {#version-3-4-3}
|
|
20
|
+
|
|
21
|
+
### Improvement
|
|
22
|
+
|
|
23
|
+
* Reject no root element XML as an invalid XML
|
|
24
|
+
* GH-289
|
|
25
|
+
* GH-291
|
|
26
|
+
* Patch by NAITOH Jun
|
|
27
|
+
* Reported by Sutou Kouhei
|
|
28
|
+
|
|
29
|
+
### Fixes
|
|
30
|
+
|
|
31
|
+
* Fixed an issue with `IOSource#read_until` when reaching the end of a file
|
|
32
|
+
* GH-287
|
|
33
|
+
* GH-288
|
|
34
|
+
* Patch by NAITOH Jun
|
|
35
|
+
* Reported by Jason Thomas
|
|
36
|
+
|
|
37
|
+
### Thanks
|
|
38
|
+
|
|
39
|
+
* NAITOH Jun
|
|
40
|
+
|
|
41
|
+
* Sutou Kouhei
|
|
42
|
+
|
|
43
|
+
* Jason Thomas
|
|
44
|
+
|
|
45
|
+
## 3.4.2 - 2025-08-26 {#version-3-4-2}
|
|
46
|
+
|
|
47
|
+
### Improvement
|
|
48
|
+
|
|
49
|
+
* Improved performance.
|
|
50
|
+
* GH-244
|
|
51
|
+
* GH-245
|
|
52
|
+
* GH-246
|
|
53
|
+
* GH-249
|
|
54
|
+
* GH-256
|
|
55
|
+
* Patch by NAITOH Jun
|
|
56
|
+
|
|
57
|
+
* Raise appropriate exception when failing to match start tag in DOCTYPE
|
|
58
|
+
* GH-247
|
|
59
|
+
* Patch by NAITOH Jun
|
|
60
|
+
|
|
61
|
+
* Deprecate accepting array as an element in XPath.match, first and each
|
|
62
|
+
* GH-252
|
|
63
|
+
* Patch by tomoya ishida
|
|
64
|
+
|
|
65
|
+
* Don't call needless encoding_updated
|
|
66
|
+
* GH-259
|
|
67
|
+
* Patch by Sutou Kouhei
|
|
68
|
+
|
|
69
|
+
* Reuse XPath::match
|
|
70
|
+
* GH-263
|
|
71
|
+
* Patch by pboling
|
|
72
|
+
|
|
73
|
+
* Cache redundant calls for doctype
|
|
74
|
+
* GH-264
|
|
75
|
+
* Patch by pboling
|
|
76
|
+
|
|
77
|
+
* Use Safe Navigation (&.) from Ruby 2.3
|
|
78
|
+
* GH-265
|
|
79
|
+
* Patch by pboling
|
|
80
|
+
|
|
81
|
+
* Remove redundant return statements
|
|
82
|
+
* GH-266
|
|
83
|
+
* Patch by pboling
|
|
84
|
+
|
|
85
|
+
* Added XML declaration check & Source#skip_spaces method
|
|
86
|
+
* GH-282
|
|
87
|
+
* Patch by NAITOH Jun
|
|
88
|
+
* Reported by Sofi Aberegg
|
|
89
|
+
|
|
90
|
+
### Fixes
|
|
91
|
+
|
|
92
|
+
* Fix docs typo
|
|
93
|
+
* GH-248
|
|
94
|
+
* Patch by James Coleman
|
|
95
|
+
|
|
96
|
+
* Fix reverse sort in xpath_parser
|
|
97
|
+
* GH-251
|
|
98
|
+
* Patch by tomoya ishida
|
|
99
|
+
|
|
100
|
+
* Fix duplicate responses in XPath following, following-sibling, preceding, preceding-sibling
|
|
101
|
+
* GH-255
|
|
102
|
+
* Patch by NAITOH Jun
|
|
103
|
+
|
|
104
|
+
* Fix wrong Encoding resolution
|
|
105
|
+
* GH-258
|
|
106
|
+
* Patch by Sutou Kouhei
|
|
107
|
+
|
|
108
|
+
* Handle nil when parsing fragment
|
|
109
|
+
* GH-267
|
|
110
|
+
* GH-268
|
|
111
|
+
* Patch by pboling
|
|
112
|
+
|
|
113
|
+
* [Documentation] Use # to reference instance methods
|
|
114
|
+
* GH-269
|
|
115
|
+
* GH-270
|
|
116
|
+
* Patch by pboling
|
|
117
|
+
|
|
118
|
+
* Fix & Deprecate REXML::Text#text_indent
|
|
119
|
+
* GH-273
|
|
120
|
+
* GH-275
|
|
121
|
+
* Patch by pboling
|
|
122
|
+
|
|
123
|
+
* remove bundler from dev deps
|
|
124
|
+
* GH-276
|
|
125
|
+
* GH-277
|
|
126
|
+
* Patch by pboling
|
|
127
|
+
|
|
128
|
+
* remove ostruct from dev deps
|
|
129
|
+
* GH-280
|
|
130
|
+
* GH-281
|
|
131
|
+
* Patch by pboling
|
|
132
|
+
|
|
133
|
+
### Thanks
|
|
134
|
+
|
|
135
|
+
* NAITOH Jun
|
|
136
|
+
|
|
137
|
+
* tomoya ishida
|
|
138
|
+
|
|
139
|
+
* James Coleman
|
|
140
|
+
|
|
141
|
+
* pboling
|
|
142
|
+
|
|
143
|
+
* Sutou Kouhei
|
|
144
|
+
|
|
145
|
+
* Sofi Aberegg
|
|
146
|
+
|
|
3
147
|
## 3.4.1 - 2025-02-16 {#version-3-4-1}
|
|
4
148
|
|
|
5
149
|
### Improvement
|
|
@@ -386,7 +530,7 @@
|
|
|
386
530
|
|
|
387
531
|
* Patch by NAITOH Jun.
|
|
388
532
|
|
|
389
|
-
* Improved parse performance when an attribute has many
|
|
533
|
+
* Improved parse performance when an attribute has many `>`s.
|
|
390
534
|
|
|
391
535
|
* GH-126
|
|
392
536
|
|
|
@@ -130,10 +130,7 @@ module REXML
|
|
|
130
130
|
end
|
|
131
131
|
|
|
132
132
|
def doctype
|
|
133
|
-
|
|
134
|
-
doc = @element.document
|
|
135
|
-
doc.doctype if doc
|
|
136
|
-
end
|
|
133
|
+
@element&.document&.doctype
|
|
137
134
|
end
|
|
138
135
|
|
|
139
136
|
# Returns the attribute value, with entities replaced
|
|
@@ -173,7 +170,7 @@ module REXML
|
|
|
173
170
|
@element = element
|
|
174
171
|
|
|
175
172
|
if @normalized
|
|
176
|
-
Text.check( @normalized, NEEDS_A_SECOND_CHECK
|
|
173
|
+
Text.check( @normalized, NEEDS_A_SECOND_CHECK )
|
|
177
174
|
end
|
|
178
175
|
|
|
179
176
|
self
|
|
@@ -202,9 +199,11 @@ module REXML
|
|
|
202
199
|
end
|
|
203
200
|
|
|
204
201
|
def xpath
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
202
|
+
@element.xpath + "/@#{self.expanded_name}"
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def document
|
|
206
|
+
@element&.document
|
|
208
207
|
end
|
|
209
208
|
end
|
|
210
209
|
end
|
|
@@ -58,7 +58,7 @@ module REXML
|
|
|
58
58
|
# c = CData.new( " Some text " )
|
|
59
59
|
# c.write( $stdout ) #-> <![CDATA[ Some text ]]>
|
|
60
60
|
def write( output=$stdout, indent=-1, transitive=false, ie_hack=false )
|
|
61
|
-
Kernel.warn( "#{self.class.name}
|
|
61
|
+
Kernel.warn( "#{self.class.name}#write is deprecated", uplevel: 1)
|
|
62
62
|
indent( output, indent )
|
|
63
63
|
output << START
|
|
64
64
|
output << @string
|
|
@@ -83,13 +83,12 @@ module REXML
|
|
|
83
83
|
# Returns:: the document this child belongs to, or nil if this child
|
|
84
84
|
# belongs to no document
|
|
85
85
|
def document
|
|
86
|
-
|
|
87
|
-
nil
|
|
86
|
+
parent&.document
|
|
88
87
|
end
|
|
89
88
|
|
|
90
89
|
# This doesn't yet handle encodings
|
|
91
90
|
def bytes
|
|
92
|
-
document
|
|
91
|
+
document&.encoding
|
|
93
92
|
|
|
94
93
|
to_s
|
|
95
94
|
end
|
|
@@ -48,7 +48,7 @@ module REXML
|
|
|
48
48
|
# ie_hack::
|
|
49
49
|
# Needed for conformity to the child API, but not used by this class.
|
|
50
50
|
def write( output, indent=-1, transitive=false, ie_hack=false )
|
|
51
|
-
Kernel.warn("
|
|
51
|
+
Kernel.warn("#{self.class.name}#write is deprecated. See REXML::Formatters", uplevel: 1)
|
|
52
52
|
indent( output, indent )
|
|
53
53
|
output << START
|
|
54
54
|
output << @string
|
|
@@ -171,15 +171,11 @@ module REXML
|
|
|
171
171
|
end
|
|
172
172
|
|
|
173
173
|
def context
|
|
174
|
-
|
|
175
|
-
@parent.context
|
|
176
|
-
else
|
|
177
|
-
nil
|
|
178
|
-
end
|
|
174
|
+
@parent&.context
|
|
179
175
|
end
|
|
180
176
|
|
|
181
177
|
def entity( name )
|
|
182
|
-
@entities[name]
|
|
178
|
+
@entities[name]&.unnormalized
|
|
183
179
|
end
|
|
184
180
|
|
|
185
181
|
def add child
|
|
@@ -288,8 +284,7 @@ module REXML
|
|
|
288
284
|
end
|
|
289
285
|
|
|
290
286
|
def to_s
|
|
291
|
-
context =
|
|
292
|
-
context = parent.context if parent
|
|
287
|
+
context = parent&.context
|
|
293
288
|
notation = "<!NOTATION #{@name}"
|
|
294
289
|
reference_writer = ReferenceWriter.new(@middle, @public, @system, context)
|
|
295
290
|
reference_writer.write(notation)
|
|
@@ -95,7 +95,9 @@ module REXML
|
|
|
95
95
|
@entity_expansion_text_limit = Security.entity_expansion_text_limit
|
|
96
96
|
super()
|
|
97
97
|
@context = context
|
|
98
|
-
|
|
98
|
+
# `source = ""` is an invalid usage because no root element XML is an invalid XML.
|
|
99
|
+
# But we accept `""` for backward compatibility.
|
|
100
|
+
return if source.nil? or source == ""
|
|
99
101
|
if source.kind_of? Document
|
|
100
102
|
@context = source.context
|
|
101
103
|
super source
|
|
@@ -309,8 +311,8 @@ module REXML
|
|
|
309
311
|
end
|
|
310
312
|
|
|
311
313
|
# :call-seq:
|
|
312
|
-
# doc.write(output=$stdout, indent=-1,
|
|
313
|
-
# doc.write(options={:output => $stdout, :indent => -1, :
|
|
314
|
+
# doc.write(output=$stdout, indent=-1, transitive=false, ie_hack=false, encoding=nil)
|
|
315
|
+
# doc.write(options={:output => $stdout, :indent => -1, :transitive => false, :ie_hack => false, :encoding => nil})
|
|
314
316
|
#
|
|
315
317
|
# Write the XML tree out, optionally with indent. This writes out the
|
|
316
318
|
# entire XML document, including XML declarations, doctype declarations,
|
|
@@ -415,7 +417,7 @@ module REXML
|
|
|
415
417
|
#
|
|
416
418
|
# Deprecated. Use REXML::Security.entity_expansion_limit= instead.
|
|
417
419
|
def Document::entity_expansion_limit
|
|
418
|
-
|
|
420
|
+
Security.entity_expansion_limit
|
|
419
421
|
end
|
|
420
422
|
|
|
421
423
|
# Set the entity expansion limit. By default the limit is set to 10240.
|
|
@@ -429,7 +431,7 @@ module REXML
|
|
|
429
431
|
#
|
|
430
432
|
# Deprecated. Use REXML::Security.entity_expansion_text_limit instead.
|
|
431
433
|
def Document::entity_expansion_text_limit
|
|
432
|
-
|
|
434
|
+
Security.entity_expansion_text_limit
|
|
433
435
|
end
|
|
434
436
|
|
|
435
437
|
attr_reader :entity_expansion_count
|
|
@@ -448,6 +450,20 @@ module REXML
|
|
|
448
450
|
end
|
|
449
451
|
|
|
450
452
|
private
|
|
453
|
+
|
|
454
|
+
attr_accessor :namespaces_cache
|
|
455
|
+
|
|
456
|
+
# New document level cache is created and available in this block.
|
|
457
|
+
# This API is thread unsafe. Users can't change this document in this block.
|
|
458
|
+
def enable_cache
|
|
459
|
+
@namespaces_cache = {}
|
|
460
|
+
begin
|
|
461
|
+
yield
|
|
462
|
+
ensure
|
|
463
|
+
@namespaces_cache = nil
|
|
464
|
+
end
|
|
465
|
+
end
|
|
466
|
+
|
|
451
467
|
def build( source )
|
|
452
468
|
Parsers::TreeParser.new( source, self ).parse
|
|
453
469
|
end
|