brakeman 7.1.0 → 7.1.2
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 +22 -1
- data/README.md +3 -3
- data/bundle/load.rb +8 -8
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/CHANGELOG.md +13 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/Gemfile +7 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/README.md +1 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/REFERENCE.md +9 -16
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/haml.gemspec +2 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_builder.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_compiler.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/plain.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/ruby.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/parser.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/rails_template.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/version.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/config.rb +5 -0
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/ansi.rb +7 -15
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/emacs.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/line_editor.rb +46 -44
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/unicode/east_asian_width.rb +7 -8
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/unicode.rb +22 -16
- data/bundle/ruby/3.2.0/gems/reline-0.6.3/lib/reline/version.rb +3 -0
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline.rb +2 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/NEWS.md +145 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attribute.rb +7 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/cdata.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/child.rb +2 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/comment.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/doctype.rb +3 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/document.rb +21 -5
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/element.rb +53 -59
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/encoding.rb +3 -6
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/functions.rb +3 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/instruction.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/namespace.rb +4 -4
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/node.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/baseparser.rb +143 -81
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/xpathparser.rb +4 -4
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/quickpath.rb +19 -18
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/rexml.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/security.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/source.rb +7 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/text.rb +14 -17
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/relaxng.rb +27 -26
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validation.rb +8 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath.rb +2 -13
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath_parser.rb +44 -42
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/History.rdoc +67 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/Manifest.txt +39 -0
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/README.rdoc +15 -3
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/compare/normalize.rb +19 -3
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/gauntlet.md +35 -5
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rb +9 -18
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rex.rb +1 -2
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_parser.rb +18 -14
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby_parser.yy → ruby_parser-3.22.0/lib/ruby_parser2.yy} +15 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby20_parser.rb → ruby_parser-3.22.0/lib/ruby_parser20.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby21_parser.rb → ruby_parser-3.22.0/lib/ruby_parser21.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby22_parser.rb → ruby_parser-3.22.0/lib/ruby_parser22.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby23_parser.rb → ruby_parser-3.22.0/lib/ruby_parser23.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby24_parser.rb → ruby_parser-3.22.0/lib/ruby_parser24.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby25_parser.rb → ruby_parser-3.22.0/lib/ruby_parser25.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby26_parser.rb → ruby_parser-3.22.0/lib/ruby_parser26.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby27_parser.rb → ruby_parser-3.22.0/lib/ruby_parser27.rb} +21 -24
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby3_parser.yy → ruby_parser-3.22.0/lib/ruby_parser3.yy} +214 -79
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby30_parser.rb → ruby_parser-3.22.0/lib/ruby_parser30.rb} +3339 -3351
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby31_parser.rb → ruby_parser-3.22.0/lib/ruby_parser31.rb} +3772 -3808
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser32.rb +13565 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser33.rb +13653 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser34.rb +13653 -0
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_parser_extras.rb +109 -60
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/History.rdoc +14 -0
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/pt_testcase.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/CHANGES +4 -0
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/encoding.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/version.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/CHANGELOG.md +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/README.md +5 -5
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.2.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.2.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.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/CHANGELOG.md +11 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/Gemfile +2 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/Gemfile.lock +5 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/README.md +4 -4
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/constants.rb +4 -3
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_basic.rb +1 -1
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_emoji.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_presentation.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_text.rb +1 -1
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/unicode-emoji.gemspec +1 -1
- data/lib/brakeman/app_tree.rb +40 -5
- data/lib/brakeman/checks/base_check.rb +5 -2
- data/lib/brakeman/checks/check_render.rb +5 -0
- data/lib/brakeman/checks/check_sql.rb +13 -4
- data/lib/brakeman/file_path.rb +4 -0
- data/lib/brakeman/processors/alias_processor.rb +9 -0
- data/lib/brakeman/processors/haml_template_processor.rb +10 -1
- data/lib/brakeman/processors/lib/rails2_config_processor.rb +1 -1
- data/lib/brakeman/processors/lib/rails3_config_processor.rb +1 -1
- data/lib/brakeman/report/pager.rb +1 -1
- data/lib/brakeman/report/templates/header.html.erb +1 -1
- data/lib/brakeman/version.rb +1 -1
- data/lib/ruby_parser/bm_sexp.rb +14 -0
- metadata +301 -310
- data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/version.rb +0 -3
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/Manifest.txt +0 -48
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -2707
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -2724
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -2735
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -2737
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -2745
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -2745
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -2760
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -3360
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -3508
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -3542
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -13601
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -3543
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +0 -8
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/FAQ.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/MIT-LICENSE +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/exe/haml +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/ambles.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/cli.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/children_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/comment_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/doctype_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/script_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/silent_script_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/tag_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/dynamic_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/error.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/escape.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/escape_any.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/cdata.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/coffee.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/css.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/erb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/escaped.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/javascript.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/less.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/markdown.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/preserve.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/sass.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/scss.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/text_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/tilt_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/force_escape.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/helpers.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/html.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/identity.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/object_ref.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/rails_helpers.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/railtie.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/ruby_expression.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/string_splitter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/temple_line_counter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/util.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/whitespace.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/BSDL +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/COPYING +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/face.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/history.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/dumb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/windows.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/composite.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/vi_command.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/vi_insert.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_stroke.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/kill_ring.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/license_of_rb-readline +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/dtd.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/elementdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/entitydecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/notationdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/entity.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/default.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/pretty.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/transitive.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/light/node.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/output.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parent.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parseexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/lightparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/pullparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/sax2parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/streamparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/treeparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/ultralightparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/sax2listener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/streamlistener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/undefinednamespaceexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validationexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmldecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmltokens.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/debugging.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/rp_extensions.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/rp_stringscanner.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rex +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer_strings.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/tools/munge.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/tools/ripper.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/Manifest.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/README.rdoc +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/strict_sexp.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/unique.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/Gemfile +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/LICENSE +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/trimming.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/exceptions.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/ambles.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/code_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/control_flow.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_inliner.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/eraser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/escapable.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/multi_flattener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/remove_bom.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/string_splitter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/validator.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generator.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/erb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/rails_output_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/string_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/grammar.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_remover.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_sorter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/dispatcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/fast.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/filter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/pretty.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/safe.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/map.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/dispatcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/engine_dsl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/grammar_dsl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/options.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/rails.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/tilt.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/utils.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/temple.gemspec +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.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.2.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.2.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.2.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.2.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.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/CODE_OF_CONDUCT.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/data/generate_constants.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_basic.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_picto.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_possible.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_valid.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_well_formed.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/index.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/lazy_constants.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/list.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji.rb +0 -0
data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_parser_extras.rb
RENAMED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# encoding: ASCII-8BIT
|
|
2
1
|
# frozen_string_literal: true
|
|
3
|
-
# TODO: remove encoding comment
|
|
4
2
|
|
|
5
3
|
require "sexp"
|
|
6
4
|
require "ruby_lexer"
|
|
@@ -30,11 +28,11 @@ class Sexp
|
|
|
30
28
|
end
|
|
31
29
|
|
|
32
30
|
module RubyParserStuff
|
|
33
|
-
VERSION = "3.
|
|
31
|
+
VERSION = "3.22.0"
|
|
34
32
|
|
|
35
33
|
attr_accessor :lexer, :in_def, :in_single, :file, :in_argdef
|
|
36
34
|
attr_accessor :in_kwarg
|
|
37
|
-
attr_reader :env
|
|
35
|
+
attr_reader :env
|
|
38
36
|
|
|
39
37
|
##
|
|
40
38
|
# Canonicalize conditionals. Eg:
|
|
@@ -92,8 +90,6 @@ module RubyParserStuff
|
|
|
92
90
|
[k, true]
|
|
93
91
|
}.to_h
|
|
94
92
|
|
|
95
|
-
has_enc = "".respond_to? :encoding
|
|
96
|
-
|
|
97
93
|
# This is in sorted order of occurrence according to
|
|
98
94
|
# charlock_holmes against 500k files, with UTF_8 forced
|
|
99
95
|
# to the top.
|
|
@@ -107,7 +103,7 @@ module RubyParserStuff
|
|
|
107
103
|
Encoding::SHIFT_JIS,
|
|
108
104
|
Encoding::WINDOWS_1252,
|
|
109
105
|
Encoding::EUC_JP
|
|
110
|
-
]
|
|
106
|
+
]
|
|
111
107
|
|
|
112
108
|
JUMP_TYPE = [:return, :next, :break, :yield].map { |k| [k, true] }.to_h
|
|
113
109
|
|
|
@@ -125,7 +121,6 @@ module RubyParserStuff
|
|
|
125
121
|
self.in_argdef = false
|
|
126
122
|
|
|
127
123
|
@env = RubyParserStuff::Environment.new
|
|
128
|
-
@comments = []
|
|
129
124
|
|
|
130
125
|
@canonicalize_conditions = true
|
|
131
126
|
|
|
@@ -225,8 +220,8 @@ module RubyParserStuff
|
|
|
225
220
|
end
|
|
226
221
|
|
|
227
222
|
def endless_method_name defn_or_defs
|
|
228
|
-
name = defn_or_defs
|
|
229
|
-
name =
|
|
223
|
+
_, name, maybe_name, * = defn_or_defs
|
|
224
|
+
name = maybe_name unless Symbol === name
|
|
230
225
|
|
|
231
226
|
if attrset_id? name then
|
|
232
227
|
yyerror "setter method cannot be defined in an endless method definition"
|
|
@@ -254,6 +249,36 @@ module RubyParserStuff
|
|
|
254
249
|
end
|
|
255
250
|
|
|
256
251
|
def assignable(lhs, value = nil)
|
|
252
|
+
id, line = lhs.last, lhs.line
|
|
253
|
+
|
|
254
|
+
result =
|
|
255
|
+
case lhs.sexp_type
|
|
256
|
+
when :const then
|
|
257
|
+
s(:cdecl, id)
|
|
258
|
+
when :cvar then
|
|
259
|
+
asgn = in_def || in_single > 0
|
|
260
|
+
s((asgn ? :cvasgn : :cvdecl), id)
|
|
261
|
+
when :gvar then
|
|
262
|
+
s(:gasgn, id)
|
|
263
|
+
when :ivar then
|
|
264
|
+
s(:iasgn, id)
|
|
265
|
+
else
|
|
266
|
+
case self.env[id]
|
|
267
|
+
when :lvar, :dvar, nil then
|
|
268
|
+
self.env[id] ||= :lvar
|
|
269
|
+
s(:lasgn, id)
|
|
270
|
+
else
|
|
271
|
+
raise "wtf? unknown type: #{self.env[id]}"
|
|
272
|
+
end
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
result << value if value
|
|
276
|
+
result.line line
|
|
277
|
+
|
|
278
|
+
result
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
def old_assignable(lhs, value = nil)
|
|
257
282
|
id, line = lhs
|
|
258
283
|
id = id.to_sym
|
|
259
284
|
|
|
@@ -339,7 +364,7 @@ module RubyParserStuff
|
|
|
339
364
|
when Sexp then
|
|
340
365
|
case arg.sexp_type
|
|
341
366
|
when :array, :args, :call_args then # HACK? remove array at some point
|
|
342
|
-
result.
|
|
367
|
+
result.sexp_body += arg.sexp_body
|
|
343
368
|
else
|
|
344
369
|
result << arg
|
|
345
370
|
end
|
|
@@ -567,14 +592,13 @@ module RubyParserStuff
|
|
|
567
592
|
|
|
568
593
|
def handle_encoding str
|
|
569
594
|
str = str.dup
|
|
570
|
-
has_enc = str.respond_to? :encoding
|
|
571
595
|
encoding = nil
|
|
572
596
|
|
|
573
597
|
header = str.each_line.first(2)
|
|
574
|
-
header.map! { |s| s.force_encoding "ASCII-8BIT" }
|
|
598
|
+
header.map! { |s| s.force_encoding "ASCII-8BIT" }
|
|
575
599
|
|
|
576
600
|
first = header.first || ""
|
|
577
|
-
encoding, str = +"utf-8", str.b[3..-1] if first =~ /\A\xEF\xBB\xBF/
|
|
601
|
+
encoding, str = +"utf-8", str.b[3..-1] if first =~ /\A\xEF\xBB\xBF/n
|
|
578
602
|
|
|
579
603
|
encoding = $1.strip if header.find { |s|
|
|
580
604
|
s[/^#.*?-\*-.*?coding:\s*([^ ;]+).*?-\*-/, 1] ||
|
|
@@ -582,15 +606,11 @@ module RubyParserStuff
|
|
|
582
606
|
}
|
|
583
607
|
|
|
584
608
|
if encoding then
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
hack_encoding str, encoding
|
|
588
|
-
else
|
|
589
|
-
warn "Skipping magic encoding comment"
|
|
590
|
-
end
|
|
609
|
+
encoding.sub!(/utf-8-.+$/, "utf-8") # HACK for stupid emacs formats
|
|
610
|
+
hack_encoding str, encoding
|
|
591
611
|
else
|
|
592
612
|
# nothing specified... ugh. try to encode as utf-8
|
|
593
|
-
hack_encoding str
|
|
613
|
+
hack_encoding str
|
|
594
614
|
end
|
|
595
615
|
|
|
596
616
|
str
|
|
@@ -645,13 +665,20 @@ module RubyParserStuff
|
|
|
645
665
|
when :dstr then
|
|
646
666
|
if htype == :str then
|
|
647
667
|
lineno = head.line
|
|
648
|
-
|
|
668
|
+
_, h1 = head
|
|
669
|
+
_, t1, *rest = tail
|
|
670
|
+
tail.sexp_body = [h1 + t1, *rest]
|
|
671
|
+
|
|
649
672
|
head = tail
|
|
650
673
|
head.line = lineno
|
|
651
674
|
else
|
|
652
675
|
tail.sexp_type = :array
|
|
653
|
-
|
|
654
|
-
|
|
676
|
+
_, tail_s, *tail_r = tail
|
|
677
|
+
if tail_s == "" then
|
|
678
|
+
tail.sexp_body = tail_r
|
|
679
|
+
else
|
|
680
|
+
tail.sexp_body = [s(:str, tail_s).line(tail.line), *tail_r]
|
|
681
|
+
end
|
|
655
682
|
|
|
656
683
|
head.push(*tail.sexp_body)
|
|
657
684
|
end
|
|
@@ -663,8 +690,11 @@ module RubyParserStuff
|
|
|
663
690
|
head.line = l
|
|
664
691
|
end
|
|
665
692
|
|
|
666
|
-
|
|
667
|
-
|
|
693
|
+
_, t1, * = tail
|
|
694
|
+
if head.size == 2 and tail.size > 1 and t1.sexp_type == :str then
|
|
695
|
+
_, h1 = head
|
|
696
|
+
head.sexp_body = [h1.dup] if h1.frozen? # this is dumb
|
|
697
|
+
head.last << t1.last
|
|
668
698
|
head.sexp_type = :str if head.size == 2 # HACK ?
|
|
669
699
|
else
|
|
670
700
|
head.push(tail)
|
|
@@ -846,7 +876,7 @@ module RubyParserStuff
|
|
|
846
876
|
|
|
847
877
|
while res do
|
|
848
878
|
result << res
|
|
849
|
-
res = res.resbody
|
|
879
|
+
res = res.find_node :resbody, :delete
|
|
850
880
|
end
|
|
851
881
|
|
|
852
882
|
result << elsebody if elsebody
|
|
@@ -915,8 +945,9 @@ module RubyParserStuff
|
|
|
915
945
|
body = body.delete_at 3
|
|
916
946
|
end
|
|
917
947
|
|
|
918
|
-
|
|
919
|
-
|
|
948
|
+
_, _expr, *cases = result
|
|
949
|
+
cases.each do |node|
|
|
950
|
+
block = node.find_node :block, :delete
|
|
920
951
|
node.concat block.sexp_body if block
|
|
921
952
|
end
|
|
922
953
|
|
|
@@ -929,7 +960,7 @@ module RubyParserStuff
|
|
|
929
960
|
end
|
|
930
961
|
|
|
931
962
|
def new_class val
|
|
932
|
-
(_, line), path, superclass, _, body, (_, line_max) = val
|
|
963
|
+
(_, line, comment), path, superclass, _, body, (_, line_max) = val
|
|
933
964
|
|
|
934
965
|
path = path.first if path.instance_of? Array
|
|
935
966
|
|
|
@@ -945,7 +976,7 @@ module RubyParserStuff
|
|
|
945
976
|
|
|
946
977
|
result.line = line
|
|
947
978
|
result.line_max = line_max
|
|
948
|
-
result.comments =
|
|
979
|
+
result.comments = comment if comment
|
|
949
980
|
result
|
|
950
981
|
end
|
|
951
982
|
|
|
@@ -973,7 +1004,11 @@ module RubyParserStuff
|
|
|
973
1004
|
end
|
|
974
1005
|
|
|
975
1006
|
def new_defn val
|
|
976
|
-
|
|
1007
|
+
if val.size == 4 then
|
|
1008
|
+
((_, line, comment), (name, _line, in_def)), args, body, (_, line_max) = val
|
|
1009
|
+
else
|
|
1010
|
+
(_, line, comment), (name, line), in_def, args, body, (_, line_max) = val
|
|
1011
|
+
end
|
|
977
1012
|
|
|
978
1013
|
body ||= s(:nil).line line
|
|
979
1014
|
|
|
@@ -988,13 +1023,14 @@ module RubyParserStuff
|
|
|
988
1023
|
result.push body
|
|
989
1024
|
end
|
|
990
1025
|
|
|
991
|
-
result.comments =
|
|
1026
|
+
result.comments = comment if comment
|
|
992
1027
|
|
|
993
1028
|
[result, in_def]
|
|
994
1029
|
end
|
|
995
1030
|
|
|
996
1031
|
def new_endless_defn val
|
|
997
|
-
|
|
1032
|
+
# not available in 2.x so we don't need to check size
|
|
1033
|
+
((_, line, comment), (name, _, in_def)), args, _, body, _, resbody = val
|
|
998
1034
|
|
|
999
1035
|
result =
|
|
1000
1036
|
if resbody then
|
|
@@ -1009,13 +1045,15 @@ module RubyParserStuff
|
|
|
1009
1045
|
local_pop in_def
|
|
1010
1046
|
endless_method_name result
|
|
1011
1047
|
|
|
1012
|
-
result.comments =
|
|
1048
|
+
result.comments = comment if comment
|
|
1013
1049
|
|
|
1014
1050
|
result
|
|
1015
1051
|
end
|
|
1016
1052
|
|
|
1017
1053
|
def new_endless_defs val
|
|
1018
|
-
|
|
1054
|
+
# not available in 2.x so we don't need to check size
|
|
1055
|
+
((_, line, comment), recv, _, _, (name, line, in_def)), \
|
|
1056
|
+
args, _, body, _, resbody = val
|
|
1019
1057
|
|
|
1020
1058
|
result =
|
|
1021
1059
|
if resbody then
|
|
@@ -1031,13 +1069,19 @@ module RubyParserStuff
|
|
|
1031
1069
|
local_pop in_def
|
|
1032
1070
|
endless_method_name result
|
|
1033
1071
|
|
|
1034
|
-
result.comments =
|
|
1072
|
+
result.comments = comment if comment
|
|
1035
1073
|
|
|
1036
1074
|
result
|
|
1037
1075
|
end
|
|
1038
1076
|
|
|
1039
1077
|
def new_defs val
|
|
1040
|
-
|
|
1078
|
+
if val.size == 4 then
|
|
1079
|
+
((_, line, comment), recv, _, _, (name, line, in_def)), \
|
|
1080
|
+
args, body, (_, line_max) = val
|
|
1081
|
+
else
|
|
1082
|
+
(_, line, comment), recv, (name, _), in_def, \
|
|
1083
|
+
args, body, (_, line_max) = val
|
|
1084
|
+
end
|
|
1041
1085
|
|
|
1042
1086
|
body ||= s(:nil).line line
|
|
1043
1087
|
|
|
@@ -1055,7 +1099,7 @@ module RubyParserStuff
|
|
|
1055
1099
|
result.push body
|
|
1056
1100
|
end
|
|
1057
1101
|
|
|
1058
|
-
result.comments =
|
|
1102
|
+
result.comments = comment if comment
|
|
1059
1103
|
|
|
1060
1104
|
[result, in_def]
|
|
1061
1105
|
end
|
|
@@ -1115,8 +1159,7 @@ module RubyParserStuff
|
|
|
1115
1159
|
|
|
1116
1160
|
if kw_rest_arg then
|
|
1117
1161
|
name = kw_rest_arg.value
|
|
1118
|
-
|
|
1119
|
-
assignable [name, kw_rest_arg.line] if name != :**
|
|
1162
|
+
assignable kw_rest_arg if name != :**
|
|
1120
1163
|
result << kw_rest_arg
|
|
1121
1164
|
end
|
|
1122
1165
|
|
|
@@ -1209,7 +1252,7 @@ module RubyParserStuff
|
|
|
1209
1252
|
end
|
|
1210
1253
|
|
|
1211
1254
|
def new_module val
|
|
1212
|
-
(_, line_min), path, _, body, (_, line_max) = val
|
|
1255
|
+
(_, line_min, comment), path, _, body, (_, line_max) = val
|
|
1213
1256
|
|
|
1214
1257
|
path = path.first if path.instance_of? Array
|
|
1215
1258
|
|
|
@@ -1224,7 +1267,7 @@ module RubyParserStuff
|
|
|
1224
1267
|
end
|
|
1225
1268
|
end
|
|
1226
1269
|
|
|
1227
|
-
result.comments =
|
|
1270
|
+
result.comments = comment if comment
|
|
1228
1271
|
result
|
|
1229
1272
|
end
|
|
1230
1273
|
|
|
@@ -1319,23 +1362,25 @@ module RubyParserStuff
|
|
|
1319
1362
|
|
|
1320
1363
|
case node.sexp_type
|
|
1321
1364
|
when :str then
|
|
1365
|
+
_, str = node
|
|
1322
1366
|
node.sexp_type = :lit
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
end
|
|
1337
|
-
end
|
|
1367
|
+
val = if k then
|
|
1368
|
+
Regexp.new(str, o, k)
|
|
1369
|
+
else
|
|
1370
|
+
begin
|
|
1371
|
+
Regexp.new(str, o)
|
|
1372
|
+
rescue RegexpError => e
|
|
1373
|
+
warn "WARNING: #{e.message} for #{str.inspect} #{options.inspect}"
|
|
1374
|
+
begin
|
|
1375
|
+
warn "WARNING: trying to recover with ENC_UTF8"
|
|
1376
|
+
Regexp.new(str, Regexp::ENC_UTF8)
|
|
1377
|
+
rescue RegexpError => e
|
|
1378
|
+
warn "WARNING: trying to recover with ENC_NONE"
|
|
1379
|
+
Regexp.new(str, Regexp::ENC_NONE)
|
|
1338
1380
|
end
|
|
1381
|
+
end
|
|
1382
|
+
end
|
|
1383
|
+
node.sexp_body = [val]
|
|
1339
1384
|
when :dstr then
|
|
1340
1385
|
if options =~ /o/ then
|
|
1341
1386
|
node.sexp_type = :dregx_once
|
|
@@ -1518,11 +1563,16 @@ module RubyParserStuff
|
|
|
1518
1563
|
end
|
|
1519
1564
|
end
|
|
1520
1565
|
|
|
1566
|
+
KEEP_COMMENT_TOKENS = [:kCLASS, :kMODULE, :kDEF, :tNL]
|
|
1567
|
+
|
|
1521
1568
|
def next_token
|
|
1522
1569
|
token = self.lexer.next_token
|
|
1523
1570
|
|
|
1524
1571
|
if token and token.first != RubyLexer::EOF then
|
|
1525
1572
|
self.last_token_type = token
|
|
1573
|
+
|
|
1574
|
+
self.lexer.comment = nil unless KEEP_COMMENT_TOKENS.include? token.first
|
|
1575
|
+
|
|
1526
1576
|
return token
|
|
1527
1577
|
elsif !token
|
|
1528
1578
|
return self.lexer.next_token
|
|
@@ -1553,7 +1603,7 @@ module RubyParserStuff
|
|
|
1553
1603
|
|
|
1554
1604
|
self.lexer.string = handle_encoding str
|
|
1555
1605
|
|
|
1556
|
-
self.file = file
|
|
1606
|
+
self.file = file
|
|
1557
1607
|
|
|
1558
1608
|
@yydebug = ENV.has_key? "DEBUG"
|
|
1559
1609
|
|
|
@@ -1582,7 +1632,6 @@ module RubyParserStuff
|
|
|
1582
1632
|
self.in_def = false
|
|
1583
1633
|
self.in_single = 0
|
|
1584
1634
|
self.env.reset
|
|
1585
|
-
self.comments.clear
|
|
1586
1635
|
self.last_token_type = nil
|
|
1587
1636
|
end
|
|
1588
1637
|
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
=== 4.17.5 / 2025-12-24
|
|
2
|
+
|
|
3
|
+
* 1 minor enhancement:
|
|
4
|
+
|
|
5
|
+
* Bumped ruby to 3.2+.
|
|
6
|
+
|
|
7
|
+
=== 4.17.4 / 2025-09-02
|
|
8
|
+
|
|
9
|
+
This release was brought to you by ScotRail free WiFi!
|
|
10
|
+
|
|
11
|
+
* 1 minor enhancement:
|
|
12
|
+
|
|
13
|
+
* Added 3.4 to pt_testcase.rb.
|
|
14
|
+
|
|
1
15
|
=== 4.17.3 / 2024-11-11
|
|
2
16
|
|
|
3
17
|
* 1 bug fix:
|
data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/pt_testcase.rb
RENAMED
|
@@ -34,7 +34,7 @@ class Examples
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
class ParseTreeTestCase < Minitest::Test
|
|
37
|
-
all_versions = %w[18 19 20 21 22 23 24 25 26 27 30 31 32 33]
|
|
37
|
+
all_versions = %w[18 19 20 21 22 23 24 25 26 27 30 31 32 33 34]
|
|
38
38
|
most_versions = all_versions.drop(1)
|
|
39
39
|
|
|
40
40
|
TEST_SUFFIX = "_#{most_versions.join "_"}"
|
|
@@ -10,7 +10,7 @@ module Temple
|
|
|
10
10
|
def call(s)
|
|
11
11
|
if options[:encoding] && s.respond_to?(:encoding)
|
|
12
12
|
old_enc = s.encoding
|
|
13
|
-
s = s
|
|
13
|
+
s = +s
|
|
14
14
|
s.force_encoding(options[:encoding])
|
|
15
15
|
# Fall back to old encoding if new encoding is invalid
|
|
16
16
|
unless s.valid_encoding?
|
data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/README.md
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Unicode::DisplayWidth [![[version]](https://badge.fury.io/rb/unicode-display_width.svg)](https://badge.fury.io/rb/unicode-display_width) [<img src="https://github.com/janlelis/unicode-display_width/workflows/Test/badge.svg" />](https://github.com/janlelis/unicode-display_width/actions?query=workflow%3ATest)
|
|
2
2
|
|
|
3
|
-
Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth
|
|
3
|
+
Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
|
|
4
4
|
|
|
5
|
-
Unicode version: **
|
|
5
|
+
Unicode version: **17.0.0** (September 2025)
|
|
6
6
|
|
|
7
7
|
## Gem Version 3 — Improved Emoji Support
|
|
8
8
|
|
|
@@ -108,8 +108,8 @@ Emoji Type | Width / Comment
|
|
|
108
108
|
Basic/Single Emoji character without Variation Selector | No special handling
|
|
109
109
|
Basic/Single Emoji character with VS15 (Text) | No special handling
|
|
110
110
|
Basic/Single Emoji character with VS16 (Emoji) | 2 or East Asian Width (see table below)
|
|
111
|
-
Single Emoji character with Skin Tone Modifier | 2
|
|
112
|
-
Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is
|
|
111
|
+
Single Emoji character with Skin Tone Modifier | 2 unless Emoji mode is `:none` or `vs16`
|
|
112
|
+
Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
|
|
113
113
|
Emoji Sequence | 2 if Emoji belongs to configured Emoji set (see table below)
|
|
114
114
|
|
|
115
115
|
#### Emoji Modes
|
|
@@ -188,7 +188,7 @@ See [unicode-x](https://github.com/janlelis/unicode-x) for more Unicode related
|
|
|
188
188
|
|
|
189
189
|
## Copyright & Info
|
|
190
190
|
|
|
191
|
-
- Copyright (c) 2011, 2015-
|
|
191
|
+
- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
|
|
192
192
|
license
|
|
193
193
|
- Early versions based on runpaint's unicode-data interface: Copyright (c) 2009 Run Paint Run Run
|
|
194
194
|
- Unicode data: https://www.unicode.org/copyright.html#Exhibit1
|
|
Binary file
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Unicode
|
|
4
4
|
class DisplayWidth
|
|
5
|
-
VERSION = "3.
|
|
6
|
-
UNICODE_VERSION = "
|
|
5
|
+
VERSION = "3.2.0"
|
|
6
|
+
UNICODE_VERSION = "17.0.0"
|
|
7
7
|
DATA_DIRECTORY = File.expand_path(File.dirname(__FILE__) + "/../../../data/")
|
|
8
8
|
INDEX_FILENAME = DATA_DIRECTORY + "/display_width.marshal.gz"
|
|
9
9
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
|
|
1
|
+
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
module Unicode
|
|
5
4
|
class DisplayWidth
|
|
@@ -13,6 +12,10 @@ module Unicode
|
|
|
13
12
|
# Please note: Many terminals do not set any ENV vars,
|
|
14
13
|
# maybe CSI queries can help?
|
|
15
14
|
def self.recommended
|
|
15
|
+
@recommended ||= _recommended
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def self._recommended
|
|
16
19
|
if ENV["CI"]
|
|
17
20
|
return :rqi
|
|
18
21
|
end
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 4.2.0
|
|
4
|
+
|
|
5
|
+
- Allow Ruby 4.0
|
|
6
|
+
- Remove Non-Emoji pictographs from spec, since they have been removed in Unicode 17
|
|
7
|
+
- Update valid subdivisions to CLDR 48 (no changes)
|
|
8
|
+
|
|
9
|
+
## 4.1.0
|
|
10
|
+
|
|
11
|
+
- Unicode 17
|
|
12
|
+
- Update valid subdivisions to CLDR 47 (no changes)
|
|
13
|
+
|
|
3
14
|
## 4.0.4
|
|
4
15
|
|
|
5
16
|
- Add `REGEX_TEXT_PRESENTATION` to be able to match for raw default-text Emoji codepoints
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
unicode-emoji (4.0
|
|
4
|
+
unicode-emoji (4.2.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -11,6 +11,8 @@ GEM
|
|
|
11
11
|
rdoc
|
|
12
12
|
reline (>= 0.3.8)
|
|
13
13
|
minitest (5.20.0)
|
|
14
|
+
mutex_m (0.3.0)
|
|
15
|
+
ostruct (0.6.3)
|
|
14
16
|
psych (5.1.0)
|
|
15
17
|
stringio
|
|
16
18
|
rake (13.0.6)
|
|
@@ -26,6 +28,8 @@ PLATFORMS
|
|
|
26
28
|
DEPENDENCIES
|
|
27
29
|
irb
|
|
28
30
|
minitest
|
|
31
|
+
mutex_m
|
|
32
|
+
ostruct
|
|
29
33
|
rake
|
|
30
34
|
unicode-emoji!
|
|
31
35
|
|
|
@@ -8,9 +8,9 @@ Additional features:
|
|
|
8
8
|
- A categorized list of Emoji (RGI: Recommended for General Interchange)
|
|
9
9
|
- Retrieve Emoji properties info about specific codepoints (Emoji_Modifier, Emoji_Presentation, etc.)
|
|
10
10
|
|
|
11
|
-
Emoji version: **
|
|
11
|
+
Emoji version: **17.0** (September 2025)
|
|
12
12
|
|
|
13
|
-
CLDR version (used for sub-region flags): **
|
|
13
|
+
CLDR version (used for sub-region flags): **47** (March 2025)
|
|
14
14
|
|
|
15
15
|
## Gemfile
|
|
16
16
|
|
|
@@ -144,7 +144,7 @@ More info about valid vs. recommended Emoji can also be found in this [blog arti
|
|
|
144
144
|
|
|
145
145
|
### Emoji Property Regexes
|
|
146
146
|
|
|
147
|
-
Ruby includes native regex Emoji properties, as listed in the following table. You can also opt-in to use the `*_PROP_*` regexes to get the Emoji support level of this gem (instead of Ruby's).
|
|
147
|
+
Ruby includes native regex Emoji properties, as listed in the following table. You can also opt-in to use the `*_PROP_*` regexes to get the Emoji support level of this gem (instead of Ruby's). [Which Emoji version does Ruby support?](https://idiosyncratic-ruby.com/73-unicode-version-mapping.html#ruby--emoji)
|
|
148
148
|
|
|
149
149
|
Gem Regex (`Unicode::Emoji`'s Emoji support level) | Native Regex (Ruby's Emoji support level)
|
|
150
150
|
---------------------------------------------------|------------------------------------------
|
|
@@ -201,5 +201,5 @@ Unicode::Emoji.properties "☝" # => ["Emoji", "Emoji_Modifier_Base"]
|
|
|
201
201
|
|
|
202
202
|
## MIT
|
|
203
203
|
|
|
204
|
-
- Copyright (C) 2017-
|
|
204
|
+
- Copyright (C) 2017-2025 Jan Lelis <https://janlelis.com>. Released under the MIT license.
|
|
205
205
|
- Unicode data: https://www.unicode.org/copyright.html#Exhibit1
|
|
Binary file
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module Unicode
|
|
4
4
|
module Emoji
|
|
5
|
-
VERSION = "4.0
|
|
6
|
-
EMOJI_VERSION = "
|
|
7
|
-
|
|
5
|
+
VERSION = "4.2.0"
|
|
6
|
+
EMOJI_VERSION = "17.0"
|
|
7
|
+
UNICODE_VERSION = "17.0.0"
|
|
8
|
+
CLDR_VERSION = "48"
|
|
8
9
|
DATA_DIRECTORY = File.expand_path('../../../data', __dir__).freeze
|
|
9
10
|
INDEX_FILENAME = (DATA_DIRECTORY + "/emoji.marshal.gz").freeze
|
|
10
11
|
|