brakeman 7.0.1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +15 -0
- data/bundle/load.rb +16 -16
- data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/NEWS.md +20 -1
- data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/parser.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/version.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/CHANGELOG.md +168 -4
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/FAQ.md +1 -1
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/Gemfile +27 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/MIT-LICENSE +1 -1
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/README.md +22 -34
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/REFERENCE.md +95 -159
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/exe/haml +6 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/haml.gemspec +43 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ambles.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_builder.rb +162 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_compiler.rb +133 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/attribute_parser.rb +116 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/cli.rb +154 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/children_compiler.rb +155 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/comment_compiler.rb +51 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/doctype_compiler.rb +52 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/script_compiler.rb +114 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler/tag_compiler.rb +76 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/compiler.rb +97 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/dynamic_merger.rb +67 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/engine.rb +59 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/error.rb +5 -4
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape.rb +13 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/escape_any.rb +21 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/base.rb +12 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/cdata.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/coffee.rb +17 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/css.rb +33 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/erb.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/escaped.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/javascript.rb +33 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/less.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/markdown.rb +11 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/plain.rb +29 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/preserve.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/ruby.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/sass.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/scss.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/text_base.rb +25 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters/tilt_base.rb +59 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/filters.rb +75 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/force_escape.rb +29 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/helpers.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/html.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/identity.rb +13 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/object_ref.rb +35 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/parser.rb +158 -23
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_helpers.rb +53 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/rails_template.rb +62 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/railtie.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/ruby_expression.rb +32 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/string_splitter.rb +140 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/template.rb +20 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/temple_line_counter.rb +2 -1
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/util.rb +19 -15
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/version.rb +1 -2
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml/whitespace.rb +8 -0
- data/bundle/ruby/3.2.0/gems/haml-6.3.0/lib/haml.rb +13 -0
- data/bundle/ruby/3.2.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
- data/bundle/ruby/{3.1.0/gems/parallel-1.26.3 → 3.2.0/gems/parallel-1.27.0}/lib/parallel.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/io/ansi.rb +8 -15
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_stroke.rb +2 -2
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/line_editor.rb +76 -104
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/unicode/east_asian_width.rb +41 -15
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/unicode.rb +2 -2
- data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/version.rb +3 -0
- data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline.rb +22 -13
- data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/template.rb +6 -1
- data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt.rb +1 -1
- data/lib/brakeman/app_tree.rb +16 -4
- data/lib/brakeman/checks/check_eol_rails.rb +1 -0
- data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
- data/lib/brakeman/commandline.rb +5 -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/base_processor.rb +2 -0
- data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
- data/lib/brakeman/processors/haml_template_processor.rb +7 -1
- data/lib/brakeman/processors/lib/render_helper.rb +38 -1
- data/lib/brakeman/processors/template_processor.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 +7 -2
- 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 +5 -1
- metadata +490 -469
- 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.0/lib/reline/version.rb +0 -3
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/core_ext/array.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/core_ext/string.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/fields_converter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/input_record_separator.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/row.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/table.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv/writer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/csv-3.3.3 → 3.2.0/gems/csv-3.3.5}/lib/csv.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/README.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/erubis-2.7.0/setup.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/AUTHORS +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/COPYING +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/Changelog.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/LICENSE +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/TODO +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/highline.gemspec +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/builtin_styles.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/color_scheme.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/compatibility.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/custom_errors.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/import.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/io_console_compatible.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/list.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/list_renderer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/menu/item.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/menu.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/paginator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question/answer_converter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/question_asker.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/simulate.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/statement.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/string.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/string_extensions.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/style.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/template_renderer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/io_console.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/ncurses.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal/unix_stty.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/terminal.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/version.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline/wrapper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/highline-3.1.2/lib/highline.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/parallel-1.26.3 → 3.2.0/gems/parallel-1.27.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/BSDL +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/COPYING +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/config.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/face.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/history.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/io/dumb.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/io/windows.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/io.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor/base.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor/composite.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor/emacs.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor/vi_command.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor/vi_insert.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/key_actor.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/lib/reline/kill_ring.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.6.0 → 3.2.0/gems/reline-0.6.1}/license_of_rb-readline +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/NEWS.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/attlistdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/attribute.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/cdata.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/child.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/comment.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/doctype.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/document.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/attlistdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/dtd.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/elementdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/entitydecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/dtd/notationdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/element.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/encoding.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/entity.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/default.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/pretty.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/formatters/transitive.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/functions.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/instruction.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/light/node.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/namespace.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/node.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/output.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parent.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parseexception.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/baseparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/lightparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/pullparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/sax2parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/streamparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/treeparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/ultralightparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/parsers/xpathparser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/quickpath.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/rexml.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/sax2listener.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/security.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/source.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/streamlistener.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/undefinednamespaceexception.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/relaxng.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/validation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/validation/validationexception.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xmldecl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xmltokens.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xpath.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml/xpath_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/rexml-3.4.1/lib/rexml.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/History.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/Manifest.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/README.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby2ruby-2.5.2/lib/ruby2ruby.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/History.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/Manifest.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/README.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/compare/normalize.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/debugging.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/gauntlet.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_extensions.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/rp_stringscanner.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.yy +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/munge.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/ruby_parser-3.20.3/tools/ripper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/History.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/Manifest.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/README.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/pt_testcase.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/sexp_processor.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/strict_sexp.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/sexp_processor-4.17.3/lib/unique.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/CHANGES +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/LICENSE +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/README.jp.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/code_attributes.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/command.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/controls.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/do_inserter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/embedded.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/end_inserter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/erb_converter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/grammar.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/include.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/interpolation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less/context.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/logic_less.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/railtie.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/escaper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/smart.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/splat/builder.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/splat/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/template.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/translator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim/version.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/lib/slim.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/slim-5.2.1/slim.gemspec +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/CHANGES +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/LICENSE +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/template.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/erb/trimming.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/exceptions.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/ambles.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/code_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/control_flow.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_inliner.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/encoding.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/eraser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/escapable.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/multi_flattener.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/remove_bom.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/static_analyzer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/static_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/string_splitter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/filters/validator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/array.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/array_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/erb.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/rails_output_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/generators/string_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/grammar.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_remover.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/attribute_sorter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/dispatcher.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/fast.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/pretty.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/html/safe.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/map.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/dispatcher.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/engine_dsl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/grammar_dsl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/options.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/mixins/template.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/static_analyzer.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates/rails.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates/tilt.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/templates.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/utils.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple/version.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/lib/temple.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/temple-0.10.3/temple.gemspec +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/History.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Manifest +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/Todo.rdoc +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/cell.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/import.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/row.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/table.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/table_helper.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table/version.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/lib/terminal-table.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/terminal-table-4.0.0/terminal-table.gemspec +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/COPYING +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_emacs_org.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_handlebars.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_jbuilder.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/_org.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/asciidoc.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/babel.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/builder.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/cli.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/coffee.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/commonmarker.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/creole.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/csv.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erb.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/erubi.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/etanni.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/haml.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/kramdown.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/liquid.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/livescript.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/mapping.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/markaby.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/nokogiri.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/pandoc.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/pipeline.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/plain.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/prawn.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/radius.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rdiscount.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rdoc.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/redcarpet.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/redcloth.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/rst-pandoc.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/sass.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/slim.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/string.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/typescript.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.6.0 → 3.2.0/gems/tilt-2.6.1}/lib/tilt/yajl.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/CHANGELOG.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/index.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/no_string_ext.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/reline_ext.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width/string_ext.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-display_width-3.1.4/lib/unicode/display_width.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/CHANGELOG.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/CODE_OF_CONDUCT.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/Gemfile.lock +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/README.md +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/data/generate_constants.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/constants.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_basic.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_component.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_emoji.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_prop_presentation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_basic.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_possible.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_component.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/index.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/lazy_constants.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji/list.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/lib/unicode/emoji.rb +0 -0
- /data/bundle/ruby/{3.1.0 → 3.2.0}/gems/unicode-emoji-4.0.4/unicode-emoji.gemspec +0 -0
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
require 'ripper'
|
4
4
|
require 'strscan'
|
5
|
+
require 'haml/error'
|
6
|
+
require 'haml/util'
|
5
7
|
|
6
8
|
module Haml
|
7
9
|
class Parser
|
@@ -76,7 +78,7 @@ module Haml
|
|
76
78
|
#
|
77
79
|
BLOCK_WITH_SPACES = /do\s*\|\s*[^\|]*\s+\|\z/
|
78
80
|
|
79
|
-
MID_BLOCK_KEYWORDS = %w[else elsif rescue ensure end when].freeze
|
81
|
+
MID_BLOCK_KEYWORDS = %w[else elsif rescue ensure end when in].freeze
|
80
82
|
START_BLOCK_KEYWORDS = %w[if begin case unless].freeze
|
81
83
|
# Try to parse assignments to block starters as best as possible
|
82
84
|
START_BLOCK_KEYWORD_REGEX = /(?:\w+(?:,\s*\w+)*\s*=\s*)?(#{START_BLOCK_KEYWORDS.join('|')})/
|
@@ -95,15 +97,23 @@ module Haml
|
|
95
97
|
METHOD_CALL_PREFIX = 'a('
|
96
98
|
|
97
99
|
def initialize(options)
|
98
|
-
@options =
|
100
|
+
@options = ParserOptions.new(options)
|
99
101
|
# Record the indent levels of "if" statements to validate the subsequent
|
100
102
|
# elsif and else statements are indented at the appropriate level.
|
101
103
|
@script_level_stack = []
|
102
104
|
@template_index = 0
|
103
105
|
@template_tabs = 0
|
106
|
+
# When used in Haml::Engine, which gives options[:generator] to every filter
|
107
|
+
# in the engine, including Haml::Parser, we don't want to throw exceptions.
|
108
|
+
# However, when Haml::Parser is used as a library, we want to throw exceptions.
|
109
|
+
@raise_error = !options.key?(:generator)
|
104
110
|
end
|
105
111
|
|
106
112
|
def call(template)
|
113
|
+
template = Haml::Util.check_haml_encoding(template) do |msg, line|
|
114
|
+
raise Haml::Error.new(msg, line)
|
115
|
+
end
|
116
|
+
|
107
117
|
match = template.rstrip.scan(/(([ \t]+)?(.*?))(?:\Z|\r\n|\r|\n)/m)
|
108
118
|
# discard the last match which is always blank
|
109
119
|
match.pop
|
@@ -152,7 +162,8 @@ module Haml
|
|
152
162
|
@root
|
153
163
|
rescue Haml::Error => e
|
154
164
|
e.backtrace.unshift "#{@options.filename}:#{(e.line ? e.line + 1 : @line.index + 1) + @options.line - 1}"
|
155
|
-
raise
|
165
|
+
raise if @raise_error
|
166
|
+
error_with_lineno(e)
|
156
167
|
end
|
157
168
|
|
158
169
|
def compute_tabs(line)
|
@@ -182,6 +193,16 @@ module Haml
|
|
182
193
|
|
183
194
|
private
|
184
195
|
|
196
|
+
def error_with_lineno(error)
|
197
|
+
return error if error.line
|
198
|
+
|
199
|
+
trace = error.backtrace.first
|
200
|
+
return error unless trace
|
201
|
+
|
202
|
+
line = trace.match(/\d+\z/).to_s.to_i
|
203
|
+
SyntaxError.new(error.message, line)
|
204
|
+
end
|
205
|
+
|
185
206
|
# @private
|
186
207
|
Line = Struct.new(:whitespace, :text, :full, :index, :parser, :eod) do
|
187
208
|
alias_method :eod?, :eod
|
@@ -221,7 +242,7 @@ module Haml
|
|
221
242
|
self[:old] = value
|
222
243
|
end
|
223
244
|
|
224
|
-
# This will be a literal for Haml::
|
245
|
+
# This will be a literal for Haml::HamlBuffer#attributes's last argument, `attributes_hashes`.
|
225
246
|
def to_literal
|
226
247
|
[new, stripped_old].compact.join(', ')
|
227
248
|
end
|
@@ -307,13 +328,13 @@ module Haml
|
|
307
328
|
raise SyntaxError.new(Error.message(:illegal_nesting_plain), @next_line.index)
|
308
329
|
end
|
309
330
|
|
310
|
-
unless contains_interpolation?(line.text)
|
331
|
+
unless Util.contains_interpolation?(line.text)
|
311
332
|
return ParseNode.new(:plain, line.index + 1, :text => line.text)
|
312
333
|
end
|
313
334
|
|
314
335
|
escape_html = @options.escape_html && @options.mime_type != 'text/plain' if escape_html.nil?
|
315
|
-
line.text = unescape_interpolation(line.text
|
316
|
-
script(line, false)
|
336
|
+
line.text = Util.unescape_interpolation(line.text)
|
337
|
+
script(line, false).tap { |n| n.value[:escape_interpolation] = true if escape_html }
|
317
338
|
end
|
318
339
|
|
319
340
|
def script(line, escape_html = nil, preserve = false)
|
@@ -400,7 +421,8 @@ module Haml
|
|
400
421
|
when '='
|
401
422
|
parse = true
|
402
423
|
if value[0] == ?=
|
403
|
-
value = unescape_interpolation(value[1..-1].strip
|
424
|
+
value = Util.unescape_interpolation(value[1..-1].strip)
|
425
|
+
escape_interpolation = true if escape_html
|
404
426
|
escape_html = false
|
405
427
|
end
|
406
428
|
when '&', '!'
|
@@ -408,19 +430,21 @@ module Haml
|
|
408
430
|
parse = true
|
409
431
|
preserve_script = (value[0] == ?~)
|
410
432
|
if value[1] == ?=
|
411
|
-
value = unescape_interpolation(value[2..-1].strip
|
433
|
+
value = Util.unescape_interpolation(value[2..-1].strip)
|
434
|
+
escape_interpolation = true if escape_html
|
412
435
|
escape_html = false
|
413
436
|
else
|
414
437
|
value = value[1..-1].strip
|
415
438
|
end
|
416
|
-
elsif contains_interpolation?(value)
|
417
|
-
value = unescape_interpolation(value
|
439
|
+
elsif Util.contains_interpolation?(value)
|
440
|
+
value = Util.unescape_interpolation(value)
|
441
|
+
escape_interpolation = true if escape_html
|
418
442
|
parse = true
|
419
443
|
escape_html = false
|
420
444
|
end
|
421
445
|
else
|
422
|
-
if contains_interpolation?(value)
|
423
|
-
value = unescape_interpolation(value, escape_html)
|
446
|
+
if Util.contains_interpolation?(value)
|
447
|
+
value = Util.unescape_interpolation(value, escape_html)
|
424
448
|
parse = true
|
425
449
|
escape_html = false
|
426
450
|
end
|
@@ -431,13 +455,13 @@ module Haml
|
|
431
455
|
|
432
456
|
if attributes_hashes[:new]
|
433
457
|
static_attributes, attributes_hash = attributes_hashes[:new]
|
434
|
-
|
458
|
+
AttributeMerger.merge_attributes!(attributes, static_attributes) if static_attributes
|
435
459
|
dynamic_attributes.new = attributes_hash
|
436
460
|
end
|
437
461
|
|
438
462
|
if attributes_hashes[:old]
|
439
463
|
static_attributes = parse_static_hash(attributes_hashes[:old])
|
440
|
-
|
464
|
+
AttributeMerger.merge_attributes!(attributes, static_attributes) if static_attributes
|
441
465
|
dynamic_attributes.old = attributes_hashes[:old] unless static_attributes || @options.suppress_eval
|
442
466
|
end
|
443
467
|
|
@@ -459,7 +483,8 @@ module Haml
|
|
459
483
|
:nuke_inner_whitespace => nuke_inner_whitespace,
|
460
484
|
:nuke_outer_whitespace => nuke_outer_whitespace, :object_ref => object_ref,
|
461
485
|
:escape_html => escape_html, :preserve_tag => preserve_tag,
|
462
|
-
:preserve_script => preserve_script, :parse => parse, :value => line.text
|
486
|
+
:preserve_script => preserve_script, :parse => parse, :value => line.text,
|
487
|
+
:escape_interpolation => escape_interpolation)
|
463
488
|
end
|
464
489
|
|
465
490
|
# Renders a line that creates an XHTML tag and has an implicit div because of
|
@@ -481,9 +506,9 @@ module Haml
|
|
481
506
|
conditional, text = balance(text, ?[, ?]) if text[0] == ?[
|
482
507
|
text.strip!
|
483
508
|
|
484
|
-
if contains_interpolation?(text)
|
509
|
+
if Util.contains_interpolation?(text)
|
485
510
|
parse = true
|
486
|
-
text = unescape_interpolation(text)
|
511
|
+
text = Util.unescape_interpolation(text)
|
487
512
|
else
|
488
513
|
parse = false
|
489
514
|
end
|
@@ -552,7 +577,7 @@ module Haml
|
|
552
577
|
|
553
578
|
alias :close_script :close_silent_script
|
554
579
|
|
555
|
-
# This is a class method so it can be accessed from {Haml::
|
580
|
+
# This is a class method so it can be accessed from {Haml::HamlHelpers}.
|
556
581
|
#
|
557
582
|
# Iterates through the classes and ids supplied through `.`
|
558
583
|
# and `#` syntax, and returns a hash with them as attributes,
|
@@ -576,8 +601,8 @@ module Haml
|
|
576
601
|
attributes
|
577
602
|
end
|
578
603
|
|
579
|
-
# This method doesn't use Haml::
|
580
|
-
# Ideally this logic should be placed in Haml::
|
604
|
+
# This method doesn't use Haml::HamlAttributeParser because currently it depends on Ripper and Rubinius doesn't provide it.
|
605
|
+
# Ideally this logic should be placed in Haml::HamlAttributeParser instead of here and this method should use it.
|
581
606
|
#
|
582
607
|
# @param [String] text - Hash literal or text inside old attributes
|
583
608
|
# @return [Hash,nil] - Return nil if text is not static Hash literal
|
@@ -714,7 +739,7 @@ module Haml
|
|
714
739
|
if type == :static
|
715
740
|
static_attributes[name] = val
|
716
741
|
else
|
717
|
-
dynamic_attributes << "#{inspect_obj(name)} => #{val},"
|
742
|
+
dynamic_attributes << "#{Util.inspect_obj(name)} => #{val},"
|
718
743
|
end
|
719
744
|
end
|
720
745
|
dynamic_attributes << "}"
|
@@ -749,7 +774,7 @@ module Haml
|
|
749
774
|
|
750
775
|
return name, [:static, content.first[1]] if content.size == 1
|
751
776
|
return name, [:dynamic,
|
752
|
-
%!"#{content.each_with_object(''.dup) {|(t, v), s| s << (t == :str ? inspect_obj(v)[1...-1] : "\#{#{v}}")}}"!]
|
777
|
+
%!"#{content.each_with_object(''.dup) {|(t, v), s| s << (t == :str ? Util.inspect_obj(v)[1...-1] : "\#{#{v}}")}}"!]
|
753
778
|
end
|
754
779
|
|
755
780
|
def next_line
|
@@ -852,5 +877,115 @@ module Haml
|
|
852
877
|
def flat?
|
853
878
|
@flat
|
854
879
|
end
|
880
|
+
|
881
|
+
class << AttributeMerger = Object.new
|
882
|
+
# Merges two attribute hashes.
|
883
|
+
# This is the same as `to.merge!(from)`,
|
884
|
+
# except that it merges id, class, and data attributes.
|
885
|
+
#
|
886
|
+
# ids are concatenated with `"_"`,
|
887
|
+
# and classes are concatenated with `" "`.
|
888
|
+
# data hashes are simply merged.
|
889
|
+
#
|
890
|
+
# Destructively modifies `to`.
|
891
|
+
#
|
892
|
+
# @param to [{String => String,Hash}] The attribute hash to merge into
|
893
|
+
# @param from [{String => Object}] The attribute hash to merge from
|
894
|
+
# @return [{String => String,Hash}] `to`, after being merged
|
895
|
+
def merge_attributes!(to, from)
|
896
|
+
from.keys.each do |key|
|
897
|
+
to[key] = merge_value(key, to[key], from[key])
|
898
|
+
end
|
899
|
+
to
|
900
|
+
end
|
901
|
+
|
902
|
+
private
|
903
|
+
|
904
|
+
# @return [String, nil]
|
905
|
+
def filter_and_join(value, separator)
|
906
|
+
return '' if (value.respond_to?(:empty?) && value.empty?)
|
907
|
+
|
908
|
+
if value.is_a?(Array)
|
909
|
+
value = value.flatten
|
910
|
+
value.map! {|item| item ? item.to_s : nil}
|
911
|
+
value.compact!
|
912
|
+
value = value.join(separator)
|
913
|
+
else
|
914
|
+
value = value ? value.to_s : nil
|
915
|
+
end
|
916
|
+
!value.nil? && !value.empty? && value
|
917
|
+
end
|
918
|
+
|
919
|
+
# Merge a couple of values to one attribute value. No destructive operation.
|
920
|
+
#
|
921
|
+
# @param to [String,Hash,nil]
|
922
|
+
# @param from [Object]
|
923
|
+
# @return [String,Hash]
|
924
|
+
def merge_value(key, to, from)
|
925
|
+
if from.kind_of?(Hash) || to.kind_of?(Hash)
|
926
|
+
from = { nil => from } if !from.is_a?(Hash)
|
927
|
+
to = { nil => to } if !to.is_a?(Hash)
|
928
|
+
to.merge(from)
|
929
|
+
elsif key == 'id'
|
930
|
+
merged_id = filter_and_join(from, '_')
|
931
|
+
if to && merged_id
|
932
|
+
merged_id = "#{to}_#{merged_id}"
|
933
|
+
elsif to || merged_id
|
934
|
+
merged_id ||= to
|
935
|
+
end
|
936
|
+
merged_id
|
937
|
+
elsif key == 'class'
|
938
|
+
merged_class = filter_and_join(from, ' ')
|
939
|
+
if to && merged_class
|
940
|
+
merged_class = (to.split(' ') | merged_class.split(' ')).join(' ')
|
941
|
+
elsif to || merged_class
|
942
|
+
merged_class ||= to
|
943
|
+
end
|
944
|
+
merged_class
|
945
|
+
else
|
946
|
+
from
|
947
|
+
end
|
948
|
+
end
|
949
|
+
end
|
950
|
+
private_constant :AttributeMerger
|
951
|
+
|
952
|
+
class ParserOptions
|
953
|
+
# A list of options that are actually used in the parser
|
954
|
+
AVAILABLE_OPTIONS = %i[
|
955
|
+
autoclose
|
956
|
+
escape_html
|
957
|
+
filename
|
958
|
+
line
|
959
|
+
mime_type
|
960
|
+
preserve
|
961
|
+
remove_whitespace
|
962
|
+
suppress_eval
|
963
|
+
].each do |option|
|
964
|
+
attr_reader option
|
965
|
+
end
|
966
|
+
|
967
|
+
DEFAULTS = {
|
968
|
+
autoclose: %w(area base basefont br col command embed frame
|
969
|
+
hr img input isindex keygen link menuitem meta
|
970
|
+
param source track wbr),
|
971
|
+
escape_html: false,
|
972
|
+
filename: '(haml)',
|
973
|
+
line: 1,
|
974
|
+
mime_type: 'text/html',
|
975
|
+
preserve: %w(textarea pre code),
|
976
|
+
remove_whitespace: false,
|
977
|
+
suppress_eval: false,
|
978
|
+
}
|
979
|
+
|
980
|
+
def initialize(values = {})
|
981
|
+
DEFAULTS.each {|k, v| instance_variable_set :"@#{k}", v}
|
982
|
+
AVAILABLE_OPTIONS.each do |key|
|
983
|
+
if values.key?(key)
|
984
|
+
instance_variable_set :"@#{key}", values[key]
|
985
|
+
end
|
986
|
+
end
|
987
|
+
end
|
988
|
+
end
|
989
|
+
private_constant :ParserOptions
|
855
990
|
end
|
856
991
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
require 'haml/helpers'
|
3
|
+
|
4
|
+
# There are only helpers that depend on ActionView internals.
|
5
|
+
module Haml
|
6
|
+
module RailsHelpers
|
7
|
+
include Helpers
|
8
|
+
extend self
|
9
|
+
|
10
|
+
DEFAULT_PRESERVE_TAGS = %w[textarea pre code].freeze
|
11
|
+
|
12
|
+
def find_and_preserve(input = nil, tags = DEFAULT_PRESERVE_TAGS, &block)
|
13
|
+
return find_and_preserve(capture_haml(&block), input || tags) if block
|
14
|
+
|
15
|
+
tags = tags.each_with_object('') do |t, s|
|
16
|
+
s << '|' unless s.empty?
|
17
|
+
s << Regexp.escape(t)
|
18
|
+
end
|
19
|
+
|
20
|
+
re = /<(#{tags})([^>]*)>(.*?)(<\/\1>)/im
|
21
|
+
input.to_s.gsub(re) do |s|
|
22
|
+
s =~ re # Can't rely on $1, etc. existing since Rails' SafeBuffer#gsub is incompatible
|
23
|
+
"<#{$1}#{$2}>#{preserve($3)}</#{$1}>"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def preserve(input = nil, &block)
|
28
|
+
return preserve(capture_haml(&block)) if block
|
29
|
+
super.html_safe
|
30
|
+
end
|
31
|
+
|
32
|
+
def surround(front, back = front, &block)
|
33
|
+
output = capture_haml(&block)
|
34
|
+
front = escape_once(front) unless front.html_safe?
|
35
|
+
back = escape_once(back) unless back.html_safe?
|
36
|
+
"#{front}#{output.chomp}#{back}\n".html_safe
|
37
|
+
end
|
38
|
+
|
39
|
+
def precede(str, &block)
|
40
|
+
str = escape_once(str) unless str.html_safe?
|
41
|
+
"#{str}#{capture_haml(&block).chomp}\n".html_safe
|
42
|
+
end
|
43
|
+
|
44
|
+
def succeed(str, &block)
|
45
|
+
str = escape_once(str) unless str.html_safe?
|
46
|
+
"#{capture_haml(&block).chomp}#{str}\n".html_safe
|
47
|
+
end
|
48
|
+
|
49
|
+
def capture_haml(*args, &block)
|
50
|
+
capture(*args, &block)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'temple'
|
3
|
+
require 'haml/engine'
|
4
|
+
require 'haml/rails_helpers'
|
5
|
+
require 'haml/util'
|
6
|
+
|
7
|
+
module Haml
|
8
|
+
class RailsTemplate
|
9
|
+
# Compatible with: https://github.com/judofyr/temple/blob/v0.7.7/lib/temple/mixins/options.rb#L15-L24
|
10
|
+
class << self
|
11
|
+
def options
|
12
|
+
@options ||= {
|
13
|
+
generator: Temple::Generators::RailsOutputBuffer,
|
14
|
+
use_html_safe: true,
|
15
|
+
streaming: true,
|
16
|
+
buffer_class: 'ActionView::OutputBuffer',
|
17
|
+
disable_capture: true,
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
def set_options(opts)
|
22
|
+
options.update(opts)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def call(template, source = nil)
|
27
|
+
source ||= template.source
|
28
|
+
options = RailsTemplate.options
|
29
|
+
|
30
|
+
# Make the filename available in parser etc.
|
31
|
+
if template.respond_to?(:identifier)
|
32
|
+
options = options.merge(filename: template.identifier)
|
33
|
+
end
|
34
|
+
|
35
|
+
# https://github.com/haml/haml/blob/4.0.7/lib/haml/template/plugin.rb#L19-L20
|
36
|
+
# https://github.com/haml/haml/blob/4.0.7/lib/haml/options.rb#L228
|
37
|
+
if template.respond_to?(:type) && template.type == 'text/xml'
|
38
|
+
options = options.merge(format: :xhtml)
|
39
|
+
end
|
40
|
+
|
41
|
+
if ActionView::Base.try(:annotate_rendered_view_with_filenames) && template.format == :html
|
42
|
+
options = options.merge(
|
43
|
+
preamble: "<!-- BEGIN #{template.short_identifier} -->\n",
|
44
|
+
postamble: "<!-- END #{template.short_identifier} -->\n",
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
Engine.new(options).call(source)
|
49
|
+
end
|
50
|
+
|
51
|
+
def supports_streaming?
|
52
|
+
RailsTemplate.options[:streaming]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
ActionView::Template.register_template_handler(:haml, RailsTemplate.new)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Haml extends Haml::Helpers in ActionView each time.
|
59
|
+
# It costs much, so Haml includes a compatible module at first.
|
60
|
+
ActiveSupport.on_load(:action_view) do
|
61
|
+
include Haml::RailsHelpers
|
62
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'ripper'
|
3
|
+
|
4
|
+
module Haml
|
5
|
+
class RubyExpression < Ripper
|
6
|
+
class ParseError < StandardError; end
|
7
|
+
|
8
|
+
def self.syntax_error?(code)
|
9
|
+
self.new(code).parse
|
10
|
+
false
|
11
|
+
rescue ParseError
|
12
|
+
true
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.string_literal?(code)
|
16
|
+
return false if syntax_error?(code)
|
17
|
+
|
18
|
+
type, instructions = Ripper.sexp(code)
|
19
|
+
return false if type != :program
|
20
|
+
return false if instructions.size > 1
|
21
|
+
|
22
|
+
type, _ = instructions.first
|
23
|
+
type == :string_literal
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def on_parse_error(*)
|
29
|
+
raise ParseError
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
begin
|
3
|
+
require 'ripper'
|
4
|
+
rescue LoadError
|
5
|
+
end
|
6
|
+
|
7
|
+
module Haml
|
8
|
+
# Compile [:dynamic, "foo#{bar}"] to [:multi, [:static, 'foo'], [:dynamic, 'bar']]
|
9
|
+
class StringSplitter < Temple::Filter
|
10
|
+
if defined?(Ripper) && RUBY_VERSION >= "2.0.0" && Ripper.respond_to?(:lex)
|
11
|
+
class << self
|
12
|
+
# `code` param must be valid string literal
|
13
|
+
def compile(code)
|
14
|
+
[].tap do |exps|
|
15
|
+
tokens = Ripper.lex(code.strip)
|
16
|
+
tokens.pop while tokens.last && [:on_comment, :on_sp].include?(tokens.last[1])
|
17
|
+
|
18
|
+
if tokens.size < 2
|
19
|
+
raise(Haml::InternalError, "Expected token size >= 2 but got: #{tokens.size}")
|
20
|
+
end
|
21
|
+
compile_tokens!(exps, tokens)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def strip_quotes!(tokens)
|
28
|
+
_, type, beg_str = tokens.shift
|
29
|
+
if type != :on_tstring_beg
|
30
|
+
raise(Haml::InternalError, "Expected :on_tstring_beg but got: #{type}")
|
31
|
+
end
|
32
|
+
|
33
|
+
_, type, end_str = tokens.pop
|
34
|
+
if type != :on_tstring_end
|
35
|
+
raise(Haml::InternalError, "Expected :on_tstring_end but got: #{type}")
|
36
|
+
end
|
37
|
+
|
38
|
+
[beg_str, end_str]
|
39
|
+
end
|
40
|
+
|
41
|
+
def compile_tokens!(exps, tokens)
|
42
|
+
beg_str, end_str = strip_quotes!(tokens)
|
43
|
+
|
44
|
+
until tokens.empty?
|
45
|
+
_, type, str = tokens.shift
|
46
|
+
|
47
|
+
case type
|
48
|
+
when :on_tstring_content
|
49
|
+
beg_str, end_str = escape_quotes(beg_str, end_str)
|
50
|
+
exps << [:static, eval("#{beg_str}#{str}#{end_str}").to_s]
|
51
|
+
when :on_embexpr_beg
|
52
|
+
embedded = shift_balanced_embexpr(tokens)
|
53
|
+
exps << [:dynamic, embedded] unless embedded.empty?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Some quotes are split-unsafe. Replace such quotes with null characters.
|
59
|
+
def escape_quotes(beg_str, end_str)
|
60
|
+
case [beg_str[-1], end_str]
|
61
|
+
when ['(', ')'], ['[', ']'], ['{', '}']
|
62
|
+
[beg_str.sub(/.\z/) { "\0" }, "\0"]
|
63
|
+
else
|
64
|
+
[beg_str, end_str]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def shift_balanced_embexpr(tokens)
|
69
|
+
String.new.tap do |embedded|
|
70
|
+
embexpr_open = 1
|
71
|
+
|
72
|
+
until tokens.empty?
|
73
|
+
_, type, str = tokens.shift
|
74
|
+
case type
|
75
|
+
when :on_embexpr_beg
|
76
|
+
embexpr_open += 1
|
77
|
+
when :on_embexpr_end
|
78
|
+
embexpr_open -= 1
|
79
|
+
break if embexpr_open == 0
|
80
|
+
end
|
81
|
+
|
82
|
+
embedded << str
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def on_dynamic(code)
|
89
|
+
return [:dynamic, code] unless string_literal?(code)
|
90
|
+
return [:dynamic, code] if code.include?("\n")
|
91
|
+
|
92
|
+
temple = [:multi]
|
93
|
+
StringSplitter.compile(code).each do |type, content|
|
94
|
+
case type
|
95
|
+
when :static
|
96
|
+
temple << [:static, content]
|
97
|
+
when :dynamic
|
98
|
+
temple << on_dynamic(content)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
temple
|
102
|
+
end
|
103
|
+
|
104
|
+
private
|
105
|
+
|
106
|
+
def string_literal?(code)
|
107
|
+
return false if SyntaxChecker.syntax_error?(code)
|
108
|
+
|
109
|
+
type, instructions = Ripper.sexp(code)
|
110
|
+
return false if type != :program
|
111
|
+
return false if instructions.size > 1
|
112
|
+
|
113
|
+
type, _ = instructions.first
|
114
|
+
type == :string_literal
|
115
|
+
end
|
116
|
+
|
117
|
+
class SyntaxChecker < Ripper
|
118
|
+
class ParseError < StandardError; end
|
119
|
+
|
120
|
+
def self.syntax_error?(code)
|
121
|
+
self.new(code).parse
|
122
|
+
false
|
123
|
+
rescue ParseError
|
124
|
+
true
|
125
|
+
end
|
126
|
+
|
127
|
+
private
|
128
|
+
|
129
|
+
def on_parse_error(*)
|
130
|
+
raise ParseError
|
131
|
+
end
|
132
|
+
end
|
133
|
+
else
|
134
|
+
# Do nothing if ripper is unavailable
|
135
|
+
def call(ast)
|
136
|
+
ast
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
require 'temple'
|
3
|
+
require 'haml/engine'
|
4
|
+
require 'haml/helpers'
|
5
|
+
|
6
|
+
module Haml
|
7
|
+
Template = Temple::Templates::Tilt.create(
|
8
|
+
Haml::Engine,
|
9
|
+
register_as: [:haml, :haml],
|
10
|
+
)
|
11
|
+
|
12
|
+
module TemplateExtension
|
13
|
+
# Activate Haml::Helpers for tilt templates.
|
14
|
+
# https://github.com/judofyr/temple/blob/v0.7.6/lib/temple/mixins/template.rb#L7-L11
|
15
|
+
def compile(*)
|
16
|
+
"extend Haml::Helpers; #{super}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
Template.send(:extend, TemplateExtension)
|
20
|
+
end
|
data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.3.0}/lib/haml/temple_line_counter.rb
RENAMED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
2
|
module Haml
|
4
3
|
# A module to count lines of expected code. This would be faster than actual code generation
|
5
4
|
# and counting newlines in it.
|
@@ -22,6 +21,8 @@ module Haml
|
|
22
21
|
end.reduce(:+)
|
23
22
|
when :escape
|
24
23
|
count_lines(args[1])
|
24
|
+
when :newline
|
25
|
+
1
|
25
26
|
else
|
26
27
|
raise UnexpectedExpression.new("[HAML BUG] Unexpected Temple expression '#{type}' is given!")
|
27
28
|
end
|