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,134 +0,0 @@
|
|
1
|
-
module Sass
|
2
|
-
module Plugin
|
3
|
-
# We keep configuration in its own self-contained file so that we can load
|
4
|
-
# it independently in Rails 3, where the full plugin stuff is lazy-loaded.
|
5
|
-
#
|
6
|
-
# Note that this is not guaranteed to be thread-safe. For guaranteed thread
|
7
|
-
# safety, use a separate {Sass::Plugin} for each thread.
|
8
|
-
module Configuration
|
9
|
-
# Returns the default options for a {Sass::Plugin::Compiler}.
|
10
|
-
#
|
11
|
-
# @return [{Symbol => Object}]
|
12
|
-
def default_options
|
13
|
-
@default_options ||= {
|
14
|
-
:css_location => './public/stylesheets',
|
15
|
-
:always_update => false,
|
16
|
-
:always_check => true,
|
17
|
-
:full_exception => true,
|
18
|
-
:cache_location => ".sass-cache"
|
19
|
-
}.freeze
|
20
|
-
end
|
21
|
-
|
22
|
-
# Resets the options and
|
23
|
-
# {Sass::Callbacks::InstanceMethods#clear_callbacks! clears all callbacks}.
|
24
|
-
def reset!
|
25
|
-
@options = nil
|
26
|
-
clear_callbacks!
|
27
|
-
end
|
28
|
-
|
29
|
-
# An options hash.
|
30
|
-
# See {file:SASS_REFERENCE.md#Options the Sass options documentation}.
|
31
|
-
#
|
32
|
-
# @return [{Symbol => Object}]
|
33
|
-
def options
|
34
|
-
@options ||= default_options.dup
|
35
|
-
end
|
36
|
-
|
37
|
-
# Adds a new template-location/css-location mapping.
|
38
|
-
# This means that Sass/SCSS files in `template_location`
|
39
|
-
# will be compiled to CSS files in `css_location`.
|
40
|
-
#
|
41
|
-
# This is preferred over manually manipulating the
|
42
|
-
# {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
|
43
|
-
# since the option can be in multiple formats.
|
44
|
-
#
|
45
|
-
# Note that this method will change `options[:template_location]`
|
46
|
-
# to be in the Array format.
|
47
|
-
# This means that even if `options[:template_location]`
|
48
|
-
# had previously been a Hash or a String,
|
49
|
-
# it will now be an Array.
|
50
|
-
#
|
51
|
-
# @param template_location [String] The location where Sass/SCSS files will be.
|
52
|
-
# @param css_location [String] The location where compiled CSS files will go.
|
53
|
-
def add_template_location(template_location, css_location = options[:css_location])
|
54
|
-
normalize_template_location!
|
55
|
-
template_location_array << [template_location, css_location]
|
56
|
-
end
|
57
|
-
|
58
|
-
# Removes a template-location/css-location mapping.
|
59
|
-
# This means that Sass/SCSS files in `template_location`
|
60
|
-
# will no longer be compiled to CSS files in `css_location`.
|
61
|
-
#
|
62
|
-
# This is preferred over manually manipulating the
|
63
|
-
# {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
|
64
|
-
# since the option can be in multiple formats.
|
65
|
-
#
|
66
|
-
# Note that this method will change `options[:template_location]`
|
67
|
-
# to be in the Array format.
|
68
|
-
# This means that even if `options[:template_location]`
|
69
|
-
# had previously been a Hash or a String,
|
70
|
-
# it will now be an Array.
|
71
|
-
#
|
72
|
-
# @param template_location [String]
|
73
|
-
# The location where Sass/SCSS files were,
|
74
|
-
# which is now going to be ignored.
|
75
|
-
# @param css_location [String]
|
76
|
-
# The location where compiled CSS files went, but will no longer go.
|
77
|
-
# @return [Boolean]
|
78
|
-
# Non-`nil` if the given mapping already existed and was removed,
|
79
|
-
# or `nil` if nothing was changed.
|
80
|
-
def remove_template_location(template_location, css_location = options[:css_location])
|
81
|
-
normalize_template_location!
|
82
|
-
template_location_array.delete([template_location, css_location])
|
83
|
-
end
|
84
|
-
|
85
|
-
# Returns the template locations configured for Sass
|
86
|
-
# as an array of `[template_location, css_location]` pairs.
|
87
|
-
# See the {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
|
88
|
-
# for details.
|
89
|
-
#
|
90
|
-
# Modifications to the returned array may not be persistent. Use {#add_template_location}
|
91
|
-
# and {#remove_template_location} instead.
|
92
|
-
#
|
93
|
-
# @return [Array<(String, String)>]
|
94
|
-
# An array of `[template_location, css_location]` pairs.
|
95
|
-
def template_location_array
|
96
|
-
convert_template_location(options[:template_location], options[:css_location])
|
97
|
-
end
|
98
|
-
|
99
|
-
private
|
100
|
-
|
101
|
-
# Returns the given template location, as an array. If it's already an array,
|
102
|
-
# it is returned unmodified. Otherwise, a new array is created and returned.
|
103
|
-
#
|
104
|
-
# @param template_location [String, Array<(String, String)>]
|
105
|
-
# A single template location, or a pre-normalized array of template
|
106
|
-
# locations and CSS locations.
|
107
|
-
# @param css_location [String?]
|
108
|
-
# The location for compiled CSS files.
|
109
|
-
# @return [Array<(String, String)>]
|
110
|
-
# An array of `[template_location, css_location]` pairs.
|
111
|
-
def convert_template_location(template_location, css_location)
|
112
|
-
return template_location if template_location.is_a?(Array)
|
113
|
-
|
114
|
-
case template_location
|
115
|
-
when nil
|
116
|
-
if css_location
|
117
|
-
[[File.join(css_location, 'sass'), css_location]]
|
118
|
-
else
|
119
|
-
[]
|
120
|
-
end
|
121
|
-
when String
|
122
|
-
[[template_location, css_location]]
|
123
|
-
else
|
124
|
-
template_location.to_a
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
def normalize_template_location!
|
129
|
-
options[:template_location] = convert_template_location(
|
130
|
-
options[:template_location], options[:css_location])
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# The reason some options are declared here rather than in sass/plugin/configuration.rb
|
2
|
-
# is that otherwise they'd clobber the Rails-specific options.
|
3
|
-
# Since Rails' options are lazy-loaded in Rails 3,
|
4
|
-
# they're reverse-merged with the default options
|
5
|
-
# so that user configuration is preserved.
|
6
|
-
# This means that defaults that differ from Rails'
|
7
|
-
# must be declared here.
|
8
|
-
|
9
|
-
unless defined?(Sass::GENERIC_LOADED)
|
10
|
-
Sass::GENERIC_LOADED = true
|
11
|
-
|
12
|
-
Sass::Plugin.options.merge!(:css_location => './public/stylesheets',
|
13
|
-
:always_update => false,
|
14
|
-
:always_check => true)
|
15
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
unless defined?(Sass::MERB_LOADED)
|
2
|
-
Sass::MERB_LOADED = true
|
3
|
-
|
4
|
-
module Sass::Plugin::Configuration
|
5
|
-
# Different default options in a m environment.
|
6
|
-
def default_options
|
7
|
-
@default_options ||= begin
|
8
|
-
version = Merb::VERSION.split('.').map {|n| n.to_i}
|
9
|
-
if version[0] <= 0 && version[1] < 5
|
10
|
-
root = MERB_ROOT
|
11
|
-
env = MERB_ENV
|
12
|
-
else
|
13
|
-
root = Merb.root.to_s
|
14
|
-
env = Merb.environment
|
15
|
-
end
|
16
|
-
|
17
|
-
{
|
18
|
-
:always_update => false,
|
19
|
-
:template_location => root + '/public/stylesheets/sass',
|
20
|
-
:css_location => root + '/public/stylesheets',
|
21
|
-
:cache_location => root + '/tmp/sass-cache',
|
22
|
-
:always_check => env != "production",
|
23
|
-
:quiet => env != "production",
|
24
|
-
:full_exception => env != "production"
|
25
|
-
}.freeze
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
config = Merb::Plugins.config[:sass] || Merb::Plugins.config["sass"] || {}
|
31
|
-
|
32
|
-
if defined? config.symbolize_keys!
|
33
|
-
config.symbolize_keys!
|
34
|
-
end
|
35
|
-
|
36
|
-
Sass::Plugin.options.merge!(config)
|
37
|
-
|
38
|
-
require 'sass/plugin/rack'
|
39
|
-
class Sass::Plugin::MerbBootLoader < Merb::BootLoader
|
40
|
-
after Merb::BootLoader::RackUpApplication
|
41
|
-
|
42
|
-
def self.run
|
43
|
-
# Apparently there's no better way than this to add Sass
|
44
|
-
# to Merb's Rack stack.
|
45
|
-
Merb::Config[:app] = Sass::Plugin::Rack.new(Merb::Config[:app])
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
module Sass
|
2
|
-
module Plugin
|
3
|
-
# Rack middleware for compiling Sass code.
|
4
|
-
#
|
5
|
-
# ## Activate
|
6
|
-
#
|
7
|
-
# require 'sass/plugin/rack'
|
8
|
-
# use Sass::Plugin::Rack
|
9
|
-
#
|
10
|
-
# ## Customize
|
11
|
-
#
|
12
|
-
# Sass::Plugin.options.merge!(
|
13
|
-
# :cache_location => './tmp/sass-cache',
|
14
|
-
# :never_update => environment != :production,
|
15
|
-
# :full_exception => environment != :production)
|
16
|
-
#
|
17
|
-
# {file:SASS_REFERENCE.md#Options See the Reference for more options}.
|
18
|
-
#
|
19
|
-
# ## Use
|
20
|
-
#
|
21
|
-
# Put your Sass files in `public/stylesheets/sass`.
|
22
|
-
# Your CSS will be generated in `public/stylesheets`,
|
23
|
-
# and regenerated every request if necessary.
|
24
|
-
# The locations and frequency {file:SASS_REFERENCE.md#Options can be customized}.
|
25
|
-
# That's all there is to it!
|
26
|
-
class Rack
|
27
|
-
# The delay, in seconds, between update checks.
|
28
|
-
# Useful when many resources are requested for a single page.
|
29
|
-
# `nil` means no delay at all.
|
30
|
-
#
|
31
|
-
# @return [Float]
|
32
|
-
attr_accessor :dwell
|
33
|
-
|
34
|
-
# Initialize the middleware.
|
35
|
-
#
|
36
|
-
# @param app [#call] The Rack application
|
37
|
-
# @param dwell [Float] See \{#dwell}
|
38
|
-
def initialize(app, dwell = 1.0)
|
39
|
-
@app = app
|
40
|
-
@dwell = dwell
|
41
|
-
@check_after = Time.now.to_f
|
42
|
-
end
|
43
|
-
|
44
|
-
# Process a request, checking the Sass stylesheets for changes
|
45
|
-
# and updating them if necessary.
|
46
|
-
#
|
47
|
-
# @param env The Rack request environment
|
48
|
-
# @return [(#to_i, {String => String}, Object)] The Rack response
|
49
|
-
def call(env)
|
50
|
-
if @dwell.nil? || Time.now.to_f > @check_after
|
51
|
-
Sass::Plugin.check_for_updates
|
52
|
-
@check_after = Time.now.to_f + @dwell if @dwell
|
53
|
-
end
|
54
|
-
@app.call(env)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
require 'sass/plugin'
|
@@ -1,47 +0,0 @@
|
|
1
|
-
unless defined?(Sass::RAILS_LOADED)
|
2
|
-
Sass::RAILS_LOADED = true
|
3
|
-
|
4
|
-
module Sass::Plugin::Configuration
|
5
|
-
# Different default options in a rails environment.
|
6
|
-
def default_options
|
7
|
-
return @default_options if @default_options
|
8
|
-
opts = {
|
9
|
-
:quiet => Sass::Util.rails_env != "production",
|
10
|
-
:full_exception => Sass::Util.rails_env != "production",
|
11
|
-
:cache_location => Sass::Util.rails_root + '/tmp/sass-cache'
|
12
|
-
}
|
13
|
-
|
14
|
-
opts.merge!(
|
15
|
-
:always_update => false,
|
16
|
-
:template_location => Sass::Util.rails_root + '/public/stylesheets/sass',
|
17
|
-
:css_location => Sass::Util.rails_root + '/public/stylesheets',
|
18
|
-
:always_check => Sass::Util.rails_env == "development")
|
19
|
-
|
20
|
-
@default_options = opts.freeze
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
Sass::Plugin.options.reverse_merge!(Sass::Plugin.default_options)
|
25
|
-
|
26
|
-
# Rails 3.1 loads and handles Sass all on its own
|
27
|
-
if defined?(ActionController::Metal)
|
28
|
-
# 3.1 > Rails >= 3.0
|
29
|
-
require 'sass/plugin/rack'
|
30
|
-
Rails.configuration.middleware.use(Sass::Plugin::Rack)
|
31
|
-
elsif defined?(ActionController::Dispatcher) &&
|
32
|
-
defined?(ActionController::Dispatcher.middleware)
|
33
|
-
# Rails >= 2.3
|
34
|
-
require 'sass/plugin/rack'
|
35
|
-
ActionController::Dispatcher.middleware.use(Sass::Plugin::Rack)
|
36
|
-
else
|
37
|
-
module ActionController
|
38
|
-
class Base
|
39
|
-
alias_method :sass_old_process, :process
|
40
|
-
def process(*args)
|
41
|
-
Sass::Plugin.check_for_updates
|
42
|
-
sass_old_process(*args)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,199 +0,0 @@
|
|
1
|
-
require 'thread'
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
module Plugin
|
5
|
-
# The class handles `.s[ca]ss` file staleness checks via their mtime timestamps.
|
6
|
-
#
|
7
|
-
# To speed things up two level of caches are employed:
|
8
|
-
#
|
9
|
-
# * A class-level dependency cache which stores @import paths for each file.
|
10
|
-
# This is a long-lived cache that is reused by every StalenessChecker instance.
|
11
|
-
# * Three short-lived instance-level caches, one for file mtimes,
|
12
|
-
# one for whether a file is stale during this particular run.
|
13
|
-
# and one for the parse tree for a file.
|
14
|
-
# These are only used by a single StalenessChecker instance.
|
15
|
-
#
|
16
|
-
# Usage:
|
17
|
-
#
|
18
|
-
# * For a one-off staleness check of a single `.s[ca]ss` file,
|
19
|
-
# the class-level {stylesheet_needs_update?} method
|
20
|
-
# should be used.
|
21
|
-
# * For a series of staleness checks (e.g. checking all files for staleness)
|
22
|
-
# a StalenessChecker instance should be created,
|
23
|
-
# and the instance-level \{#stylesheet\_needs\_update?} method should be used.
|
24
|
-
# the caches should make the whole process significantly faster.
|
25
|
-
# *WARNING*: It is important not to retain the instance for too long,
|
26
|
-
# as its instance-level caches are never explicitly expired.
|
27
|
-
class StalenessChecker
|
28
|
-
@dependencies_cache = {}
|
29
|
-
@dependency_cache_mutex = Mutex.new
|
30
|
-
|
31
|
-
class << self
|
32
|
-
# TODO: attach this to a compiler instance.
|
33
|
-
# @private
|
34
|
-
attr_accessor :dependencies_cache
|
35
|
-
attr_reader :dependency_cache_mutex
|
36
|
-
end
|
37
|
-
|
38
|
-
# Creates a new StalenessChecker
|
39
|
-
# for checking the staleness of several stylesheets at once.
|
40
|
-
#
|
41
|
-
# @param options [{Symbol => Object}]
|
42
|
-
# See {file:SASS_REFERENCE.md#Options the Sass options documentation}.
|
43
|
-
def initialize(options)
|
44
|
-
# URIs that are being actively checked for staleness. Protects against
|
45
|
-
# import loops.
|
46
|
-
@actively_checking = Set.new
|
47
|
-
|
48
|
-
# Entries in the following instance-level caches are never explicitly expired.
|
49
|
-
# Instead they are supposed to automatically go out of scope when a series of staleness
|
50
|
-
# checks (this instance of StalenessChecker was created for) is finished.
|
51
|
-
@mtimes, @dependencies_stale, @parse_trees = {}, {}, {}
|
52
|
-
@options = Sass::Engine.normalize_options(options)
|
53
|
-
end
|
54
|
-
|
55
|
-
# Returns whether or not a given CSS file is out of date
|
56
|
-
# and needs to be regenerated.
|
57
|
-
#
|
58
|
-
# @param css_file [String] The location of the CSS file to check.
|
59
|
-
# @param template_file [String] The location of the Sass or SCSS template
|
60
|
-
# that is compiled to `css_file`.
|
61
|
-
# @return [Boolean] Whether the stylesheet needs to be updated.
|
62
|
-
def stylesheet_needs_update?(css_file, template_file, importer = nil)
|
63
|
-
template_file = File.expand_path(template_file)
|
64
|
-
begin
|
65
|
-
css_mtime = File.mtime(css_file)
|
66
|
-
rescue Errno::ENOENT
|
67
|
-
return true
|
68
|
-
end
|
69
|
-
stylesheet_modified_since?(template_file, css_mtime, importer)
|
70
|
-
end
|
71
|
-
|
72
|
-
# Returns whether a Sass or SCSS stylesheet has been modified since a given time.
|
73
|
-
#
|
74
|
-
# @param template_file [String] The location of the Sass or SCSS template.
|
75
|
-
# @param mtime [Time] The modification time to check against.
|
76
|
-
# @param importer [Sass::Importers::Base] The importer used to locate the stylesheet.
|
77
|
-
# Defaults to the filesystem importer.
|
78
|
-
# @return [Boolean] Whether the stylesheet has been modified.
|
79
|
-
def stylesheet_modified_since?(template_file, mtime, importer = nil)
|
80
|
-
importer ||= @options[:filesystem_importer].new(".")
|
81
|
-
dependency_updated?(mtime).call(template_file, importer)
|
82
|
-
end
|
83
|
-
|
84
|
-
# Returns whether or not a given CSS file is out of date
|
85
|
-
# and needs to be regenerated.
|
86
|
-
#
|
87
|
-
# The distinction between this method and the instance-level \{#stylesheet\_needs\_update?}
|
88
|
-
# is that the instance method preserves mtime and stale-dependency caches,
|
89
|
-
# so it's better to use when checking multiple stylesheets at once.
|
90
|
-
#
|
91
|
-
# @param css_file [String] The location of the CSS file to check.
|
92
|
-
# @param template_file [String] The location of the Sass or SCSS template
|
93
|
-
# that is compiled to `css_file`.
|
94
|
-
# @return [Boolean] Whether the stylesheet needs to be updated.
|
95
|
-
def self.stylesheet_needs_update?(css_file, template_file, importer = nil)
|
96
|
-
new(Plugin.engine_options).stylesheet_needs_update?(css_file, template_file, importer)
|
97
|
-
end
|
98
|
-
|
99
|
-
# Returns whether a Sass or SCSS stylesheet has been modified since a given time.
|
100
|
-
#
|
101
|
-
# The distinction between this method and the instance-level \{#stylesheet\_modified\_since?}
|
102
|
-
# is that the instance method preserves mtime and stale-dependency caches,
|
103
|
-
# so it's better to use when checking multiple stylesheets at once.
|
104
|
-
#
|
105
|
-
# @param template_file [String] The location of the Sass or SCSS template.
|
106
|
-
# @param mtime [Time] The modification time to check against.
|
107
|
-
# @param importer [Sass::Importers::Base] The importer used to locate the stylesheet.
|
108
|
-
# Defaults to the filesystem importer.
|
109
|
-
# @return [Boolean] Whether the stylesheet has been modified.
|
110
|
-
def self.stylesheet_modified_since?(template_file, mtime, importer = nil)
|
111
|
-
new(Plugin.engine_options).stylesheet_modified_since?(template_file, mtime, importer)
|
112
|
-
end
|
113
|
-
|
114
|
-
private
|
115
|
-
|
116
|
-
def dependencies_stale?(uri, importer, css_mtime)
|
117
|
-
timestamps = @dependencies_stale[[uri, importer]] ||= {}
|
118
|
-
timestamps.each_pair do |checked_css_mtime, is_stale|
|
119
|
-
if checked_css_mtime <= css_mtime && !is_stale
|
120
|
-
return false
|
121
|
-
elsif checked_css_mtime > css_mtime && is_stale
|
122
|
-
return true
|
123
|
-
end
|
124
|
-
end
|
125
|
-
timestamps[css_mtime] = dependencies(uri, importer).any?(&dependency_updated?(css_mtime))
|
126
|
-
rescue Sass::SyntaxError
|
127
|
-
# If there's an error finding dependencies, default to recompiling.
|
128
|
-
true
|
129
|
-
end
|
130
|
-
|
131
|
-
def mtime(uri, importer)
|
132
|
-
@mtimes[[uri, importer]] ||=
|
133
|
-
begin
|
134
|
-
mtime = importer.mtime(uri, @options)
|
135
|
-
if mtime.nil?
|
136
|
-
with_dependency_cache {|cache| cache.delete([uri, importer])}
|
137
|
-
nil
|
138
|
-
else
|
139
|
-
mtime
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
def dependencies(uri, importer)
|
145
|
-
stored_mtime, dependencies =
|
146
|
-
with_dependency_cache {|cache| Sass::Util.destructure(cache[[uri, importer]])}
|
147
|
-
|
148
|
-
if !stored_mtime || stored_mtime < mtime(uri, importer)
|
149
|
-
dependencies = compute_dependencies(uri, importer)
|
150
|
-
with_dependency_cache do |cache|
|
151
|
-
cache[[uri, importer]] = [mtime(uri, importer), dependencies]
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
dependencies
|
156
|
-
end
|
157
|
-
|
158
|
-
def dependency_updated?(css_mtime)
|
159
|
-
proc do |uri, importer|
|
160
|
-
next true if @actively_checking.include?(uri)
|
161
|
-
begin
|
162
|
-
@actively_checking << uri
|
163
|
-
sass_mtime = mtime(uri, importer)
|
164
|
-
!sass_mtime ||
|
165
|
-
sass_mtime > css_mtime ||
|
166
|
-
dependencies_stale?(uri, importer, css_mtime)
|
167
|
-
ensure
|
168
|
-
@actively_checking.delete uri
|
169
|
-
end
|
170
|
-
end
|
171
|
-
end
|
172
|
-
|
173
|
-
def compute_dependencies(uri, importer)
|
174
|
-
tree(uri, importer).grep(Tree::ImportNode) do |n|
|
175
|
-
next if n.css_import?
|
176
|
-
file = n.imported_file
|
177
|
-
key = [file.options[:filename], file.options[:importer]]
|
178
|
-
@parse_trees[key] = file.to_tree
|
179
|
-
key
|
180
|
-
end.compact
|
181
|
-
end
|
182
|
-
|
183
|
-
def tree(uri, importer)
|
184
|
-
@parse_trees[[uri, importer]] ||= importer.find(uri, @options).to_tree
|
185
|
-
end
|
186
|
-
|
187
|
-
# Get access to the global dependency cache in a threadsafe manner.
|
188
|
-
# Inside the block, no other thread can access the dependency cache.
|
189
|
-
#
|
190
|
-
# @yieldparam cache [Hash] The hash that is the global dependency cache
|
191
|
-
# @return The value returned by the block to which this method yields
|
192
|
-
def with_dependency_cache
|
193
|
-
StalenessChecker.dependency_cache_mutex.synchronize do
|
194
|
-
yield StalenessChecker.dependencies_cache
|
195
|
-
end
|
196
|
-
end
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|