brakeman 6.2.2 → 8.0.4
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 +93 -0
- data/README.md +4 -4
- data/bundle/load.rb +16 -14
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/LICENSE.txt +33 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/NEWS.md +1009 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/README.md +55 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb +9 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb +9 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/fields_converter.rb +96 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb +18 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/parser.rb +1302 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/row.rb +757 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/table.rb +1055 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/version.rb +6 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv/writer.rb +209 -0
- data/bundle/ruby/3.2.0/gems/csv-3.3.5/lib/csv.rb +3017 -0
- data/bundle/ruby/3.2.0/gems/erubi-1.13.1/CHANGELOG +111 -0
- data/bundle/ruby/{3.1.0/gems/erubis-2.7.0 → 3.2.0/gems/erubi-1.13.1}/MIT-LICENSE +1 -0
- data/bundle/ruby/3.2.0/gems/erubi-1.13.1/README.rdoc +151 -0
- data/bundle/ruby/3.2.0/gems/erubi-1.13.1/lib/erubi/capture_block.rb +91 -0
- data/bundle/ruby/3.2.0/gems/erubi-1.13.1/lib/erubi/capture_end.rb +58 -0
- data/bundle/ruby/3.2.0/gems/erubi-1.13.1/lib/erubi.rb +299 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/CHANGELOG.md +180 -4
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/FAQ.md +1 -1
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/Gemfile +34 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/MIT-LICENSE +1 -1
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/README.md +23 -34
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/REFERENCE.md +100 -171
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/exe/haml +6 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/haml.gemspec +45 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/ambles.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/attribute_builder.rb +162 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/attribute_compiler.rb +133 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/attribute_parser.rb +116 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/cli.rb +154 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/children_compiler.rb +155 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/comment_compiler.rb +51 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/doctype_compiler.rb +52 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/script_compiler.rb +114 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler/tag_compiler.rb +76 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/compiler.rb +97 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/dynamic_merger.rb +67 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/engine.rb +59 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/lib/haml/error.rb +5 -4
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/escape.rb +13 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/escape_any.rb +21 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/base.rb +12 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/cdata.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/coffee.rb +17 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/css.rb +33 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/erb.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/escaped.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/javascript.rb +33 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/less.rb +20 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/markdown.rb +11 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/plain.rb +29 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/preserve.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/ruby.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/sass.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/scss.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/text_base.rb +25 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters/tilt_base.rb +59 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/filters.rb +75 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/force_escape.rb +29 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/helpers.rb +15 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/html.rb +22 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/identity.rb +13 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.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.4.0}/lib/haml/parser.rb +159 -24
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/rails_helpers.rb +53 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/rails_template.rb +62 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/railtie.rb +10 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/ruby_expression.rb +32 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/string_splitter.rb +140 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/template.rb +20 -0
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.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.4.0}/lib/haml/util.rb +19 -15
- data/bundle/ruby/{3.1.0/gems/haml-5.2.2 → 3.2.0/gems/haml-6.4.0}/lib/haml/version.rb +1 -2
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml/whitespace.rb +8 -0
- data/bundle/ruby/3.2.0/gems/haml-6.4.0/lib/haml.rb +13 -0
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/Changelog.md +4 -0
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/Gemfile +1 -0
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/list_renderer.rb +2 -2
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu.rb +7 -5
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/version.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline.rb +17 -12
- 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.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/config.rb +27 -26
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/history.rb +3 -3
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/io/ansi.rb +76 -138
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/io/dumb.rb +16 -2
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/io/windows.rb +77 -60
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/io.rb +14 -0
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor/base.rb +10 -4
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor/emacs.rb +96 -96
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor/vi_command.rb +182 -182
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor/vi_insert.rb +137 -137
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_stroke.rb +26 -16
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/line_editor.rb +324 -516
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/unicode/east_asian_width.rb +48 -23
- data/bundle/ruby/3.2.0/gems/reline-0.6.3/lib/reline/unicode.rb +421 -0
- data/bundle/ruby/3.2.0/gems/reline-0.6.3/lib/reline/version.rb +3 -0
- data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline.rb +41 -33
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/NEWS.md +219 -1
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/attribute.rb +7 -8
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/cdata.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/child.rb +2 -3
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/comment.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/doctype.rb +3 -8
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/document.rb +21 -5
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/element.rb +53 -59
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/encoding.rb +3 -6
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/functions.rb +3 -3
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/instruction.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/namespace.rb +4 -4
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/node.rb +2 -2
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/baseparser.rb +208 -116
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/pullparser.rb +4 -0
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/xpathparser.rb +4 -4
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/quickpath.rb +19 -18
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/rexml.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/security.rb +2 -2
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/source.rb +68 -8
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/text.rb +29 -57
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/validation/relaxng.rb +27 -26
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/validation/validation.rb +8 -8
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/xpath.rb +2 -13
- data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/xpath_parser.rb +44 -42
- data/bundle/ruby/{3.1.0/gems/ruby2ruby-2.5.1 → 3.2.0/gems/ruby2ruby-2.5.2}/History.rdoc +6 -0
- data/bundle/ruby/{3.1.0/gems/ruby2ruby-2.5.1 → 3.2.0/gems/ruby2ruby-2.5.2}/lib/ruby2ruby.rb +7 -4
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/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.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/README.rdoc +15 -3
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/compare/normalize.rb +19 -3
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/gauntlet.md +35 -5
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_lexer.rb +9 -18
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_lexer.rex.rb +1 -2
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_parser.rb +18 -14
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser.yy → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser2.yy} +15 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser20.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser21.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser22.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser23.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser24.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser25.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser26.rb} +19 -22
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser27.rb} +21 -24
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser3.yy} +214 -79
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb → 3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser30.rb} +3339 -3351
- data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb → 3.2.0/gems/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.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_parser_extras.rb +109 -60
- data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/History.rdoc +20 -0
- data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/pt_testcase.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/sexp.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/CHANGES +4 -0
- data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/encoding.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/version.rb +1 -1
- data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/History.rdoc +149 -0
- data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/README.md +417 -0
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/cell.rb +9 -9
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/row.rb +18 -4
- data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +66 -0
- data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +284 -0
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table.rb +49 -18
- data/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +13 -0
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/version.rb +1 -1
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table.rb +2 -2
- data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/terminal-table.gemspec +3 -4
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/asciidoc.rb +12 -5
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/babel.rb +5 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/builder.rb +4 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/coffee.rb +14 -4
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/commonmarker.rb +41 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/csv.rb +63 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/erb.rb +130 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/erubi.rb +41 -8
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/etanni.rb +7 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/haml.rb +67 -1
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/kramdown.rb +59 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/liquid.rb +93 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/livescript.rb +11 -4
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/mapping.rb +9 -9
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/markaby.rb +11 -2
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/nokogiri.rb +13 -2
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/pandoc.rb +81 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/pipeline.rb +6 -1
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/plain.rb +5 -1
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/prawn.rb +17 -6
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/radius.rb +96 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/rdiscount.rb +82 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/rdoc.rb +33 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/redcarpet.rb +73 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/redcloth.rb +40 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/rst-pandoc.rb +33 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/sass.rb +16 -3
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/slim.rb +18 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/string.rb +10 -2
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/template.rb +189 -33
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/typescript.rb +5 -0
- data/bundle/ruby/3.2.0/gems/tilt-2.7.0/lib/tilt/yajl.rb +91 -0
- data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt.rb +9 -5
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
- data/bundle/ruby/{3.1.0/gems/unicode-display_width-1.8.0 → 3.2.0/gems/unicode-display_width-3.2.0}/MIT-LICENSE.txt +1 -1
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/README.md +194 -0
- 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.2.0/lib/unicode/display_width/constants.rb +10 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb +55 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/index.rb +34 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/no_string_ext.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/reline_ext.rb +14 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/string_ext.rb +9 -0
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width.rb +247 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/CODE_OF_CONDUCT.md +74 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/Gemfile +9 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/Gemfile.lock +37 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/README.md +205 -0
- 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.2.0/data/generate_constants.rb +344 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/constants.rb +50 -0
- 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.2.0/lib/unicode/emoji/generated/regex_basic.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
- 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.2.0/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
- 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_basic.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_emoji_keycap.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.2.0/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
- data/bundle/ruby/{3.1.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width → 3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji}/index.rb +5 -3
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/lazy_constants.rb +56 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/list.rb +13 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji.rb +111 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/unicode-emoji.gemspec +22 -0
- data/lib/brakeman/app_tree.rb +87 -25
- data/lib/brakeman/checks/base_check.rb +5 -2
- data/lib/brakeman/checks/check_deserialize.rb +4 -1
- data/lib/brakeman/checks/check_eol_rails.rb +1 -0
- data/lib/brakeman/checks/check_eol_ruby.rb +1 -0
- data/lib/brakeman/checks/check_evaluation.rb +45 -8
- data/lib/brakeman/checks/check_model_attr_accessible.rb +1 -0
- data/lib/brakeman/checks/check_model_attributes.rb +1 -1
- data/lib/brakeman/checks/check_render.rb +6 -27
- data/lib/brakeman/checks/check_render_rce.rb +43 -0
- data/lib/brakeman/checks/check_session_settings.rb +1 -1
- data/lib/brakeman/checks/check_sql.rb +15 -5
- data/lib/brakeman/checks/check_weak_rsa_key.rb +1 -1
- data/lib/brakeman/checks.rb +31 -25
- data/lib/brakeman/commandline.rb +22 -5
- data/lib/brakeman/file_parser.rb +2 -0
- data/lib/brakeman/file_path.rb +4 -0
- data/lib/brakeman/logger.rb +265 -0
- data/lib/brakeman/messages.rb +1 -1
- data/lib/brakeman/options.rb +22 -16
- data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
- data/lib/brakeman/parsers/rails_erubi.rb +82 -0
- data/lib/brakeman/parsers/template_parser.rb +39 -22
- data/lib/brakeman/processor.rb +4 -2
- data/lib/brakeman/processors/alias_processor.rb +18 -4
- data/lib/brakeman/processors/base_processor.rb +2 -0
- data/lib/brakeman/processors/controller_alias_processor.rb +1 -1
- data/lib/brakeman/processors/controller_processor.rb +3 -3
- data/lib/brakeman/processors/{erubis_template_processor.rb → erubi_template_procesor.rb} +3 -3
- data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
- data/lib/brakeman/processors/haml_template_processor.rb +17 -2
- data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
- data/lib/brakeman/processors/lib/rails2_config_processor.rb +5 -4
- data/lib/brakeman/processors/lib/rails2_route_processor.rb +1 -1
- data/lib/brakeman/processors/lib/rails3_config_processor.rb +11 -2
- data/lib/brakeman/processors/lib/render_helper.rb +39 -2
- data/lib/brakeman/processors/lib/render_path.rb +1 -1
- data/lib/brakeman/processors/model_processor.rb +1 -1
- data/lib/brakeman/processors/template_processor.rb +1 -1
- data/lib/brakeman/report/ignore/config.rb +1 -2
- data/lib/brakeman/report/pager.rb +1 -1
- data/lib/brakeman/report/report_html.rb +1 -1
- data/lib/brakeman/report/report_junit.rb +4 -57
- data/lib/brakeman/report/report_sarif.rb +122 -2
- data/lib/brakeman/report/templates/header.html.erb +8 -3
- data/lib/brakeman/report/templates/ignored_warnings.html.erb +3 -3
- data/lib/brakeman/rescanner.rb +40 -390
- data/lib/brakeman/scanner.rb +105 -96
- data/lib/brakeman/tracker/collection.rb +12 -2
- data/lib/brakeman/tracker/config.rb +17 -13
- data/lib/brakeman/tracker/constants.rb +17 -2
- data/lib/brakeman/tracker/controller.rb +1 -1
- data/lib/brakeman/tracker/file_cache.rb +83 -0
- data/lib/brakeman/tracker.rb +32 -17
- data/lib/brakeman/version.rb +1 -1
- data/lib/brakeman.rb +130 -55
- data/lib/ruby_parser/bm_sexp.rb +14 -0
- metadata +459 -410
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/CHANGES.txt +0 -828
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/README.txt +0 -102
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/contrib/erubis +0 -3468
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -132
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/contrib/inline-require +0 -179
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/context.rb +0 -83
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -357
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -117
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -113
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -110
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -119
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -126
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -95
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -99
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -125
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -114
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -127
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -120
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -723
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/error.rb +0 -23
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -88
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -85
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -47
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -197
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -353
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -9
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/main.rb +0 -516
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -58
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -144
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis/util.rb +0 -22
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/lib/erubis.rb +0 -73
- data/bundle/ruby/3.1.0/gems/erubis-2.7.0/setup.rb +0 -1331
- 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.5.10/lib/reline/terminfo.rb +0 -158
- data/bundle/ruby/3.1.0/gems/reline-0.5.10/lib/reline/unicode.rb +0 -671
- data/bundle/ruby/3.1.0/gems/reline-0.5.10/lib/reline/version.rb +0 -3
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/Manifest.txt +0 -48
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -2707
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -2724
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -2735
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -2737
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -2745
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -2745
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -2760
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -3360
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -3508
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -3542
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -13601
- data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -3543
- data/bundle/ruby/3.1.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
- data/bundle/ruby/3.1.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
- data/bundle/ruby/3.1.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
- data/bundle/ruby/3.1.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/creole.rb +0 -14
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/csv.rb +0 -53
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/erb.rb +0 -65
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/erubis.rb +0 -51
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/kramdown.rb +0 -13
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/liquid.rb +0 -40
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/maruku.rb +0 -10
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/pandoc.rb +0 -39
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/radius.rb +0 -41
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/rdiscount.rb +0 -23
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/rdoc.rb +0 -19
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/redcarpet.rb +0 -31
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/redcloth.rb +0 -13
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/rst-pandoc.rb +0 -10
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/slim.rb +0 -5
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/wikicloth.rb +0 -12
- data/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/yajl.rb +0 -81
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -137
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/README.md +0 -124
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
- data/bundle/ruby/3.1.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
- data/lib/brakeman/parsers/erubis_patch.rb +0 -11
- data/lib/brakeman/parsers/rails2_erubis.rb +0 -9
- data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +0 -52
- data/lib/brakeman/parsers/rails3_erubis.rb +0 -85
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/AUTHORS +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/COPYING +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/LICENSE +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/TODO +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/highline.gemspec +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/builtin_styles.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/color_scheme.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/compatibility.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/custom_errors.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/import.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/io_console_compatible.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/list.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/menu/item.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/paginator.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question/answer_converter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/question_asker.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/simulate.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/statement.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/string.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/string_extensions.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/style.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/template_renderer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/io_console.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/ncurses.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal/unix_stty.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/terminal.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/highline-3.1.1 → 3.2.0/gems/highline-3.1.2}/lib/highline/wrapper.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.5.10 → 3.2.0/gems/reline-0.6.3}/BSDL +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/COPYING +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/face.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor/composite.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/key_actor.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/lib/reline/kill_ring.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/reline-0.5.10 → 3.2.0/gems/reline-0.6.3}/license_of_rb-readline +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/attlistdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/dtd/attlistdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/dtd/dtd.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/dtd/elementdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/dtd/entitydecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/dtd/notationdecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/entity.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/formatters/default.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/formatters/pretty.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/formatters/transitive.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/light/node.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/output.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parent.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parseexception.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/lightparser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/sax2parser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/streamparser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/treeparser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/parsers/ultralightparser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/sax2listener.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/streamlistener.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/undefinednamespaceexception.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/validation/validationexception.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/xmldecl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml/xmltokens.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/rexml-3.3.8 → 3.2.0/gems/rexml-3.4.4}/lib/rexml.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby2ruby-2.5.1 → 3.2.0/gems/ruby2ruby-2.5.2}/Manifest.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby2ruby-2.5.1 → 3.2.0/gems/ruby2ruby-2.5.2}/README.rdoc +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/debugging.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/rp_extensions.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/rp_stringscanner.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_lexer.rex +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/lib/ruby_lexer_strings.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/tools/munge.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.20.3 → 3.2.0/gems/ruby_parser-3.22.0}/tools/ripper.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/Manifest.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/README.rdoc +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/lib/strict_sexp.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.17.2 → 3.2.0/gems/sexp_processor-4.17.5}/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/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/LICENSE +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/README.md +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/erb/engine.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/erb/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/erb/template.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/erb/trimming.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/exceptions.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/ambles.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/code_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/control_flow.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/dynamic_inliner.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/dynamic_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/eraser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/escapable.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/multi_flattener.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/remove_bom.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/static_analyzer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/static_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/string_splitter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/filters/validator.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generator.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generators/array.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generators/array_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generators/erb.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generators/rails_output_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/generators/string_buffer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/grammar.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/attribute_merger.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/attribute_remover.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/attribute_sorter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/dispatcher.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/fast.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/filter.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/pretty.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/html/safe.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/map.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/mixins/dispatcher.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/mixins/engine_dsl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/mixins/grammar_dsl.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/mixins/options.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/mixins/template.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/parser.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/static_analyzer.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/templates/rails.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/templates/tilt.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/templates.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple/utils.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/lib/temple.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/temple-0.10.3 → 3.2.0/gems/temple-0.10.4}/temple.gemspec +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Gemfile +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/LICENSE.txt +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Manifest +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/Todo.rdoc +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/import.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/terminal-table-1.8.0 → 3.2.0/gems/terminal-table-4.0.0}/lib/terminal-table/table_helper.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/COPYING +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/_emacs_org.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/_handlebars.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/_jbuilder.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/_org.rb +0 -0
- /data/bundle/ruby/{3.1.0/gems/tilt-2.4.0 → 3.2.0/gems/tilt-2.7.0}/lib/tilt/cli.rb +0 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Erubi
|
|
4
|
+
VERSION = '1.13.1'
|
|
5
|
+
|
|
6
|
+
# :nocov:
|
|
7
|
+
if RUBY_VERSION >= '1.9'
|
|
8
|
+
RANGE_FIRST = 0
|
|
9
|
+
RANGE_LAST = -1
|
|
10
|
+
else
|
|
11
|
+
RANGE_FIRST = 0..0
|
|
12
|
+
RANGE_LAST = -1..-1
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
MATCH_METHOD = RUBY_VERSION >= '2.4' ? :match? : :match
|
|
16
|
+
SKIP_DEFINED_FOR_INSTANCE_VARIABLE = RUBY_VERSION > '3'
|
|
17
|
+
FREEZE_TEMPLATE_LITERALS = !eval("''").frozen? && RUBY_VERSION >= '2.1'
|
|
18
|
+
# :nocov:
|
|
19
|
+
|
|
20
|
+
begin
|
|
21
|
+
require 'erb/escape'
|
|
22
|
+
define_method(:h, ERB::Escape.instance_method(:html_escape))
|
|
23
|
+
# :nocov:
|
|
24
|
+
rescue LoadError
|
|
25
|
+
begin
|
|
26
|
+
require 'cgi/escape'
|
|
27
|
+
unless CGI.respond_to?(:escapeHTML) # work around for JRuby 9.1
|
|
28
|
+
CGI = Object.new
|
|
29
|
+
CGI.extend(defined?(::CGI::Escape) ? ::CGI::Escape : ::CGI::Util)
|
|
30
|
+
end
|
|
31
|
+
# Escape characters with their HTML/XML equivalents.
|
|
32
|
+
def h(value)
|
|
33
|
+
CGI.escapeHTML(value.to_s)
|
|
34
|
+
end
|
|
35
|
+
rescue LoadError
|
|
36
|
+
ESCAPE_TABLE = {'&' => '&'.freeze, '<' => '<'.freeze, '>' => '>'.freeze, '"' => '"'.freeze, "'" => '''.freeze}.freeze
|
|
37
|
+
if RUBY_VERSION >= '1.9'
|
|
38
|
+
def h(value)
|
|
39
|
+
value.to_s.gsub(/[&<>"']/, ESCAPE_TABLE)
|
|
40
|
+
end
|
|
41
|
+
else
|
|
42
|
+
def h(value)
|
|
43
|
+
value.to_s.gsub(/[&<>"']/){|s| ESCAPE_TABLE[s]}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
# :nocov:
|
|
49
|
+
module_function :h
|
|
50
|
+
|
|
51
|
+
class Engine
|
|
52
|
+
# The default regular expression used for scanning.
|
|
53
|
+
DEFAULT_REGEXP = /<%(={1,2}|-|\#|%)?(.*?)([-=])?%>([ \t]*\r?\n)?/m
|
|
54
|
+
|
|
55
|
+
# The frozen ruby source code generated from the template, which can be evaled.
|
|
56
|
+
attr_reader :src
|
|
57
|
+
|
|
58
|
+
# The filename of the template, if one was given.
|
|
59
|
+
attr_reader :filename
|
|
60
|
+
|
|
61
|
+
# The variable name used for the buffer variable.
|
|
62
|
+
attr_reader :bufvar
|
|
63
|
+
|
|
64
|
+
# Initialize a new Erubi::Engine. Options:
|
|
65
|
+
# +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
|
|
66
|
+
# +:bufvar+ :: The variable name to use for the buffer variable, as a string.
|
|
67
|
+
# +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
|
|
68
|
+
# performance, but can cause issues when the buffer variable is reassigned during
|
|
69
|
+
# template rendering (default +false+).
|
|
70
|
+
# +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
|
|
71
|
+
# +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
|
|
72
|
+
# +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
|
|
73
|
+
# +:escape_html+ :: Same as +:escape+, with lower priority.
|
|
74
|
+
# +:filename+ :: The filename for the template.
|
|
75
|
+
# +:freeze+ :: Whether to enable add a <tt>frozen_string_literal: true</tt> magic comment at the top of
|
|
76
|
+
# the resulting source code. Note this may cause problems if you are wrapping the resulting
|
|
77
|
+
# source code in other code, because the magic comment only has an effect at the beginning of
|
|
78
|
+
# the file, and having the magic comment later in the file can trigger warnings.
|
|
79
|
+
# +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
|
|
80
|
+
# (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
|
|
81
|
+
# Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
|
|
82
|
+
# in order to improve performance.
|
|
83
|
+
# +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
|
|
84
|
+
# +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
|
|
85
|
+
# +:outvar+ :: Same as +:bufvar+, with lower priority.
|
|
86
|
+
# +:postamble+ :: The postamble for the template, by default returns the resulting source code.
|
|
87
|
+
# +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
|
|
88
|
+
# +:regexp+ :: The regexp to use for scanning.
|
|
89
|
+
# +:src+ :: The initial value to use for the source code, an empty string by default.
|
|
90
|
+
# +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
|
|
91
|
+
def initialize(input, properties={})
|
|
92
|
+
@escape = escape = properties.fetch(:escape){properties.fetch(:escape_html, false)}
|
|
93
|
+
trim = properties[:trim] != false
|
|
94
|
+
@filename = properties[:filename]
|
|
95
|
+
@bufvar = bufvar = properties[:bufvar] || properties[:outvar] || "_buf"
|
|
96
|
+
bufval = properties[:bufval] || '::String.new'
|
|
97
|
+
regexp = properties[:regexp] || DEFAULT_REGEXP
|
|
98
|
+
literal_prefix = properties[:literal_prefix] || '<%'
|
|
99
|
+
literal_postfix = properties[:literal_postfix] || '%>'
|
|
100
|
+
preamble = properties[:preamble] || "#{bufvar} = #{bufval};"
|
|
101
|
+
postamble = properties[:postamble] || "#{bufvar}.to_s\n"
|
|
102
|
+
@chain_appends = properties[:chain_appends]
|
|
103
|
+
@text_end = if properties.fetch(:freeze_template_literals, FREEZE_TEMPLATE_LITERALS)
|
|
104
|
+
"'.freeze"
|
|
105
|
+
else
|
|
106
|
+
"'"
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
@buffer_on_stack = false
|
|
110
|
+
@src = src = properties[:src] || String.new
|
|
111
|
+
src << "# frozen_string_literal: true\n" if properties[:freeze]
|
|
112
|
+
if properties[:ensure]
|
|
113
|
+
src << "begin; __original_outvar = #{bufvar}"
|
|
114
|
+
if SKIP_DEFINED_FOR_INSTANCE_VARIABLE && /\A@[^@]/ =~ bufvar
|
|
115
|
+
src << "; "
|
|
116
|
+
else
|
|
117
|
+
src << " if defined?(#{bufvar}); "
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
unless @escapefunc = properties[:escapefunc]
|
|
122
|
+
if escape
|
|
123
|
+
@escapefunc = '__erubi.h'
|
|
124
|
+
src << "__erubi = ::Erubi; "
|
|
125
|
+
else
|
|
126
|
+
@escapefunc = '::Erubi.h'
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
src << preamble
|
|
131
|
+
|
|
132
|
+
pos = 0
|
|
133
|
+
is_bol = true
|
|
134
|
+
input.scan(regexp) do |indicator, code, tailch, rspace|
|
|
135
|
+
match = Regexp.last_match
|
|
136
|
+
len = match.begin(0) - pos
|
|
137
|
+
text = input[pos, len]
|
|
138
|
+
pos = match.end(0)
|
|
139
|
+
ch = indicator ? indicator[RANGE_FIRST] : nil
|
|
140
|
+
|
|
141
|
+
lspace = nil
|
|
142
|
+
|
|
143
|
+
unless ch == '='
|
|
144
|
+
if text.empty?
|
|
145
|
+
lspace = "" if is_bol
|
|
146
|
+
elsif text[RANGE_LAST] == "\n"
|
|
147
|
+
lspace = ""
|
|
148
|
+
else
|
|
149
|
+
rindex = text.rindex("\n")
|
|
150
|
+
if rindex
|
|
151
|
+
range = rindex+1..-1
|
|
152
|
+
s = text[range]
|
|
153
|
+
if /\A[ \t]*\z/.send(MATCH_METHOD, s)
|
|
154
|
+
lspace = s
|
|
155
|
+
text[range] = ''
|
|
156
|
+
end
|
|
157
|
+
else
|
|
158
|
+
if is_bol && /\A[ \t]*\z/.send(MATCH_METHOD, text)
|
|
159
|
+
lspace = text
|
|
160
|
+
text = ''
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
is_bol = rspace
|
|
167
|
+
add_text(text)
|
|
168
|
+
case ch
|
|
169
|
+
when '='
|
|
170
|
+
rspace = nil if tailch && !tailch.empty?
|
|
171
|
+
add_expression(indicator, code)
|
|
172
|
+
add_text(rspace) if rspace
|
|
173
|
+
when nil, '-'
|
|
174
|
+
if trim && lspace && rspace
|
|
175
|
+
add_code("#{lspace}#{code}#{rspace}")
|
|
176
|
+
else
|
|
177
|
+
add_text(lspace) if lspace
|
|
178
|
+
add_code(code)
|
|
179
|
+
add_text(rspace) if rspace
|
|
180
|
+
end
|
|
181
|
+
when '#'
|
|
182
|
+
n = code.count("\n") + (rspace ? 1 : 0)
|
|
183
|
+
if trim && lspace && rspace
|
|
184
|
+
add_code("\n" * n)
|
|
185
|
+
else
|
|
186
|
+
add_text(lspace) if lspace
|
|
187
|
+
add_code("\n" * n)
|
|
188
|
+
add_text(rspace) if rspace
|
|
189
|
+
end
|
|
190
|
+
when '%'
|
|
191
|
+
add_text("#{lspace}#{literal_prefix}#{code}#{tailch}#{literal_postfix}#{rspace}")
|
|
192
|
+
else
|
|
193
|
+
handle(indicator, code, tailch, rspace, lspace)
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
rest = pos == 0 ? input : input[pos..-1]
|
|
197
|
+
add_text(rest)
|
|
198
|
+
|
|
199
|
+
src << "\n" unless src[RANGE_LAST] == "\n"
|
|
200
|
+
add_postamble(postamble)
|
|
201
|
+
src << "; ensure\n " << bufvar << " = __original_outvar\nend\n" if properties[:ensure]
|
|
202
|
+
src.freeze
|
|
203
|
+
freeze
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
private
|
|
207
|
+
|
|
208
|
+
if RUBY_VERSION >= '2.3'
|
|
209
|
+
def _dup_string_if_frozen(string)
|
|
210
|
+
+string
|
|
211
|
+
end
|
|
212
|
+
# :nocov:
|
|
213
|
+
else
|
|
214
|
+
def _dup_string_if_frozen(string)
|
|
215
|
+
string.frozen? ? string.dup : string
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
# :nocov:
|
|
219
|
+
|
|
220
|
+
# Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
|
|
221
|
+
# Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
|
|
222
|
+
def add_text(text)
|
|
223
|
+
return if text.empty?
|
|
224
|
+
|
|
225
|
+
text = _dup_string_if_frozen(text)
|
|
226
|
+
text.gsub!(/['\\]/, '\\\\\&')
|
|
227
|
+
|
|
228
|
+
with_buffer{@src << " << '" << text << @text_end}
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Add ruby code to the template
|
|
232
|
+
def add_code(code)
|
|
233
|
+
terminate_expression
|
|
234
|
+
@src << code
|
|
235
|
+
@src << ';' unless code[RANGE_LAST] == "\n"
|
|
236
|
+
@buffer_on_stack = false
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# Add the given ruby expression result to the template,
|
|
240
|
+
# escaping it based on the indicator given and escape flag.
|
|
241
|
+
def add_expression(indicator, code)
|
|
242
|
+
if ((indicator == '=') ^ @escape)
|
|
243
|
+
add_expression_result(code)
|
|
244
|
+
else
|
|
245
|
+
add_expression_result_escaped(code)
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
# Add the result of Ruby expression to the template
|
|
250
|
+
def add_expression_result(code)
|
|
251
|
+
with_buffer{@src << ' << (' << code << ').to_s'}
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
# Add the escaped result of Ruby expression to the template
|
|
255
|
+
def add_expression_result_escaped(code)
|
|
256
|
+
with_buffer{@src << ' << ' << @escapefunc << '((' << code << '))'}
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# Add the given postamble to the src. Can be overridden in subclasses
|
|
260
|
+
# to make additional changes to src that depend on the current state.
|
|
261
|
+
def add_postamble(postamble)
|
|
262
|
+
terminate_expression
|
|
263
|
+
@src << postamble
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
# Raise an exception, as the base engine class does not support handling other indicators.
|
|
267
|
+
def handle(indicator, code, tailch, rspace, lspace)
|
|
268
|
+
raise ArgumentError, "Invalid indicator: #{indicator}"
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
# Make sure the buffer variable is the target of the next append
|
|
272
|
+
# before yielding to the block. Mark that the buffer is the target
|
|
273
|
+
# of the next append after the block executes.
|
|
274
|
+
#
|
|
275
|
+
# This method should only be called if the block will result in
|
|
276
|
+
# code where << will append to the bufvar.
|
|
277
|
+
def with_buffer
|
|
278
|
+
if @chain_appends
|
|
279
|
+
unless @buffer_on_stack
|
|
280
|
+
@src << '; ' << @bufvar
|
|
281
|
+
end
|
|
282
|
+
yield
|
|
283
|
+
@buffer_on_stack = true
|
|
284
|
+
else
|
|
285
|
+
@src << ' ' << @bufvar
|
|
286
|
+
yield
|
|
287
|
+
@src << ';'
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
# Make sure that any current expression has been terminated.
|
|
292
|
+
# The default is to terminate all expressions, but when
|
|
293
|
+
# the chain_appends option is used, expressions may not be
|
|
294
|
+
# terminated.
|
|
295
|
+
def terminate_expression
|
|
296
|
+
@src << '; ' if @chain_appends
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
end
|
|
@@ -1,12 +1,188 @@
|
|
|
1
1
|
# Haml Changelog
|
|
2
2
|
|
|
3
|
+
## 6.4.0
|
|
4
|
+
|
|
5
|
+
* Authorize characters in attribute name for vuejs https://github.com/haml/haml/pull/1172
|
|
6
|
+
* Compile new-style attributes statically https://github.com/haml/haml/pull/1165
|
|
7
|
+
* Remove newlines from template annotation comments https://github.com/haml/haml/pull/1186
|
|
8
|
+
* Fix line numbers within a :ruby filter https://github.com/haml/haml/pull/1166
|
|
9
|
+
* Fix .class + nested class array bug https://github.com/haml/haml/pull/1191
|
|
10
|
+
|
|
11
|
+
## 6.3.1
|
|
12
|
+
|
|
13
|
+
* Optimize string transformation using `String#tr` https://github.com/haml/haml/pull/1168
|
|
14
|
+
* Provide a Changelog link on rubygems.org https://github.com/haml/haml/pull/1157
|
|
15
|
+
|
|
16
|
+
## 6.3.0
|
|
17
|
+
|
|
18
|
+
* Remove `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo [#1152](https://github.com/haml/haml/issues/1152), [#1154](https://github.com/haml/haml/issues/1154) ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
19
|
+
* See [the reference](https://github.com/haml/haml/blob/v6.3.0/REFERENCE.md#turbo) for suggested alternatives.
|
|
20
|
+
|
|
21
|
+
## 6.2.5
|
|
22
|
+
|
|
23
|
+
* Deprecate `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
24
|
+
|
|
25
|
+
## 6.2.4
|
|
26
|
+
|
|
27
|
+
* Support case-in statement [#1155](https://github.com/haml/haml/issues/1155)
|
|
28
|
+
|
|
29
|
+
## 6.2.3
|
|
30
|
+
|
|
31
|
+
* Resurrect RDFa doctype support [#1147](https://github.com/haml/haml/issues/1147)
|
|
32
|
+
|
|
33
|
+
## 6.2.2
|
|
34
|
+
|
|
35
|
+
* Allow adding custom attributes to `Haml::BOOLEAN_ATTRIBUTES` [#1148](https://github.com/haml/haml/issues/1148)
|
|
36
|
+
* Consider `aria-xxx: false` as a boolean attribute
|
|
37
|
+
|
|
38
|
+
## 6.2.1
|
|
39
|
+
|
|
40
|
+
* Fix v6.2.0's bug in rendering dynamic `aria` attributes [#1149](https://github.com/haml/haml/issues/1149)
|
|
41
|
+
|
|
42
|
+
## 6.2.0
|
|
43
|
+
|
|
44
|
+
* Drop the C extension [#1146](https://github.com/haml/haml/issues/1146)
|
|
45
|
+
|
|
46
|
+
## 6.1.4
|
|
47
|
+
|
|
48
|
+
* Let `Haml::Util.escape_html` use `ERB::Escape` if available [#1145](https://github.com/haml/haml/issues/1145)
|
|
49
|
+
|
|
50
|
+
## 6.1.3
|
|
51
|
+
|
|
52
|
+
* Add `Haml::RailsTemplate#default_format` for Turbo compatibility [#1144](https://github.com/haml/haml/issues/1144)
|
|
53
|
+
|
|
54
|
+
## 6.1.2
|
|
55
|
+
|
|
56
|
+
* Use the rails template path as `filename` [#1140](https://github.com/haml/haml/issues/1140)
|
|
57
|
+
|
|
58
|
+
## 6.1.1
|
|
59
|
+
|
|
60
|
+
* Fix an empty output of Ruby 3.1's Hash shorthand syntax [#1083](https://github.com/haml/haml/issues/1083)
|
|
61
|
+
|
|
62
|
+
## 6.1.0
|
|
63
|
+
|
|
64
|
+
* Optimize away a `to_s` call on `=` scripts
|
|
65
|
+
* Fix escaping for objects that return an `html_safe` string on `to_s` [#1117](https://github.com/haml/haml/issues/1117)
|
|
66
|
+
|
|
67
|
+
## 6.0.12
|
|
68
|
+
|
|
69
|
+
* Fix a whitespace removal with `>` and an `if`-`else` statement [#1114](https://github.com/haml/haml/issues/1114)
|
|
70
|
+
|
|
71
|
+
## 6.0.11
|
|
72
|
+
|
|
73
|
+
* Fix a whitespace removal with `>` and an `if` statement [#1114](https://github.com/haml/haml/issues/1114)
|
|
74
|
+
|
|
75
|
+
## 6.0.10
|
|
76
|
+
|
|
77
|
+
* Evaluate :erb filter in the template context like Haml 5
|
|
78
|
+
|
|
79
|
+
## 6.0.9
|
|
80
|
+
|
|
81
|
+
* Support sass-embedded [#1112](https://github.com/haml/haml/issues/1112)
|
|
82
|
+
|
|
83
|
+
## 6.0.8
|
|
84
|
+
|
|
85
|
+
* Support interpolation in HTML comments, which has not been working since 6.0.0
|
|
86
|
+
[#1107](https://github.com/haml/haml/issues/1107)
|
|
87
|
+
|
|
88
|
+
## 6.0.7
|
|
89
|
+
|
|
90
|
+
* `Haml::Engine` and `Haml::Template` use StringBuffer instead of ArrayBuffer
|
|
91
|
+
* It seems more performant in many cases with recent Ruby versions.
|
|
92
|
+
* `Haml::RailsTemplate` is not affected.
|
|
93
|
+
|
|
94
|
+
## 6.0.6
|
|
95
|
+
|
|
96
|
+
* Prevent CRuby from accidentally using the Ruby implementation fallback
|
|
97
|
+
* Reversing what v6.0.3 and v6.0.4 did, but still supporting Wasm.
|
|
98
|
+
|
|
99
|
+
## 6.0.5
|
|
100
|
+
|
|
101
|
+
* Resurrect `#haml_object_ref` support in an object reference [#1097](https://github.com/haml/haml/issues/1097)
|
|
102
|
+
* This was removed in 6.0.0, and added back in this version.
|
|
103
|
+
* Stop warning `remove_whitespace: true` option.
|
|
104
|
+
|
|
105
|
+
## 6.0.4
|
|
106
|
+
|
|
107
|
+
Released on October 2, 2022
|
|
108
|
+
([diff](https://github.com/haml/haml/compare/v6.0.3...v6.0.4)).
|
|
109
|
+
|
|
110
|
+
* Fix a parse failure of `%` in attributes [#1096](https://github.com/haml/haml/issues/1096)
|
|
111
|
+
* Add another fallback from C to Ruby for Wasm.
|
|
112
|
+
|
|
113
|
+
## 6.0.3
|
|
114
|
+
|
|
115
|
+
Released on September 28, 2022
|
|
116
|
+
([diff](https://github.com/haml/haml/compare/v6.0.2...v6.0.3)).
|
|
117
|
+
|
|
118
|
+
* For Wasm, fallback to Ruby when C extension is not available.
|
|
119
|
+
|
|
120
|
+
## 6.0.2
|
|
121
|
+
|
|
122
|
+
Released on September 28, 2022
|
|
123
|
+
([diff](https://github.com/haml/haml/compare/v6.0.1...v6.0.2)).
|
|
124
|
+
|
|
125
|
+
* Unescape HTML-safe arguments for `surround`, `succeed`, and `precede` on Rails
|
|
126
|
+
[#1088](https://github.com/haml/haml/issues/1088)
|
|
127
|
+
|
|
128
|
+
## 6.0.1
|
|
129
|
+
|
|
130
|
+
Released on September 23, 2022
|
|
131
|
+
([diff](https://github.com/haml/haml/compare/v6.0.0...v6.0.1)).
|
|
132
|
+
|
|
133
|
+
* Unescape HTML-safe interpolation on Rails [#1084](https://github.com/haml/haml/issues/1084)
|
|
134
|
+
* Resurrect Haml 5's `AttributeParser.available?` for syntax\_tree-haml [#1085](https://github.com/haml/haml/issues/1085)
|
|
135
|
+
|
|
136
|
+
## 6.0.0
|
|
137
|
+
|
|
138
|
+
Released on September 21, 2022
|
|
139
|
+
([diff](https://github.com/haml/haml/compare/v5.2.2...v6.0.0)).
|
|
140
|
+
|
|
141
|
+
* Replace the implementation with Hamlit
|
|
142
|
+
* Haml 6 is about 1.7x faster than Haml 5 in [this benchmark](benchmark/slim/run-benchmarks.rb).
|
|
143
|
+
* The parser is kept as is, but everything else is replaced.
|
|
144
|
+
* The `haml` CLI interface was also replaced.
|
|
145
|
+
* The interface of `Haml::Engine` is changed. `Haml::Template` is most likely what you need now.
|
|
146
|
+
* before: `Haml::Engine.new("%p Haml code!").render`
|
|
147
|
+
* after: `Haml::Template.new { "%p Haml code!" }.render`
|
|
148
|
+
* Most Haml helpers are removed.
|
|
149
|
+
* Rails:
|
|
150
|
+
* Kept: `find_and_reserve`, `preserve`, `surround`, `precede`, `succeed`, `capture_haml`
|
|
151
|
+
* Removed: `block_is_haml?`, `flatten`, `haml_concat`, `haml_indent`, `haml_tag`, `haml_tag_if`, `html_attrs`,
|
|
152
|
+
`html_escape`, `init_haml_helpers`, `is_haml?`, `list_of`, `non_haml`, `tab_down`, `tab_up`, `with_tabs`
|
|
153
|
+
* Tilt:
|
|
154
|
+
* Kept: `preserve`
|
|
155
|
+
* Removed: `block_is_haml?`, `capture_haml`, `escape_once`, `find_and_preserve`, `flatten`, `haml_concat`,
|
|
156
|
+
`haml_indent`, `haml_tag`, `haml_tag_if`, `html_attrs`, `html_escape`, `init_haml_helpers`, `is_haml?`,
|
|
157
|
+
`list_of`, `non_haml`, `precede`, `succeed`, `surround`, `tab_down`, `tab_up`, `with_tabs`
|
|
158
|
+
* `:ruby` filter
|
|
159
|
+
* Removed: `haml_io`
|
|
160
|
+
* Alternatives to the removed helpers:
|
|
161
|
+
* Some simple ones could work by copying [the original definition](https://github.com/haml/haml/blob/v5.2.2/lib/haml/helpers.rb).
|
|
162
|
+
* For helpers generating general HTML tags, also consider using what your framework provides, e.g. Rails `content_tag`.
|
|
163
|
+
Same applies to `capture_haml`, e.g. Rails `capture`.
|
|
164
|
+
* Ones that rely on `Haml::Buffer` have no direct alternative by design. They existed at the cost of performance.
|
|
165
|
+
You need to define a helper, instantiate a String buffer in it, append stuff to it, and call it inside `=`.
|
|
166
|
+
* Only the following attributes and `aria`/`data` attributes are considered boolean attributes:
|
|
167
|
+
* `allowfullscreen`, `async`, `autobuffer`, `autofocus`, `autoplay`, `checked`, `controls`, `default`,
|
|
168
|
+
`defer`, `disabled`, `download`, `formnovalidate`, `hidden`, `inert`, `ismap`, `itemscope`, `loop`,
|
|
169
|
+
`multiple`, `muted`, `novalidate`, `open`, `pubdate`, `readonly`, `required`, `reversed`, `scoped`,
|
|
170
|
+
`seamless`, `selected`, `sortable`, `truespeed`, `typemustmatch`
|
|
171
|
+
* Only `data` and `aria` attributes support using a nested Hash to render hyphenated attributes, e.g.
|
|
172
|
+
`data: { foo: 'bar' }` becomes `data-foo="bar"`, but this no longer works for non-`data`/`aria` attributes.
|
|
173
|
+
* Some legacy Rails integration is removed.
|
|
174
|
+
* The default value of `escape_html` option became true.
|
|
175
|
+
* `-` script lines no longer support capturing. Only `=` lines are supported to yield a nested block.
|
|
176
|
+
* Overriding `data` attributes with another falsy `data-*` attribute that has the same name
|
|
177
|
+
is no longer supported. [#1105](https://github.com/haml/haml/issues/1105)
|
|
178
|
+
* :erb filter is not executed in the template context (fixed in 6.0.10)
|
|
179
|
+
|
|
3
180
|
## 5.2.2
|
|
181
|
+
|
|
4
182
|
Released on July 27, 2021
|
|
5
183
|
([diff](https://github.com/haml/haml/compare/v5.2.1...v5.2.2)).
|
|
6
184
|
|
|
7
|
-
* Support
|
|
8
|
-
* Expanded test matrix to include Ruby 3.0 and Rails 6.1
|
|
9
|
-
* Only testing Ruby 2.7+ and Rails 5.2+
|
|
185
|
+
* Support `config.action_view.annotate_rendered_view_with_filenames = true` of Rails 6.1
|
|
10
186
|
|
|
11
187
|
## 5.2.1
|
|
12
188
|
|
|
@@ -1311,7 +1487,7 @@ Haml 2.2 introduces a new syntax for attributes
|
|
|
1311
1487
|
based on the HTML syntax.
|
|
1312
1488
|
For example:
|
|
1313
1489
|
|
|
1314
|
-
%a(href="
|
|
1490
|
+
%a(href="https://haml.info" title="Haml's so cool!")
|
|
1315
1491
|
%img(src="/images/haml.png" alt="Haml")
|
|
1316
1492
|
|
|
1317
1493
|
There are two main reasons for this.
|
|
@@ -141,7 +141,7 @@ For other plugins, a little searching will probably turn up a way to fix them as
|
|
|
141
141
|
|
|
142
142
|
## You still haven't answered my question!
|
|
143
143
|
|
|
144
|
-
Sorry! Try looking at the [Haml](
|
|
144
|
+
Sorry! Try looking at the [Haml](https://haml.info/docs/yardoc/file.REFERENCE.html) reference,
|
|
145
145
|
If you can't find an answer there,
|
|
146
146
|
feel free to ask in `#haml` on irc.freenode.net
|
|
147
147
|
or send an email to the [mailing list](http://groups.google.com/group/haml).
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
git_source(:github) do |repo_name|
|
|
4
|
+
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
|
5
|
+
"https://github.com/#{repo_name}.git"
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
# Specify your gem's dependencies in haml.gemspec
|
|
9
|
+
gemspec
|
|
10
|
+
|
|
11
|
+
gem 'benchmark-ips', '2.3.0'
|
|
12
|
+
gem 'maxitest'
|
|
13
|
+
gem 'pry'
|
|
14
|
+
|
|
15
|
+
if /java/ === RUBY_PLATFORM # JRuby
|
|
16
|
+
gem 'pandoc-ruby'
|
|
17
|
+
else
|
|
18
|
+
gem 'redcarpet'
|
|
19
|
+
|
|
20
|
+
if RUBY_PLATFORM !~ /mswin|mingw/ && RUBY_ENGINE != 'truffleruby'
|
|
21
|
+
gem 'stackprof'
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
if RUBY_VERSION < '2.6'
|
|
26
|
+
gem 'rake-compiler', '< 1.2.4'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Temporary workaround to ensure Ruby 2.5 and 2.6 can pass tests with Rails 6.1
|
|
30
|
+
# Reference: https://github.com/rails/rails/issues/54260
|
|
31
|
+
# TODO: Remove this workaround when dropping support for Rails versions below 7.1
|
|
32
|
+
if RUBY_VERSION < '2.7'
|
|
33
|
+
gem 'concurrent-ruby', '< 1.3.5'
|
|
34
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (c) 2006-
|
|
1
|
+
Copyright (c) 2006-2021 Hampton Catlin, Natalie Weizenbaum and Takashi Kokubun
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
4
|
a copy of this software and associated documentation files (the
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
# Haml
|
|
2
2
|
|
|
3
|
-
[](
|
|
4
|
-
[](https://rubygems.org/gems/haml)
|
|
4
|
+
[](https://github.com/haml/haml/actions/workflows/test.yml)
|
|
5
5
|
[](https://codeclimate.com/github/haml/haml)
|
|
6
|
-
[](https://inch-ci.org/github/haml/haml)
|
|
7
|
+
[](https://discord.gg/G8dEAwvV2Y)
|
|
7
8
|
|
|
8
9
|
Haml is a templating engine for HTML. It's designed to make it both easier and
|
|
9
10
|
more pleasant to write HTML documents, by eliminating redundancy, reflecting the
|
|
10
11
|
underlying structure that the document represents, and providing an elegant syntax
|
|
11
12
|
that's both powerful and easy to understand.
|
|
12
13
|
|
|
13
|
-
### Supported Versions
|
|
14
|
-
|
|
15
|
-
* Ruby 2.6+
|
|
16
|
-
* Rails 5.1+
|
|
17
|
-
|
|
18
|
-
Other versions may likely work, but we don't test against them.
|
|
19
|
-
|
|
20
14
|
## Basic Usage
|
|
21
15
|
|
|
22
16
|
Haml can be used from the command line or as part of a Ruby web framework. The
|
|
@@ -29,7 +23,7 @@ gem install haml
|
|
|
29
23
|
After you write some Haml, you can run
|
|
30
24
|
|
|
31
25
|
~~~sh
|
|
32
|
-
haml document.haml
|
|
26
|
+
haml render document.haml
|
|
33
27
|
~~~
|
|
34
28
|
|
|
35
29
|
to compile it to HTML. For more information on these commands, check out
|
|
@@ -38,7 +32,7 @@ to compile it to HTML. For more information on these commands, check out
|
|
|
38
32
|
haml --help
|
|
39
33
|
~~~
|
|
40
34
|
|
|
41
|
-
To use Haml programmatically, check out the [YARD documentation](
|
|
35
|
+
To use Haml programmatically, check out the [YARD documentation](https://haml.info/docs/yardoc/).
|
|
42
36
|
|
|
43
37
|
## Using Haml with Rails
|
|
44
38
|
|
|
@@ -48,8 +42,8 @@ To use Haml with Rails, simply add Haml to your Gemfile and run `bundle`.
|
|
|
48
42
|
gem 'haml'
|
|
49
43
|
~~~
|
|
50
44
|
|
|
51
|
-
If you'd like to replace Rails's
|
|
52
|
-
[haml-rails](https://github.com/
|
|
45
|
+
If you'd like to replace Rails's ERB-based generators with Haml, add
|
|
46
|
+
[haml-rails](https://github.com/haml/haml-rails) to your Gemfile as well.
|
|
53
47
|
|
|
54
48
|
## Formatting
|
|
55
49
|
|
|
@@ -127,7 +121,7 @@ output the result. You can even use control statements like `if` and `while`:
|
|
|
127
121
|
~~~
|
|
128
122
|
|
|
129
123
|
Haml provides far more tools than those presented here. Check out the [reference
|
|
130
|
-
documentation](
|
|
124
|
+
documentation](https://haml.info/docs/yardoc/file.REFERENCE.html)
|
|
131
125
|
for full details.
|
|
132
126
|
|
|
133
127
|
### Indentation
|
|
@@ -139,7 +133,7 @@ can't be mixed, and the same number of tabs or spaces must be used throughout.
|
|
|
139
133
|
## Contributing
|
|
140
134
|
|
|
141
135
|
Contributions are welcomed, but before you get started please read the
|
|
142
|
-
[guidelines](
|
|
136
|
+
[guidelines](https://haml.info/development.html#contributing).
|
|
143
137
|
|
|
144
138
|
After forking and then cloning the repo locally, install Bundler and then use it
|
|
145
139
|
to install the development gem dependencies:
|
|
@@ -153,12 +147,6 @@ Once this is complete, you should be able to run the test suite:
|
|
|
153
147
|
rake
|
|
154
148
|
~~~
|
|
155
149
|
|
|
156
|
-
You'll get a warning that you need to install haml-spec, so run this:
|
|
157
|
-
|
|
158
|
-
~~~sh
|
|
159
|
-
git submodule update --init
|
|
160
|
-
~~~
|
|
161
|
-
|
|
162
150
|
At this point `rake` should run without error or warning and you are ready to
|
|
163
151
|
start working on your patch!
|
|
164
152
|
|
|
@@ -169,34 +157,35 @@ on a specific area:
|
|
|
169
157
|
ruby -Itest test/helper_test.rb -n test_buffer_access
|
|
170
158
|
~~~
|
|
171
159
|
|
|
172
|
-
Haml currently supports Ruby 2.
|
|
160
|
+
Haml currently supports Ruby 2.0.0 and higher, so please make sure your changes run on 2.0+.
|
|
173
161
|
|
|
174
162
|
## Team
|
|
175
163
|
|
|
176
164
|
### Current Maintainers
|
|
177
165
|
|
|
178
|
-
* [Hampton Catlin](https://github.com/hcatlin)
|
|
179
|
-
* [Takashi Kokubun](https://github.com/k0kubun)
|
|
180
166
|
* [Akira Matsuda](https://github.com/amatsuda)
|
|
167
|
+
* [Matt Wildig](https://github.com/mattwildig)
|
|
168
|
+
* [Tee Parham](https://github.com/teeparham)
|
|
169
|
+
* [Takashi Kokubun](https://github.com/k0kubun)
|
|
181
170
|
|
|
182
171
|
### Alumni
|
|
183
172
|
|
|
184
173
|
Haml was created by [Hampton Catlin](http://hamptoncatlin.com), the author of
|
|
185
|
-
the original implementation.
|
|
174
|
+
the original implementation. Hampton is no longer involved in day-to-day coding,
|
|
175
|
+
but still consults on language issues.
|
|
186
176
|
|
|
187
|
-
[Natalie Weizenbaum](
|
|
177
|
+
[Natalie Weizenbaum](http://nex-3.com) was for many years the primary developer
|
|
188
178
|
and architect of the "modern" Ruby implementation of Haml.
|
|
189
179
|
|
|
190
|
-
|
|
191
|
-
alive! as former maintainers like:
|
|
192
|
-
|
|
193
|
-
[Norman Clarke](http://github.com/norman)
|
|
194
|
-
[Matt Wildig](https://github.com/mattwildig)
|
|
195
|
-
[Tee Parham](https://github.com/teeparham)
|
|
180
|
+
[Norman Clarke](https://github.com/norman) was the primary maintainer of Haml from 2012 to 2016.
|
|
196
181
|
|
|
197
182
|
## License
|
|
198
183
|
|
|
199
|
-
|
|
184
|
+
Some of Natalie's work on Haml was supported by Unspace Interactive.
|
|
185
|
+
|
|
186
|
+
Beyond that, the implementation is licensed under the MIT License.
|
|
187
|
+
|
|
188
|
+
Copyright (c) 2006-2019 Hampton Catlin, Natalie Weizenbaum and the Haml team
|
|
200
189
|
|
|
201
190
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
202
191
|
this software and associated documentation files (the "Software"), to deal in
|