brakeman 4.4.0 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of brakeman might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGES.md +17 -0
- data/bundle/load.rb +7 -8
- data/bundle/ruby/2.5.0/gems/{ruby2ruby-2.4.1 → ruby2ruby-2.4.2}/History.rdoc +8 -0
- data/bundle/ruby/2.5.0/gems/{ruby2ruby-2.4.1 → ruby2ruby-2.4.2}/Manifest.txt +0 -0
- data/bundle/ruby/2.5.0/gems/{ruby2ruby-2.4.1 → ruby2ruby-2.4.2}/README.rdoc +0 -0
- data/bundle/ruby/2.5.0/gems/{ruby2ruby-2.4.1 → ruby2ruby-2.4.2}/lib/ruby2ruby.rb +34 -36
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/History.rdoc +47 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/Manifest.txt +5 -4
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/README.rdoc +0 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/compare/normalize.rb +29 -2
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/debugging.md +18 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/rp_extensions.rb +0 -7
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/rp_stringscanner.rb +0 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby20_parser.rb +6874 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby20_parser.y +284 -201
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby21_parser.rb +6952 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby21_parser.y +281 -197
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby22_parser.rb +6983 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib/ruby_parser.yy → ruby_parser-3.13.0/lib/ruby22_parser.y} +280 -306
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby23_parser.rb +6982 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby23_parser.y +282 -203
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby24_parser.rb +6982 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby24_parser.y +282 -203
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby25_parser.rb +6981 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby25_parser.y +282 -203
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby26_parser.rb +6999 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby26_parser.y +2469 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby_lexer.rb +116 -118
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby_lexer.rex +10 -8
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby_lexer.rex.rb +8 -8
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0 → ruby_parser-3.13.0}/lib/ruby_parser.rb +5 -7
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby_parser.yy +2571 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/lib/ruby_parser_extras.rb +1360 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/tools/munge.rb +216 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.13.0/tools/ripper.rb +23 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +6 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +19 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +54 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +5 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib → ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby18_parser.rb +7 -6
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib → ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby18_parser.y +5 -4
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib → ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby19_parser.rb +7 -6
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib → ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby19_parser.y +5 -4
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +1412 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +179 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +323 -0
- data/bundle/ruby/2.5.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +30 -0
- data/bundle/ruby/2.5.0/gems/{ruby_parser-3.12.0/lib → ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby_parser_extras.rb +43 -33
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/CHANGES.md +5 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/Gemfile +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/LICENSE.txt +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/README.md +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/bundle_install_all_ruby_versions.sh +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/deep.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/libyaml_checker.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/load.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/parse/date.rb +2 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/parse/hexadecimal.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/parse/sexagesimal.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/psych_handler.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/psych_resolver.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/resolver.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -0
- data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +39 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/syck_hack.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/syck_node_monkeypatch.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/syck_resolver.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_boolean.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_date.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_float.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_integer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_nil.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/to_symbol.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/transform/transformation_map.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/lib/safe_yaml/version.rb +1 -1
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/run_specs_all_ruby_versions.sh +0 -0
- data/bundle/ruby/2.5.0/gems/{safe_yaml-1.0.4 → safe_yaml-1.0.5}/safe_yaml.gemspec +0 -0
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/History.rdoc +8 -0
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/Manifest.txt +0 -0
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/README.rdoc +0 -0
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/composite_sexp_processor.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/pt_testcase.rb +2 -2
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/sexp.rb +4 -4
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/strict_sexp.rb +3 -3
- data/bundle/ruby/2.5.0/gems/{sexp_processor-4.11.0 → sexp_processor-4.12.0}/lib/unique.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/CHANGES +6 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/EXPRESSIONS.md +1 -1
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/Gemfile +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/LICENSE +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/README.md +1 -1
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/engine.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/erb/engine.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/erb/parser.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/erb/template.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/erb/trimming.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/exceptions.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filter.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/code_merger.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/control_flow.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/dynamic_inliner.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/encoding.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/eraser.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/escapable.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/multi_flattener.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/remove_bom.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/static_analyzer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/static_merger.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/string_splitter.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/filters/validator.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generator.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generators/array.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generators/array_buffer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generators/erb.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generators/rails_output_buffer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/generators/string_buffer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/grammar.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/attribute_merger.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/attribute_remover.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/attribute_sorter.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/dispatcher.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/fast.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/filter.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/pretty.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/html/safe.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/map.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/mixins/dispatcher.rb +2 -1
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/mixins/engine_dsl.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/mixins/grammar_dsl.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/mixins/options.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/mixins/template.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/parser.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/static_analyzer.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/templates.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/templates/rails.rb +2 -2
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/templates/tilt.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/lib/temple/utils.rb +0 -0
- data/bundle/ruby/2.5.0/gems/temple-0.8.1/lib/temple/version.rb +3 -0
- data/bundle/ruby/2.5.0/gems/{temple-0.8.0 → temple-0.8.1}/temple.gemspec +0 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/CHANGELOG.md +4 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/MIT-LICENSE.txt +1 -1
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/README.md +10 -10
- data/bundle/ruby/2.5.0/gems/unicode-display_width-1.5.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/lib/unicode/display_width.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/lib/unicode/display_width/constants.rb +2 -2
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/lib/unicode/display_width/index.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/lib/unicode/display_width/no_string_ext.rb +0 -0
- data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.1 → unicode-display_width-1.5.0}/lib/unicode/display_width/string_ext.rb +0 -0
- data/lib/brakeman/checks/base_check.rb +16 -0
- data/lib/brakeman/checks/check_content_tag.rb +12 -0
- data/lib/brakeman/checks/check_cross_site_scripting.rb +6 -6
- data/lib/brakeman/checks/check_evaluation.rb +0 -1
- data/lib/brakeman/checks/check_execute.rb +18 -0
- data/lib/brakeman/checks/check_send.rb +0 -1
- data/lib/brakeman/checks/check_session_manipulation.rb +0 -1
- data/lib/brakeman/checks/check_sql.rb +12 -3
- data/lib/brakeman/file_parser.rb +8 -4
- data/lib/brakeman/parsers/haml_embedded.rb +44 -0
- data/lib/brakeman/parsers/slim_embedded.rb +44 -0
- data/lib/brakeman/parsers/template_parser.rb +2 -4
- data/lib/brakeman/processors/alias_processor.rb +23 -1
- data/lib/brakeman/processors/lib/call_conversion_helper.rb +4 -0
- data/lib/brakeman/processors/slim_template_processor.rb +16 -0
- data/lib/brakeman/processors/template_alias_processor.rb +2 -2
- data/lib/brakeman/scanner.rb +11 -10
- data/lib/brakeman/tracker.rb +5 -1
- data/lib/brakeman/tracker/config.rb +32 -7
- data/lib/brakeman/util.rb +17 -0
- data/lib/brakeman/version.rb +1 -1
- metadata +157 -320
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby20_parser.rb +0 -6687
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby21_parser.rb +0 -6767
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby22_parser.rb +0 -6803
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby22_parser.y +0 -2376
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby23_parser.rb +0 -6818
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby24_parser.rb +0 -6818
- data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby25_parser.rb +0 -6818
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/CODE_OF_CONDUCT.md +0 -10
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/CONTRIBUTING.md +0 -148
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/MIT-LICENSE +0 -20
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/README.md +0 -227
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/REVISION +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_DATE +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_NAME +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/sass-spec-ref.sh +0 -32
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/update_watch.rb +0 -13
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/init.rb +0 -18
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass.rb +0 -109
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores.rb +0 -15
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/base.rb +0 -88
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/chain.rb +0 -34
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/filesystem.rb +0 -60
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/memory.rb +0 -46
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/null.rb +0 -25
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/callbacks.rb +0 -67
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/css.rb +0 -408
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/deprecation.rb +0 -55
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/engine.rb +0 -1226
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/environment.rb +0 -215
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/error.rb +0 -198
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec.rb +0 -9
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/base.rb +0 -199
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_convert.rb +0 -283
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_scss.rb +0 -440
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/features.rb +0 -47
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers.rb +0 -23
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/base.rb +0 -182
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/deprecated_path.rb +0 -51
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/filesystem.rb +0 -219
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger.rb +0 -17
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/base.rb +0 -36
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/delayed.rb +0 -50
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/log_level.rb +0 -45
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/media.rb +0 -210
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin.rb +0 -134
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/compiler.rb +0 -582
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/configuration.rb +0 -134
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/generic.rb +0 -15
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/merb.rb +0 -48
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rack.rb +0 -60
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rails.rb +0 -47
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/staleness_checker.rb +0 -199
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/railtie.rb +0 -10
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/repl.rb +0 -57
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/root.rb +0 -7
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script.rb +0 -66
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_lexer.rb +0 -33
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_parser.rb +0 -33
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_variable_warning.rb +0 -52
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/functions.rb +0 -2693
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/lexer.rb +0 -464
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/parser.rb +0 -832
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree.rb +0 -16
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/funcall.rb +0 -313
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/interpolation.rb +0 -223
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/list_literal.rb +0 -104
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/literal.rb +0 -49
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/map_literal.rb +0 -64
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/node.rb +0 -127
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/operation.rb +0 -156
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/selector.rb +0 -26
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/string_interpolation.rb +0 -125
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/unary_operation.rb +0 -69
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/variable.rb +0 -57
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value.rb +0 -11
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/arg_list.rb +0 -36
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/base.rb +0 -241
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/bool.rb +0 -35
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/color.rb +0 -698
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/helpers.rb +0 -272
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/list.rb +0 -113
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/map.rb +0 -70
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/null.rb +0 -44
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/number.rb +0 -563
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/string.rb +0 -138
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss.rb +0 -14
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/css_parser.rb +0 -56
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/parser.rb +0 -1254
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/rx.rb +0 -140
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/static_parser.rb +0 -373
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector.rb +0 -323
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/abstract_sequence.rb +0 -111
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/comma_sequence.rb +0 -191
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/pseudo.rb +0 -266
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/sequence.rb +0 -636
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple.rb +0 -117
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple_sequence.rb +0 -344
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/shared.rb +0 -76
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/map.rb +0 -213
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/position.rb +0 -39
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/range.rb +0 -41
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/stack.rb +0 -120
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/supports.rb +0 -225
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/at_root_node.rb +0 -83
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/charset_node.rb +0 -22
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/comment_node.rb +0 -82
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/content_node.rb +0 -9
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/css_import_node.rb +0 -68
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/debug_node.rb +0 -18
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/directive_node.rb +0 -59
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/each_node.rb +0 -24
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/error_node.rb +0 -18
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/extend_node.rb +0 -43
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/for_node.rb +0 -36
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/function_node.rb +0 -44
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/if_node.rb +0 -52
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/import_node.rb +0 -75
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/keyframe_rule_node.rb +0 -15
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/media_node.rb +0 -48
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_def_node.rb +0 -38
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_node.rb +0 -52
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/node.rb +0 -240
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/prop_node.rb +0 -170
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/return_node.rb +0 -19
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/root_node.rb +0 -44
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/rule_node.rb +0 -155
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/supports_node.rb +0 -38
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/trace_node.rb +0 -33
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/variable_node.rb +0 -36
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/base.rb +0 -72
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/check_nesting.rb +0 -173
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/convert.rb +0 -351
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/cssize.rb +0 -373
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/deep_copy.rb +0 -107
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/extend.rb +0 -70
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/perform.rb +0 -564
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/set_options.rb +0 -139
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/to_css.rb +0 -409
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/warn_node.rb +0 -18
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/while_node.rb +0 -18
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util.rb +0 -1375
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/cross_platform_random.rb +0 -19
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/multibyte_string_scanner.rb +0 -155
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/normalized_map.rb +0 -129
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/ordered_hash.rb +0 -192
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/subset_map.rb +0 -109
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/test.rb +0 -9
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/version.rb +0 -124
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/rails/init.rb +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CHANGELOG.md +0 -1
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CONTRIBUTING.md +0 -38
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Gemfile +0 -20
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Guardfile +0 -8
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/LICENSE +0 -20
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/README.md +0 -349
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Rakefile +0 -5
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Vagrantfile +0 -96
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen.rb +0 -54
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapter.rb +0 -327
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/bsd.rb +0 -75
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/darwin.rb +0 -48
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/linux.rb +0 -81
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/polling.rb +0 -58
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/windows.rb +0 -91
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/directory_record.rb +0 -406
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/listener.rb +0 -323
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/turnstile.rb +0 -32
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/version.rb +0 -3
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/listen.gemspec +0 -28
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapter_spec.rb +0 -149
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/bsd_spec.rb +0 -36
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -37
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -47
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -30
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/directory_record_spec.rb +0 -1250
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/listener_spec.rb +0 -258
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen_spec.rb +0 -67
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/spec_helper.rb +0 -25
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/adapter_helper.rb +0 -666
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/directory_record_helper.rb +0 -57
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/fixtures_helper.rb +0 -29
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/listeners_helper.rb +0 -179
- data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/platform_helper.rb +0 -15
- data/bundle/ruby/2.5.0/gems/temple-0.8.0/lib/temple/version.rb +0 -3
- data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.1/data/display_width.marshal.gz +0 -0
@@ -1,38 +0,0 @@
|
|
1
|
-
module Sass
|
2
|
-
module Tree
|
3
|
-
# A dynamic node representing a mixin definition.
|
4
|
-
#
|
5
|
-
# @see Sass::Tree
|
6
|
-
class MixinDefNode < Node
|
7
|
-
# The mixin name.
|
8
|
-
# @return [String]
|
9
|
-
attr_reader :name
|
10
|
-
|
11
|
-
# The arguments for the mixin.
|
12
|
-
# Each element is a tuple containing the variable for argument
|
13
|
-
# and the parse tree for the default value of the argument.
|
14
|
-
#
|
15
|
-
# @return [Array<(Script::Tree::Node, Script::Tree::Node)>]
|
16
|
-
attr_accessor :args
|
17
|
-
|
18
|
-
# The splat argument for this mixin, if one exists.
|
19
|
-
#
|
20
|
-
# @return [Script::Tree::Node?]
|
21
|
-
attr_accessor :splat
|
22
|
-
|
23
|
-
# Whether the mixin uses `@content`. Set during the nesting check phase.
|
24
|
-
# @return [Boolean]
|
25
|
-
attr_accessor :has_content
|
26
|
-
|
27
|
-
# @param name [String] The mixin name
|
28
|
-
# @param args [Array<(Script::Tree::Node, Script::Tree::Node)>] See \{#args}
|
29
|
-
# @param splat [Script::Tree::Node] See \{#splat}
|
30
|
-
def initialize(name, args, splat)
|
31
|
-
@name = name
|
32
|
-
@args = args
|
33
|
-
@splat = splat
|
34
|
-
super()
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'sass/tree/node'
|
2
|
-
|
3
|
-
module Sass::Tree
|
4
|
-
# A static node representing a mixin include.
|
5
|
-
# When in a static tree, the sole purpose is to wrap exceptions
|
6
|
-
# to add the mixin to the backtrace.
|
7
|
-
#
|
8
|
-
# @see Sass::Tree
|
9
|
-
class MixinNode < Node
|
10
|
-
# The name of the mixin.
|
11
|
-
# @return [String]
|
12
|
-
attr_reader :name
|
13
|
-
|
14
|
-
# The arguments to the mixin.
|
15
|
-
# @return [Array<Script::Tree::Node>]
|
16
|
-
attr_accessor :args
|
17
|
-
|
18
|
-
# A hash from keyword argument names to values.
|
19
|
-
# @return [Sass::Util::NormalizedMap<Script::Tree::Node>]
|
20
|
-
attr_accessor :keywords
|
21
|
-
|
22
|
-
# The first splat argument for this mixin, if one exists.
|
23
|
-
#
|
24
|
-
# This could be a list of positional arguments, a map of keyword
|
25
|
-
# arguments, or an arglist containing both.
|
26
|
-
#
|
27
|
-
# @return [Node?]
|
28
|
-
attr_accessor :splat
|
29
|
-
|
30
|
-
# The second splat argument for this mixin, if one exists.
|
31
|
-
#
|
32
|
-
# If this exists, it's always a map of keyword arguments, and
|
33
|
-
# \{#splat} is always either a list or an arglist.
|
34
|
-
#
|
35
|
-
# @return [Node?]
|
36
|
-
attr_accessor :kwarg_splat
|
37
|
-
|
38
|
-
# @param name [String] The name of the mixin
|
39
|
-
# @param args [Array<Script::Tree::Node>] See \{#args}
|
40
|
-
# @param splat [Script::Tree::Node] See \{#splat}
|
41
|
-
# @param kwarg_splat [Script::Tree::Node] See \{#kwarg_splat}
|
42
|
-
# @param keywords [Sass::Util::NormalizedMap<Script::Tree::Node>] See \{#keywords}
|
43
|
-
def initialize(name, args, keywords, splat, kwarg_splat)
|
44
|
-
@name = name
|
45
|
-
@args = args
|
46
|
-
@keywords = keywords
|
47
|
-
@splat = splat
|
48
|
-
@kwarg_splat = kwarg_splat
|
49
|
-
super()
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,240 +0,0 @@
|
|
1
|
-
module Sass
|
2
|
-
# A namespace for nodes in the Sass parse tree.
|
3
|
-
#
|
4
|
-
# The Sass parse tree has three states: dynamic, static Sass, and static CSS.
|
5
|
-
#
|
6
|
-
# When it's first parsed, a Sass document is in the dynamic state.
|
7
|
-
# It has nodes for mixin definitions and `@for` loops and so forth,
|
8
|
-
# in addition to nodes for CSS rules and properties.
|
9
|
-
# Nodes that only appear in this state are called **dynamic nodes**.
|
10
|
-
#
|
11
|
-
# {Tree::Visitors::Perform} creates a static Sass tree, which is
|
12
|
-
# different. It still has nodes for CSS rules and properties but it
|
13
|
-
# doesn't have any dynamic-generation-related nodes. The nodes in
|
14
|
-
# this state are in a similar structure to the Sass document: rules
|
15
|
-
# and properties are nested beneath one another, although the
|
16
|
-
# {Tree::RuleNode} selectors are already in their final state. Nodes
|
17
|
-
# that can be in this state or in the dynamic state are called
|
18
|
-
# **static nodes**; nodes that can only be in this state are called
|
19
|
-
# **solely static nodes**.
|
20
|
-
#
|
21
|
-
# {Tree::Visitors::Cssize} is then used to create a static CSS tree.
|
22
|
-
# This is like a static Sass tree,
|
23
|
-
# but the structure exactly mirrors that of the generated CSS.
|
24
|
-
# Rules and properties can't be nested beneath one another in this state.
|
25
|
-
#
|
26
|
-
# Finally, {Tree::Visitors::ToCss} can be called on a static CSS tree
|
27
|
-
# to get the actual CSS code as a string.
|
28
|
-
module Tree
|
29
|
-
# The abstract superclass of all parse-tree nodes.
|
30
|
-
class Node
|
31
|
-
include Enumerable
|
32
|
-
|
33
|
-
def self.inherited(base)
|
34
|
-
node_name = base.name.gsub(/.*::(.*?)Node$/, '\\1').downcase
|
35
|
-
base.instance_eval <<-METHODS
|
36
|
-
# @return [Symbol] The name that is used for this node when visiting.
|
37
|
-
def node_name
|
38
|
-
:#{node_name}
|
39
|
-
end
|
40
|
-
|
41
|
-
# @return [Symbol] The method that is used on the visitor to visit nodes of this type.
|
42
|
-
def visit_method
|
43
|
-
:visit_#{node_name}
|
44
|
-
end
|
45
|
-
|
46
|
-
# @return [Symbol] The method name that determines if the parent is invalid.
|
47
|
-
def invalid_child_method_name
|
48
|
-
:"invalid_#{node_name}_child?"
|
49
|
-
end
|
50
|
-
|
51
|
-
# @return [Symbol] The method name that determines if the node is an invalid parent.
|
52
|
-
def invalid_parent_method_name
|
53
|
-
:"invalid_#{node_name}_parent?"
|
54
|
-
end
|
55
|
-
METHODS
|
56
|
-
end
|
57
|
-
|
58
|
-
# The child nodes of this node.
|
59
|
-
#
|
60
|
-
# @return [Array<Tree::Node>]
|
61
|
-
attr_reader :children
|
62
|
-
|
63
|
-
# Whether or not this node has child nodes.
|
64
|
-
# This may be true even when \{#children} is empty,
|
65
|
-
# in which case this node has an empty block (e.g. `{}`).
|
66
|
-
#
|
67
|
-
# @return [Boolean]
|
68
|
-
attr_accessor :has_children
|
69
|
-
|
70
|
-
# The line of the document on which this node appeared.
|
71
|
-
#
|
72
|
-
# @return [Integer]
|
73
|
-
attr_accessor :line
|
74
|
-
|
75
|
-
# The source range in the document on which this node appeared.
|
76
|
-
#
|
77
|
-
# @return [Sass::Source::Range]
|
78
|
-
attr_accessor :source_range
|
79
|
-
|
80
|
-
# The name of the document on which this node appeared.
|
81
|
-
#
|
82
|
-
# @return [String]
|
83
|
-
attr_writer :filename
|
84
|
-
|
85
|
-
# The options hash for the node.
|
86
|
-
# See {file:SASS_REFERENCE.md#Options the Sass options documentation}.
|
87
|
-
#
|
88
|
-
# @return [{Symbol => Object}]
|
89
|
-
attr_reader :options
|
90
|
-
|
91
|
-
def initialize
|
92
|
-
@children = []
|
93
|
-
@filename = nil
|
94
|
-
@options = nil
|
95
|
-
end
|
96
|
-
|
97
|
-
# Sets the options hash for the node and all its children.
|
98
|
-
#
|
99
|
-
# @param options [{Symbol => Object}] The options
|
100
|
-
# @see #options
|
101
|
-
def options=(options)
|
102
|
-
Sass::Tree::Visitors::SetOptions.visit(self, options)
|
103
|
-
end
|
104
|
-
|
105
|
-
# @private
|
106
|
-
def children=(children)
|
107
|
-
self.has_children ||= !children.empty?
|
108
|
-
@children = children
|
109
|
-
end
|
110
|
-
|
111
|
-
# The name of the document on which this node appeared.
|
112
|
-
#
|
113
|
-
# @return [String]
|
114
|
-
def filename
|
115
|
-
@filename || (@options && @options[:filename])
|
116
|
-
end
|
117
|
-
|
118
|
-
# Appends a child to the node.
|
119
|
-
#
|
120
|
-
# @param child [Tree::Node, Array<Tree::Node>] The child node or nodes
|
121
|
-
# @raise [Sass::SyntaxError] if `child` is invalid
|
122
|
-
def <<(child)
|
123
|
-
return if child.nil?
|
124
|
-
if child.is_a?(Array)
|
125
|
-
child.each {|c| self << c}
|
126
|
-
else
|
127
|
-
self.has_children = true
|
128
|
-
@children << child
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
# Compares this node and another object (only other {Tree::Node}s will be equal).
|
133
|
-
# This does a structural comparison;
|
134
|
-
# if the contents of the nodes and all the child nodes are equivalent,
|
135
|
-
# then the nodes are as well.
|
136
|
-
#
|
137
|
-
# Only static nodes need to override this.
|
138
|
-
#
|
139
|
-
# @param other [Object] The object to compare with
|
140
|
-
# @return [Boolean] Whether or not this node and the other object
|
141
|
-
# are the same
|
142
|
-
# @see Sass::Tree
|
143
|
-
def ==(other)
|
144
|
-
self.class == other.class && other.children == children
|
145
|
-
end
|
146
|
-
|
147
|
-
# True if \{#to\_s} will return `nil`;
|
148
|
-
# that is, if the node shouldn't be rendered.
|
149
|
-
# Should only be called in a static tree.
|
150
|
-
#
|
151
|
-
# @return [Boolean]
|
152
|
-
def invisible?; false; end
|
153
|
-
|
154
|
-
# The output style. See {file:SASS_REFERENCE.md#Options the Sass options documentation}.
|
155
|
-
#
|
156
|
-
# @return [Symbol]
|
157
|
-
def style
|
158
|
-
@options[:style]
|
159
|
-
end
|
160
|
-
|
161
|
-
# Computes the CSS corresponding to this static CSS tree.
|
162
|
-
#
|
163
|
-
# @return [String] The resulting CSS
|
164
|
-
# @see Sass::Tree
|
165
|
-
def css
|
166
|
-
Sass::Tree::Visitors::ToCss.new.visit(self)
|
167
|
-
end
|
168
|
-
|
169
|
-
# Computes the CSS corresponding to this static CSS tree, along with
|
170
|
-
# the respective source map.
|
171
|
-
#
|
172
|
-
# @return [(String, Sass::Source::Map)] The resulting CSS and the source map
|
173
|
-
# @see Sass::Tree
|
174
|
-
def css_with_sourcemap
|
175
|
-
visitor = Sass::Tree::Visitors::ToCss.new(:build_source_mapping)
|
176
|
-
result = visitor.visit(self)
|
177
|
-
return result, visitor.source_mapping
|
178
|
-
end
|
179
|
-
|
180
|
-
# Returns a representation of the node for debugging purposes.
|
181
|
-
#
|
182
|
-
# @return [String]
|
183
|
-
def inspect
|
184
|
-
return self.class.to_s unless has_children
|
185
|
-
"(#{self.class} #{children.map {|c| c.inspect}.join(' ')})"
|
186
|
-
end
|
187
|
-
|
188
|
-
# Iterates through each node in the tree rooted at this node
|
189
|
-
# in a pre-order walk.
|
190
|
-
#
|
191
|
-
# @yield node
|
192
|
-
# @yieldparam node [Node] a node in the tree
|
193
|
-
def each
|
194
|
-
yield self
|
195
|
-
children.each {|c| c.each {|n| yield n}}
|
196
|
-
end
|
197
|
-
|
198
|
-
# Converts a node to Sass code that will generate it.
|
199
|
-
#
|
200
|
-
# @param options [{Symbol => Object}] An options hash (see {Sass::CSS#initialize})
|
201
|
-
# @return [String] The Sass code corresponding to the node
|
202
|
-
def to_sass(options = {})
|
203
|
-
Sass::Tree::Visitors::Convert.visit(self, options, :sass)
|
204
|
-
end
|
205
|
-
|
206
|
-
# Converts a node to SCSS code that will generate it.
|
207
|
-
#
|
208
|
-
# @param options [{Symbol => Object}] An options hash (see {Sass::CSS#initialize})
|
209
|
-
# @return [String] The Sass code corresponding to the node
|
210
|
-
def to_scss(options = {})
|
211
|
-
Sass::Tree::Visitors::Convert.visit(self, options, :scss)
|
212
|
-
end
|
213
|
-
|
214
|
-
# Return a deep clone of this node.
|
215
|
-
# The child nodes are cloned, but options are not.
|
216
|
-
#
|
217
|
-
# @return [Node]
|
218
|
-
def deep_copy
|
219
|
-
Sass::Tree::Visitors::DeepCopy.visit(self)
|
220
|
-
end
|
221
|
-
|
222
|
-
# Whether or not this node bubbles up through RuleNodes.
|
223
|
-
#
|
224
|
-
# @return [Boolean]
|
225
|
-
def bubbles?
|
226
|
-
false
|
227
|
-
end
|
228
|
-
|
229
|
-
protected
|
230
|
-
|
231
|
-
# @see Sass::Shared.balance
|
232
|
-
# @raise [Sass::SyntaxError] if the brackets aren't balanced
|
233
|
-
def balance(*args)
|
234
|
-
res = Sass::Shared.balance(*args)
|
235
|
-
return res if res
|
236
|
-
raise Sass::SyntaxError.new("Unbalanced brackets.", :line => line)
|
237
|
-
end
|
238
|
-
end
|
239
|
-
end
|
240
|
-
end
|
@@ -1,170 +0,0 @@
|
|
1
|
-
module Sass::Tree
|
2
|
-
# A static node representing a CSS property.
|
3
|
-
#
|
4
|
-
# @see Sass::Tree
|
5
|
-
class PropNode < Node
|
6
|
-
# The name of the property,
|
7
|
-
# interspersed with {Sass::Script::Tree::Node}s
|
8
|
-
# representing `#{}`-interpolation.
|
9
|
-
# Any adjacent strings will be merged together.
|
10
|
-
#
|
11
|
-
# @return [Array<String, Sass::Script::Tree::Node>]
|
12
|
-
attr_accessor :name
|
13
|
-
|
14
|
-
# The name of the property
|
15
|
-
# after any interpolated SassScript has been resolved.
|
16
|
-
# Only set once \{Tree::Visitors::Perform} has been run.
|
17
|
-
#
|
18
|
-
# @return [String]
|
19
|
-
attr_accessor :resolved_name
|
20
|
-
|
21
|
-
# The value of the property.
|
22
|
-
#
|
23
|
-
# @return [Sass::Script::Tree::Node]
|
24
|
-
attr_accessor :value
|
25
|
-
|
26
|
-
# The value of the property
|
27
|
-
# after any interpolated SassScript has been resolved.
|
28
|
-
# Only set once \{Tree::Visitors::Perform} has been run.
|
29
|
-
#
|
30
|
-
# @return [String]
|
31
|
-
attr_accessor :resolved_value
|
32
|
-
|
33
|
-
# How deep this property is indented
|
34
|
-
# relative to a normal property.
|
35
|
-
# This is only greater than 0 in the case that:
|
36
|
-
#
|
37
|
-
# * This node is in a CSS tree
|
38
|
-
# * The style is :nested
|
39
|
-
# * This is a child property of another property
|
40
|
-
# * The parent property has a value, and thus will be rendered
|
41
|
-
#
|
42
|
-
# @return [Integer]
|
43
|
-
attr_accessor :tabs
|
44
|
-
|
45
|
-
# The source range in which the property name appears.
|
46
|
-
#
|
47
|
-
# @return [Sass::Source::Range]
|
48
|
-
attr_accessor :name_source_range
|
49
|
-
|
50
|
-
# The source range in which the property value appears.
|
51
|
-
#
|
52
|
-
# @return [Sass::Source::Range]
|
53
|
-
attr_accessor :value_source_range
|
54
|
-
|
55
|
-
# @param name [Array<String, Sass::Script::Tree::Node>] See \{#name}
|
56
|
-
# @param value [Sass::Script::Tree::Node] See \{#value}
|
57
|
-
# @param prop_syntax [Symbol] `:new` if this property uses `a: b`-style syntax,
|
58
|
-
# `:old` if it uses `:a b`-style syntax
|
59
|
-
def initialize(name, value, prop_syntax)
|
60
|
-
@name = Sass::Util.strip_string_array(
|
61
|
-
Sass::Util.merge_adjacent_strings(name))
|
62
|
-
@value = value
|
63
|
-
@tabs = 0
|
64
|
-
@prop_syntax = prop_syntax
|
65
|
-
super()
|
66
|
-
end
|
67
|
-
|
68
|
-
# Compares the names and values of two properties.
|
69
|
-
#
|
70
|
-
# @param other [Object] The object to compare with
|
71
|
-
# @return [Boolean] Whether or not this node and the other object
|
72
|
-
# are the same
|
73
|
-
def ==(other)
|
74
|
-
self.class == other.class && name == other.name && value == other.value && super
|
75
|
-
end
|
76
|
-
|
77
|
-
# Returns a appropriate message indicating how to escape pseudo-class selectors.
|
78
|
-
# This only applies for old-style properties with no value,
|
79
|
-
# so returns the empty string if this is new-style.
|
80
|
-
#
|
81
|
-
# @return [String] The message
|
82
|
-
def pseudo_class_selector_message
|
83
|
-
if @prop_syntax == :new ||
|
84
|
-
!value.is_a?(Sass::Script::Tree::Literal) ||
|
85
|
-
!value.value.is_a?(Sass::Script::Value::String) ||
|
86
|
-
!value.value.value.empty?
|
87
|
-
return ""
|
88
|
-
end
|
89
|
-
|
90
|
-
"\nIf #{declaration.dump} should be a selector, use \"\\#{declaration}\" instead."
|
91
|
-
end
|
92
|
-
|
93
|
-
# Computes the Sass or SCSS code for the variable declaration.
|
94
|
-
# This is like \{#to\_scss} or \{#to\_sass},
|
95
|
-
# except it doesn't print any child properties or a trailing semicolon.
|
96
|
-
#
|
97
|
-
# @param opts [{Symbol => Object}] The options hash for the tree.
|
98
|
-
# @param fmt [Symbol] `:scss` or `:sass`.
|
99
|
-
def declaration(opts = {:old => @prop_syntax == :old}, fmt = :sass)
|
100
|
-
name = self.name.map {|n| n.is_a?(String) ? n : n.to_sass(opts)}.join
|
101
|
-
if name[0] == ?:
|
102
|
-
raise Sass::SyntaxError.new("The \"#{name}: #{self.class.val_to_sass(value, opts)}\"" +
|
103
|
-
" hack is not allowed in the Sass indented syntax")
|
104
|
-
end
|
105
|
-
|
106
|
-
old = opts[:old] && fmt == :sass
|
107
|
-
initial = old ? ':' : ''
|
108
|
-
mid = old ? '' : ':'
|
109
|
-
"#{initial}#{name}#{mid} #{self.class.val_to_sass(value, opts)}".rstrip
|
110
|
-
end
|
111
|
-
|
112
|
-
# A property node is invisible if its value is empty.
|
113
|
-
#
|
114
|
-
# @return [Boolean]
|
115
|
-
def invisible?
|
116
|
-
resolved_value.empty?
|
117
|
-
end
|
118
|
-
|
119
|
-
private
|
120
|
-
|
121
|
-
def check!
|
122
|
-
return unless @options[:property_syntax] && @options[:property_syntax] != @prop_syntax
|
123
|
-
raise Sass::SyntaxError.new(
|
124
|
-
"Illegal property syntax: can't use #{@prop_syntax} syntax when " +
|
125
|
-
":property_syntax => #{@options[:property_syntax].inspect} is set.")
|
126
|
-
end
|
127
|
-
|
128
|
-
class << self
|
129
|
-
# @private
|
130
|
-
def val_to_sass(value, opts)
|
131
|
-
val_to_sass_comma(value, opts).to_sass(opts)
|
132
|
-
end
|
133
|
-
|
134
|
-
private
|
135
|
-
|
136
|
-
def val_to_sass_comma(node, opts)
|
137
|
-
return node unless node.is_a?(Sass::Script::Tree::Operation)
|
138
|
-
return val_to_sass_concat(node, opts) unless node.operator == :comma
|
139
|
-
|
140
|
-
Sass::Script::Tree::Operation.new(
|
141
|
-
val_to_sass_concat(node.operand1, opts),
|
142
|
-
val_to_sass_comma(node.operand2, opts),
|
143
|
-
node.operator)
|
144
|
-
end
|
145
|
-
|
146
|
-
def val_to_sass_concat(node, opts)
|
147
|
-
return node unless node.is_a?(Sass::Script::Tree::Operation)
|
148
|
-
return val_to_sass_div(node, opts) unless node.operator == :space
|
149
|
-
|
150
|
-
Sass::Script::Tree::Operation.new(
|
151
|
-
val_to_sass_div(node.operand1, opts),
|
152
|
-
val_to_sass_concat(node.operand2, opts),
|
153
|
-
node.operator)
|
154
|
-
end
|
155
|
-
|
156
|
-
def val_to_sass_div(node, opts)
|
157
|
-
unless node.is_a?(Sass::Script::Tree::Operation) && node.operator == :div &&
|
158
|
-
node.operand1.is_a?(Sass::Script::Tree::Literal) &&
|
159
|
-
node.operand1.value.is_a?(Sass::Script::Value::Number) &&
|
160
|
-
node.operand2.is_a?(Sass::Script::Tree::Literal) &&
|
161
|
-
node.operand2.value.is_a?(Sass::Script::Value::Number) &&
|
162
|
-
(!node.operand1.value.original || !node.operand2.value.original)
|
163
|
-
return node
|
164
|
-
end
|
165
|
-
|
166
|
-
Sass::Script::Value::String.new("(#{node.to_sass(opts)})")
|
167
|
-
end
|
168
|
-
end
|
169
|
-
end
|
170
|
-
end
|