brakeman 3.3.0 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +11 -0
  3. data/README.md +3 -2
  4. data/bundle/load.rb +4 -4
  5. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/History.txt +7 -0
  6. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/Manifest.txt +0 -0
  7. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/README.txt +0 -0
  8. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/Rakefile +0 -0
  9. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/bin/ruby_parse +0 -0
  10. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/bin/ruby_parse_extract_error +0 -0
  11. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby18_parser.rb +1 -1
  12. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby18_parser.y +0 -0
  13. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby19_parser.rb +1 -1
  14. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby19_parser.y +0 -0
  15. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.2/lib/ruby20_parser.rb +6728 -0
  16. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby20_parser.y +33 -24
  17. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.2/lib/ruby21_parser.rb +6766 -0
  18. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby21_parser.y +33 -24
  19. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.2/lib/ruby22_parser.rb +6811 -0
  20. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby22_parser.y +33 -24
  21. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.2/lib/ruby23_parser.rb +6817 -0
  22. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby23_parser.y +34 -55
  23. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_lexer.rb +0 -0
  24. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_lexer.rex +0 -0
  25. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_lexer.rex.rb +0 -0
  26. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_parser.rb +0 -0
  27. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_parser.yy +36 -69
  28. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/lib/ruby_parser_extras.rb +43 -3
  29. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/test/test_ruby_lexer.rb +0 -0
  30. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/test/test_ruby_parser.rb +42 -1
  31. data/bundle/ruby/2.3.0/gems/{ruby_parser-3.8.1 → ruby_parser-3.8.2}/test/test_ruby_parser_extras.rb +0 -0
  32. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/CHANGES +5 -0
  33. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/Gemfile +0 -0
  34. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/LICENSE +0 -0
  35. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/README.jp.md +36 -11
  36. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/README.md +44 -19
  37. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/Rakefile +0 -0
  38. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/context.rb +0 -0
  39. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/profile-parser.rb +0 -0
  40. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/profile-render.rb +0 -0
  41. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/run-benchmarks.rb +41 -34
  42. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/run-diffbench.rb +0 -0
  43. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/view.erb +0 -0
  44. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/view.haml +0 -0
  45. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/benchmarks/view.slim +0 -0
  46. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/bin/slimrb +0 -0
  47. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/include.md +0 -0
  48. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/jp/include.md +0 -0
  49. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/jp/logic_less.md +0 -0
  50. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/jp/smart.md +0 -0
  51. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/jp/translator.md +0 -0
  52. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/logic_less.md +1 -1
  53. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/smart.md +0 -0
  54. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/doc/translator.md +0 -0
  55. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim.rb +0 -0
  56. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/code_attributes.rb +0 -0
  57. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/command.rb +0 -0
  58. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/controls.rb +0 -0
  59. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/do_inserter.rb +0 -0
  60. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/embedded.rb +0 -0
  61. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/end_inserter.rb +1 -1
  62. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/engine.rb +1 -3
  63. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/erb_converter.rb +0 -0
  64. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/filter.rb +0 -0
  65. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/grammar.rb +0 -0
  66. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/include.rb +0 -0
  67. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/interpolation.rb +0 -0
  68. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/logic_less.rb +0 -0
  69. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/logic_less/context.rb +0 -0
  70. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/logic_less/filter.rb +0 -0
  71. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/parser.rb +22 -12
  72. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/smart.rb +0 -0
  73. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/smart/escaper.rb +1 -1
  74. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/smart/filter.rb +0 -0
  75. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/smart/parser.rb +0 -0
  76. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/splat/builder.rb +0 -0
  77. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/splat/filter.rb +0 -0
  78. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/template.rb +0 -0
  79. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/translator.rb +0 -0
  80. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/lib/slim/version.rb +1 -1
  81. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/slim.gemspec +1 -1
  82. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/helper.rb +0 -0
  83. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_code_blocks.rb +0 -0
  84. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_code_escaping.rb +0 -0
  85. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_code_evaluation.rb +0 -0
  86. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_code_output.rb +0 -0
  87. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_code_structure.rb +18 -0
  88. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_commands.rb +0 -0
  89. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_embedded_engines.rb +0 -0
  90. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_encoding.rb +0 -0
  91. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_erb_converter.rb +0 -0
  92. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_html_attributes.rb +0 -0
  93. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_html_escaping.rb +0 -0
  94. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_html_structure.rb +16 -0
  95. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_parser_errors.rb +0 -0
  96. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_pretty.rb +0 -0
  97. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_ruby_errors.rb +0 -0
  98. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_slim_template.rb +0 -0
  99. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_tabs.rb +0 -0
  100. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_text_interpolation.rb +0 -0
  101. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_thread_options.rb +0 -0
  102. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/core/test_unicode.rb +0 -0
  103. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/include/files/recursive.slim +0 -0
  104. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/include/files/slimfile.slim +0 -0
  105. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/include/files/subdir/test.slim +0 -0
  106. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/include/files/textfile +0 -0
  107. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/include/test_include.rb +0 -0
  108. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/literate/TESTS.md +0 -0
  109. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/literate/helper.rb +0 -0
  110. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/literate/run.rb +0 -0
  111. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/logic_less/test_logic_less.rb +0 -0
  112. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/Rakefile +0 -0
  113. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/controllers/application_controller.rb +0 -0
  114. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/controllers/entries_controller.rb +0 -0
  115. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/controllers/slim_controller.rb +0 -0
  116. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/helpers/application_helper.rb +0 -0
  117. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/models/entry.rb +0 -0
  118. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/entries/edit.html.slim +0 -0
  119. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/layouts/application.html.slim +0 -0
  120. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/_partial.html.slim +0 -0
  121. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/content_for.html.slim +0 -0
  122. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/erb.html.erb +0 -0
  123. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/form_for.html.slim +0 -0
  124. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/helper.html.slim +0 -0
  125. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/integers.html.slim +0 -0
  126. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/no_layout.html.slim +0 -0
  127. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/normal.html.slim +0 -0
  128. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/partial.html.slim +0 -0
  129. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/splat.html.slim +0 -0
  130. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/thread_options.html.slim +0 -0
  131. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/variables.html.slim +0 -0
  132. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/app/views/slim/xml.slim +0 -0
  133. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config.ru +0 -0
  134. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/application.rb +0 -0
  135. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/boot.rb +0 -0
  136. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/environment.rb +0 -0
  137. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/environments/test.rb +0 -0
  138. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/initializers/backtrace_silencers.rb +0 -0
  139. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/initializers/inflections.rb +0 -0
  140. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/initializers/mime_types.rb +0 -0
  141. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/initializers/secret_token.rb +0 -0
  142. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/initializers/session_store.rb +0 -0
  143. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/locales/en.yml +0 -0
  144. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/config/routes.rb +0 -0
  145. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/script/rails +0 -0
  146. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/test/helper.rb +0 -0
  147. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/rails/test/test_slim.rb +0 -0
  148. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/smart/test_smart_text.rb +6 -6
  149. data/bundle/ruby/2.3.0/gems/{slim-3.0.6 → slim-3.0.7}/test/translator/test_translator.rb +0 -0
  150. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/CHANGES +5 -0
  151. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/EXPRESSIONS.md +0 -0
  152. data/bundle/ruby/2.3.0/gems/temple-0.7.7/Gemfile +3 -0
  153. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/LICENSE +0 -0
  154. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/README.md +0 -0
  155. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/Rakefile +0 -0
  156. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple.rb +2 -0
  157. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/engine.rb +0 -0
  158. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/erb/engine.rb +0 -0
  159. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/erb/parser.rb +0 -0
  160. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/erb/template.rb +0 -0
  161. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/erb/trimming.rb +0 -0
  162. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/exceptions.rb +0 -0
  163. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filter.rb +0 -0
  164. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/code_merger.rb +0 -0
  165. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/control_flow.rb +0 -0
  166. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/dynamic_inliner.rb +0 -0
  167. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/encoding.rb +0 -0
  168. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/eraser.rb +0 -0
  169. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/escapable.rb +0 -0
  170. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/multi_flattener.rb +0 -0
  171. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/remove_bom.rb +1 -1
  172. data/bundle/ruby/2.3.0/gems/temple-0.7.7/lib/temple/filters/static_analyzer.rb +87 -0
  173. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/static_merger.rb +0 -0
  174. data/bundle/ruby/2.3.0/gems/temple-0.7.7/lib/temple/filters/string_splitter.rb +130 -0
  175. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/filters/validator.rb +0 -0
  176. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generator.rb +1 -1
  177. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generators/array.rb +0 -0
  178. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generators/array_buffer.rb +3 -2
  179. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generators/erb.rb +1 -1
  180. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generators/rails_output_buffer.rb +1 -1
  181. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/generators/string_buffer.rb +0 -0
  182. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/grammar.rb +0 -0
  183. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/attribute_merger.rb +5 -10
  184. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/attribute_remover.rb +0 -0
  185. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/attribute_sorter.rb +0 -0
  186. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/dispatcher.rb +0 -0
  187. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/fast.rb +0 -0
  188. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/filter.rb +0 -0
  189. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/pretty.rb +2 -2
  190. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/html/safe.rb +0 -0
  191. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/map.rb +0 -0
  192. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/mixins/dispatcher.rb +8 -6
  193. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/mixins/engine_dsl.rb +0 -0
  194. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/mixins/grammar_dsl.rb +0 -0
  195. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/mixins/options.rb +0 -0
  196. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/mixins/template.rb +0 -0
  197. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/parser.rb +0 -0
  198. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/templates.rb +0 -0
  199. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/templates/rails.rb +0 -0
  200. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/templates/tilt.rb +0 -0
  201. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/lib/temple/utils.rb +15 -4
  202. data/bundle/ruby/2.3.0/gems/temple-0.7.7/lib/temple/version.rb +3 -0
  203. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/temple.gemspec +0 -0
  204. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_code_merger.rb +0 -0
  205. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_control_flow.rb +0 -0
  206. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_dynamic_inliner.rb +0 -0
  207. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_eraser.rb +0 -0
  208. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_escapable.rb +0 -0
  209. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_multi_flattener.rb +0 -0
  210. data/bundle/ruby/2.3.0/gems/temple-0.7.7/test/filters/test_static_analyzer.rb +23 -0
  211. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/filters/test_static_merger.rb +0 -0
  212. data/bundle/ruby/2.3.0/gems/temple-0.7.7/test/filters/test_string_splitter.rb +18 -0
  213. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/helper.rb +0 -0
  214. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/html/test_attribute_merger.rb +0 -0
  215. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/html/test_attribute_remover.rb +0 -0
  216. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/html/test_attribute_sorter.rb +0 -0
  217. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/html/test_fast.rb +0 -0
  218. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/html/test_pretty.rb +0 -0
  219. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/mixins/test_dispatcher.rb +0 -0
  220. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/mixins/test_grammar_dsl.rb +0 -0
  221. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_engine.rb +0 -0
  222. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_erb.rb +0 -0
  223. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_filter.rb +0 -0
  224. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_generator.rb +4 -4
  225. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_grammar.rb +0 -0
  226. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_map.rb +0 -0
  227. data/bundle/ruby/2.3.0/gems/{temple-0.7.6 → temple-0.7.7}/test/test_utils.rb +0 -0
  228. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/CHANGELOG.md +17 -0
  229. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/COPYING +1 -1
  230. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/Gemfile +3 -0
  231. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/HACKING +0 -0
  232. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/README.md +3 -0
  233. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/Rakefile +0 -0
  234. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/bin/tilt +0 -0
  235. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/docs/TEMPLATES.md +34 -4
  236. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/docs/common.css +0 -0
  237. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt.rb +10 -6
  238. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/asciidoc.rb +0 -0
  239. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/babel.rb +2 -1
  240. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/bluecloth.rb +0 -0
  241. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/builder.rb +12 -8
  242. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/coffee.rb +0 -0
  243. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/lib/tilt/commonmarker.rb +21 -0
  244. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/creole.rb +0 -0
  245. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/csv.rb +0 -0
  246. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/lib/tilt/dummy.rb +3 -0
  247. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/erb.rb +0 -0
  248. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/erubis.rb +1 -1
  249. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/etanni.rb +0 -0
  250. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/haml.rb +0 -0
  251. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/kramdown.rb +0 -0
  252. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/less.rb +0 -0
  253. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/liquid.rb +0 -0
  254. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/mapping.rb +37 -9
  255. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/markaby.rb +0 -0
  256. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/maruku.rb +0 -0
  257. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/nokogiri.rb +0 -0
  258. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/lib/tilt/pandoc.rb +49 -0
  259. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/plain.rb +0 -0
  260. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/prawn.rb +0 -0
  261. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/radius.rb +0 -0
  262. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/rdiscount.rb +0 -0
  263. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/rdoc.rb +0 -0
  264. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/redcarpet.rb +0 -0
  265. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/redcloth.rb +0 -0
  266. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/lib/tilt/rst-pandoc.rb +18 -0
  267. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/sass.rb +0 -0
  268. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/string.rb +1 -1
  269. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/template.rb +6 -3
  270. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/lib/tilt/typescript.rb +26 -0
  271. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/wikicloth.rb +0 -0
  272. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/lib/tilt/yajl.rb +0 -0
  273. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/man/index.txt +0 -0
  274. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/man/tilt.1.ronn +0 -0
  275. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/locals.mab +0 -0
  276. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/markaby.mab +0 -0
  277. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/markaby_other_static.mab +0 -0
  278. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/render_twice.mab +0 -0
  279. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/scope.mab +0 -0
  280. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/markaby/yielding.mab +0 -0
  281. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/test/mytemplate.rb +2 -0
  282. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/test_helper.rb +0 -0
  283. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_asciidoctor_test.rb +0 -0
  284. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_babeltemplate.rb +0 -0
  285. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_blueclothtemplate_test.rb +0 -0
  286. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_buildertemplate_test.rb +13 -0
  287. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_cache_test.rb +0 -0
  288. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_coffeescripttemplate_test.rb +0 -0
  289. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/test/tilt_commonmarkertemplate_test.rb +20 -0
  290. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_compilesite_test.rb +0 -0
  291. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_creoletemplate_test.rb +0 -0
  292. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_csv_test.rb +0 -0
  293. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_erbtemplate_test.rb +0 -0
  294. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_erubistemplate_test.rb +0 -0
  295. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_etannitemplate_test.rb +0 -0
  296. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_hamltemplate_test.rb +0 -0
  297. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_kramdown_test.rb +0 -0
  298. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_lesstemplate_test.less +0 -0
  299. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_lesstemplate_test.rb +0 -0
  300. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_liquidtemplate_test.rb +0 -0
  301. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_mapping_test.rb +17 -14
  302. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_markaby_test.rb +0 -0
  303. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_markdown_test.rb +9 -0
  304. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_marukutemplate_test.rb +0 -0
  305. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_metadata_test.rb +0 -0
  306. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_nokogiritemplate_test.rb +0 -0
  307. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/test/tilt_pandoctemplate_test.rb +67 -0
  308. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_prawntemplate.prawn +0 -0
  309. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_prawntemplate_test.rb +0 -0
  310. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_radiustemplate_test.rb +0 -0
  311. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_rdiscounttemplate_test.rb +0 -0
  312. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_rdoctemplate_test.rb +0 -0
  313. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_redcarpettemplate_test.rb +0 -0
  314. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_redclothtemplate_test.rb +0 -0
  315. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/test/tilt_rstpandoctemplate_test.rb +32 -0
  316. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_sasstemplate_test.rb +0 -0
  317. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_stringtemplate_test.rb +0 -0
  318. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_template_test.rb +0 -0
  319. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_test.rb +0 -0
  320. data/bundle/ruby/2.3.0/gems/tilt-2.0.5/test/tilt_typescript_test.rb +34 -0
  321. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_wikiclothtemplate_test.rb +0 -0
  322. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/test/tilt_yajltemplate_test.rb +0 -0
  323. data/bundle/ruby/2.3.0/gems/{tilt-2.0.2 → tilt-2.0.5}/tilt.gemspec +12 -2
  324. data/lib/brakeman.rb +21 -12
  325. data/lib/brakeman/checks/check_sql.rb +3 -3
  326. data/lib/brakeman/checks/check_validation_regex.rb +31 -3
  327. data/lib/brakeman/options.rb +4 -0
  328. data/lib/brakeman/parsers/rails3_erubis.rb +43 -23
  329. data/lib/brakeman/processors/alias_processor.rb +5 -0
  330. data/lib/brakeman/processors/base_processor.rb +2 -8
  331. data/lib/brakeman/processors/erb_template_processor.rb +1 -5
  332. data/lib/brakeman/processors/erubis_template_processor.rb +16 -10
  333. data/lib/brakeman/processors/haml_template_processor.rb +4 -2
  334. data/lib/brakeman/processors/lib/basic_processor.rb +2 -16
  335. data/lib/brakeman/processors/lib/safe_call_helper.rb +16 -0
  336. data/lib/brakeman/processors/output_processor.rb +1 -1
  337. data/lib/brakeman/processors/slim_template_processor.rb +1 -5
  338. data/lib/brakeman/processors/template_processor.rb +19 -0
  339. data/lib/brakeman/rescanner.rb +2 -1
  340. data/lib/brakeman/scanner.rb +2 -4
  341. data/lib/brakeman/tracker.rb +0 -9
  342. data/lib/brakeman/tracker/collection.rb +4 -0
  343. data/lib/brakeman/version.rb +1 -1
  344. metadata +322 -307
  345. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.1/lib/ruby20_parser.rb +0 -6723
  346. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.1/lib/ruby21_parser.rb +0 -6764
  347. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.1/lib/ruby22_parser.rb +0 -6804
  348. data/bundle/ruby/2.3.0/gems/ruby_parser-3.8.1/lib/ruby23_parser.rb +0 -6905
  349. data/bundle/ruby/2.3.0/gems/temple-0.7.6/Gemfile +0 -3
  350. data/bundle/ruby/2.3.0/gems/temple-0.7.6/lib/temple/version.rb +0 -3
@@ -185,13 +185,21 @@ rule
185
185
  {
186
186
  result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
187
187
  }
188
- | primary_value tDOT tIDENTIFIER tOP_ASGN command_call
188
+ | primary_value call_op tIDENTIFIER tOP_ASGN command_call
189
189
  {
190
190
  result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
191
+ if val[1] == '&.'
192
+ result[0] = :safe_op_asgn
193
+ end
194
+ result.line = val[0].line
191
195
  }
192
- | primary_value tDOT tCONSTANT tOP_ASGN command_call
196
+ | primary_value call_op tCONSTANT tOP_ASGN command_call
193
197
  {
194
198
  result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
199
+ if val[1] == '&.'
200
+ result[0] = :safe_op_asgn
201
+ end
202
+ result.line = val[0].line
195
203
  }
196
204
  | primary_value tCOLON2 tCONSTANT tOP_ASGN command_call
197
205
  {
@@ -297,19 +305,14 @@ rule
297
305
  result.insert 1, operation
298
306
  end
299
307
  }
300
- | primary_value tDOT operation2 command_args =tLOWEST
308
+ | primary_value call_op operation2 command_args =tLOWEST
301
309
  {
302
- result = new_call val[0], val[2].to_sym, val[3]
310
+ result = new_call val[0], val[2].to_sym, val[3], val[1]
303
311
  }
304
- | primary_value tLONELY operation2 command_args =tLOWEST
305
- {
306
- result = new_call val[0], val[2].to_sym, val[3]
307
- result[0] = :safe_call
308
- }
309
- | primary_value tDOT operation2 command_args cmd_brace_block
312
+ | primary_value call_op operation2 command_args cmd_brace_block
310
313
  {
311
314
  recv, _, msg, args, block = val
312
- call = new_call recv, msg.to_sym, args
315
+ call = new_call recv, msg.to_sym, args, val[1]
313
316
 
314
317
  block_dup_check call, block
315
318
 
@@ -451,25 +454,17 @@ rule
451
454
  {
452
455
  result = self.aryset val[0], val[2]
453
456
  }
454
- | primary_value tDOT tIDENTIFIER
457
+ | primary_value call_op tIDENTIFIER
455
458
  {
456
- result = s(:attrasgn, val[0], :"#{val[2]}=")
457
- }
458
- | primary_value tLONELY tIDENTIFIER
459
- {
460
- result = s(:attrasgnx, val[0], :"#{val[2]}=")
459
+ result = new_attrasgn val[0], val[2], val[1]
461
460
  }
462
461
  | primary_value tCOLON2 tIDENTIFIER
463
462
  {
464
463
  result = s(:attrasgn, val[0], :"#{val[2]}=")
465
464
  }
466
- | primary_value tDOT tCONSTANT
465
+ | primary_value call_op tCONSTANT
467
466
  {
468
- result = s(:attrasgn, val[0], :"#{val[2]}=")
469
- }
470
- | primary_value tLONELY tCONSTANT
471
- {
472
- result = s(:attrasgnx, val[0], :"#{val[2]}=")
467
+ result = new_attrasgn val[0], val[2], val[1]
473
468
  }
474
469
  | primary_value tCOLON2 tCONSTANT
475
470
  {
@@ -507,25 +502,17 @@ rule
507
502
  {
508
503
  result = self.aryset val[0], val[2]
509
504
  }
510
- | primary_value tDOT tIDENTIFIER # REFACTOR
511
- {
512
- result = s(:attrasgn, val[0], :"#{val[2]}=")
513
- }
514
- | primary_value tLONELY tIDENTIFIER
505
+ | primary_value call_op tIDENTIFIER # REFACTOR
515
506
  {
516
- result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
507
+ result = new_attrasgn val[0], val[2], val[1]
517
508
  }
518
509
  | primary_value tCOLON2 tIDENTIFIER
519
510
  {
520
511
  result = s(:attrasgn, val[0], :"#{val[2]}=")
521
512
  }
522
- | primary_value tDOT tCONSTANT # REFACTOR?
513
+ | primary_value call_op tCONSTANT # REFACTOR?
523
514
  {
524
- result = s(:attrasgn, val[0], :"#{val[2]}=")
525
- }
526
- | primary_value tLONELY tCONSTANT
527
- {
528
- result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
515
+ result = new_attrasgn val[0], val[2], val[1]
529
516
  }
530
517
  | primary_value tCOLON2 tCONSTANT
531
518
  {
@@ -642,13 +629,13 @@ rule
642
629
  val[2][0] = :arglist if val[2]
643
630
  result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
644
631
  }
645
- | primary_value tDOT tIDENTIFIER tOP_ASGN arg
632
+ | primary_value call_op tIDENTIFIER tOP_ASGN arg
646
633
  {
647
- result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4])
634
+ result = new_op_asgn2 val
648
635
  }
649
- | primary_value tDOT tCONSTANT tOP_ASGN arg
636
+ | primary_value call_op tCONSTANT tOP_ASGN arg
650
637
  {
651
- result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4])
638
+ result = new_op_asgn2 val
652
639
  }
653
640
  | primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg
654
641
  {
@@ -1567,14 +1554,9 @@ opt_block_args_tail: tCOMMA block_args_tail
1567
1554
  args = self.call_args val[2..-1]
1568
1555
  result = val[0].concat args[1..-1]
1569
1556
  }
1570
- | primary_value tDOT operation2 opt_paren_args
1571
- {
1572
- result = new_call val[0], val[2].to_sym, val[3]
1573
- }
1574
- | primary_value tLONELY operation2 opt_paren_args
1557
+ | primary_value call_op operation2 opt_paren_args
1575
1558
  {
1576
- result = new_call val[0], val[2].to_sym, val[3]
1577
- result[0] = :safe_call
1559
+ result = new_call val[0], val[2].to_sym, val[3], val[1]
1578
1560
  }
1579
1561
  | primary_value tCOLON2 operation2 paren_args
1580
1562
  {
@@ -1584,14 +1566,9 @@ opt_block_args_tail: tCOMMA block_args_tail
1584
1566
  {
1585
1567
  result = new_call val[0], val[2].to_sym
1586
1568
  }
1587
- | primary_value tDOT paren_args
1569
+ | primary_value call_op paren_args
1588
1570
  {
1589
- result = new_call val[0], :call, val[2]
1590
- }
1591
- | primary_value tLONELY paren_args
1592
- {
1593
- result = new_call val[0], :call, val[2]
1594
- result[0] = :safe_call
1571
+ result = new_call val[0], :call, val[2], val[1]
1595
1572
  }
1596
1573
  | primary_value tCOLON2 paren_args
1597
1574
  {
@@ -1868,7 +1845,7 @@ regexp_contents: none
1868
1845
  result = lexer.lex_strterm
1869
1846
 
1870
1847
  lexer.lex_strterm = nil
1871
- lexer.lex_state = :expr_beg
1848
+ lexer.lex_state = :expr_beg # TODO: expr_value ?
1872
1849
  }
1873
1850
  string_dvar
1874
1851
  {
@@ -1889,7 +1866,7 @@ regexp_contents: none
1889
1866
  lexer.brace_nest = 0
1890
1867
  lexer.string_nest = 0
1891
1868
 
1892
- lexer.lex_state = :expr_beg
1869
+ lexer.lex_state = :expr_value
1893
1870
  }
1894
1871
  compstmt tRCURLY
1895
1872
  {
@@ -2398,6 +2375,8 @@ keyword_variable: kNIL { result = s(:nil) }
2398
2375
  operation2: tIDENTIFIER | tCONSTANT | tFID | op
2399
2376
  operation3: tIDENTIFIER | tFID | op
2400
2377
  dot_or_colon: tDOT | tCOLON2
2378
+ call_op: tDOT
2379
+ | tLONELY
2401
2380
  opt_terms: | terms
2402
2381
  opt_nl: | tNL
2403
2382
  rparen: opt_nl tRPAREN
@@ -195,13 +195,21 @@ rule
195
195
  {
196
196
  result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
197
197
  }
198
- | primary_value tDOT tIDENTIFIER tOP_ASGN command_call
198
+ | primary_value call_op tIDENTIFIER tOP_ASGN command_call
199
199
  {
200
200
  result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
201
+ if val[1] == '&.'
202
+ result[0] = :safe_op_asgn
203
+ end
204
+ result.line = val[0].line
201
205
  }
202
- | primary_value tDOT tCONSTANT tOP_ASGN command_call
206
+ | primary_value call_op tCONSTANT tOP_ASGN command_call
203
207
  {
204
208
  result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
209
+ if val[1] == '&.'
210
+ result[0] = :safe_op_asgn
211
+ end
212
+ result.line = val[0].line
205
213
  }
206
214
  | primary_value tCOLON2 tCONSTANT tOP_ASGN command_call
207
215
  {
@@ -313,21 +321,14 @@ rule
313
321
  result.insert 1, operation
314
322
  end
315
323
  }
316
- | primary_value tDOT operation2 command_args =tLOWEST
324
+ | primary_value call_op operation2 command_args =tLOWEST
317
325
  {
318
- result = new_call val[0], val[2].to_sym, val[3]
326
+ result = new_call val[0], val[2].to_sym, val[3], val[1]
319
327
  }
320
- #if defined(RUBY23)
321
- | primary_value tLONELY operation2 command_args =tLOWEST
322
- {
323
- result = new_call val[0], val[2].to_sym, val[3]
324
- result[0] = :safe_call
325
- }
326
- #endif
327
- | primary_value tDOT operation2 command_args cmd_brace_block
328
+ | primary_value call_op operation2 command_args cmd_brace_block
328
329
  {
329
330
  recv, _, msg, args, block = val
330
- call = new_call recv, msg.to_sym, args
331
+ call = new_call recv, msg.to_sym, args, val[1]
331
332
 
332
333
  block_dup_check call, block
333
334
 
@@ -469,30 +470,18 @@ rule
469
470
  {
470
471
  result = self.aryset val[0], val[2]
471
472
  }
472
- | primary_value tDOT tIDENTIFIER
473
- {
474
- result = s(:attrasgn, val[0], :"#{val[2]}=")
475
- }
476
- #if defined(RUBY23)
477
- | primary_value tLONELY tIDENTIFIER
473
+ | primary_value call_op tIDENTIFIER
478
474
  {
479
- result = s(:attrasgnx, val[0], :"#{val[2]}=")
475
+ result = new_attrasgn val[0], val[2], val[1]
480
476
  }
481
- #endif
482
477
  | primary_value tCOLON2 tIDENTIFIER
483
478
  {
484
479
  result = s(:attrasgn, val[0], :"#{val[2]}=")
485
480
  }
486
- | primary_value tDOT tCONSTANT
481
+ | primary_value call_op tCONSTANT
487
482
  {
488
- result = s(:attrasgn, val[0], :"#{val[2]}=")
483
+ result = new_attrasgn val[0], val[2], val[1]
489
484
  }
490
- #if defined(RUBY23)
491
- | primary_value tLONELY tCONSTANT
492
- {
493
- result = s(:attrasgnx, val[0], :"#{val[2]}=")
494
- }
495
- #endif
496
485
  | primary_value tCOLON2 tCONSTANT
497
486
  {
498
487
  if (self.in_def || self.in_single > 0) then
@@ -529,30 +518,18 @@ rule
529
518
  {
530
519
  result = self.aryset val[0], val[2]
531
520
  }
532
- | primary_value tDOT tIDENTIFIER # REFACTOR
533
- {
534
- result = s(:attrasgn, val[0], :"#{val[2]}=")
535
- }
536
- #if defined(RUBY23)
537
- | primary_value tLONELY tIDENTIFIER
521
+ | primary_value call_op tIDENTIFIER # REFACTOR
538
522
  {
539
- result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
523
+ result = new_attrasgn val[0], val[2], val[1]
540
524
  }
541
- #endif
542
525
  | primary_value tCOLON2 tIDENTIFIER
543
526
  {
544
527
  result = s(:attrasgn, val[0], :"#{val[2]}=")
545
528
  }
546
- | primary_value tDOT tCONSTANT # REFACTOR?
547
- {
548
- result = s(:attrasgn, val[0], :"#{val[2]}=")
549
- }
550
- #if defined(RUBY23)
551
- | primary_value tLONELY tCONSTANT
529
+ | primary_value call_op tCONSTANT # REFACTOR?
552
530
  {
553
- result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
531
+ result = new_attrasgn val[0], val[2], val[1]
554
532
  }
555
- #endif
556
533
  | primary_value tCOLON2 tCONSTANT
557
534
  {
558
535
  if (self.in_def || self.in_single > 0) then
@@ -671,13 +648,13 @@ rule
671
648
  val[2][0] = :arglist if val[2]
672
649
  result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
673
650
  }
674
- | primary_value tDOT tIDENTIFIER tOP_ASGN arg
651
+ | primary_value call_op tIDENTIFIER tOP_ASGN arg
675
652
  {
676
- result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4])
653
+ result = new_op_asgn2 val
677
654
  }
678
- | primary_value tDOT tCONSTANT tOP_ASGN arg
655
+ | primary_value call_op tCONSTANT tOP_ASGN arg
679
656
  {
680
- result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4])
657
+ result = new_op_asgn2 val
681
658
  }
682
659
  | primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg
683
660
  {
@@ -1606,17 +1583,10 @@ opt_block_args_tail: tCOMMA block_args_tail
1606
1583
  args = self.call_args val[2..-1]
1607
1584
  result = val[0].concat args[1..-1]
1608
1585
  }
1609
- | primary_value tDOT operation2 opt_paren_args
1610
- {
1611
- result = new_call val[0], val[2].to_sym, val[3]
1612
- }
1613
- #if defined(RUBY23)
1614
- | primary_value tLONELY operation2 opt_paren_args
1586
+ | primary_value call_op operation2 opt_paren_args
1615
1587
  {
1616
- result = new_call val[0], val[2].to_sym, val[3]
1617
- result[0] = :safe_call
1588
+ result = new_call val[0], val[2].to_sym, val[3], val[1]
1618
1589
  }
1619
- #endif
1620
1590
  | primary_value tCOLON2 operation2 paren_args
1621
1591
  {
1622
1592
  result = new_call val[0], val[2].to_sym, val[3]
@@ -1625,17 +1595,10 @@ opt_block_args_tail: tCOMMA block_args_tail
1625
1595
  {
1626
1596
  result = new_call val[0], val[2].to_sym
1627
1597
  }
1628
- | primary_value tDOT paren_args
1598
+ | primary_value call_op paren_args
1629
1599
  {
1630
- result = new_call val[0], :call, val[2]
1600
+ result = new_call val[0], :call, val[2], val[1]
1631
1601
  }
1632
- #if defined(RUBY23)
1633
- | primary_value tLONELY paren_args
1634
- {
1635
- result = new_call val[0], :call, val[2]
1636
- result[0] = :safe_call
1637
- }
1638
- #endif
1639
1602
  | primary_value tCOLON2 paren_args
1640
1603
  {
1641
1604
  result = new_call val[0], :call, val[2]
@@ -1911,7 +1874,7 @@ regexp_contents: none
1911
1874
  result = lexer.lex_strterm
1912
1875
 
1913
1876
  lexer.lex_strterm = nil
1914
- lexer.lex_state = :expr_beg
1877
+ lexer.lex_state = :expr_beg # TODO: expr_value ?
1915
1878
  }
1916
1879
  string_dvar
1917
1880
  {
@@ -1932,7 +1895,7 @@ regexp_contents: none
1932
1895
  lexer.brace_nest = 0
1933
1896
  lexer.string_nest = 0
1934
1897
 
1935
- lexer.lex_state = :expr_beg
1898
+ lexer.lex_state = :expr_value
1936
1899
  }
1937
1900
  compstmt tRCURLY
1938
1901
  {
@@ -2479,6 +2442,10 @@ keyword_variable: kNIL { result = s(:nil) }
2479
2442
  operation2: tIDENTIFIER | tCONSTANT | tFID | op
2480
2443
  operation3: tIDENTIFIER | tFID | op
2481
2444
  dot_or_colon: tDOT | tCOLON2
2445
+ call_op: tDOT
2446
+ #if defined(RUBY23)
2447
+ | tLONELY
2448
+ #endif
2482
2449
  opt_terms: | terms
2483
2450
  opt_nl: | tNL
2484
2451
  rparen: opt_nl tRPAREN
@@ -91,7 +91,7 @@ class RPStringScanner < StringScanner
91
91
  end
92
92
 
93
93
  module RubyParserStuff
94
- VERSION = "3.8.1" unless constants.include? "VERSION" # SIGH
94
+ VERSION = "3.8.2" unless constants.include? "VERSION" # SIGH
95
95
 
96
96
  attr_accessor :lexer, :in_def, :in_single, :file
97
97
  attr_reader :env, :comments
@@ -557,8 +557,15 @@ module RubyParserStuff
557
557
  end
558
558
  end
559
559
 
560
- def new_call recv, meth, args = nil
561
- result = s(:call, recv, meth)
560
+ def new_call recv, meth, args = nil, call_op = :'.'
561
+ result = case call_op.to_sym
562
+ when :'.'
563
+ s(:call, recv, meth)
564
+ when :'&.'
565
+ s(:safe_call, recv, meth)
566
+ else
567
+ raise "unknown call operator: `#{type.inspect}`"
568
+ end
562
569
 
563
570
  # TODO: need a test with f(&b) to produce block_pass
564
571
  # TODO: need a test with f(&b) { } to produce warning
@@ -577,6 +584,22 @@ module RubyParserStuff
577
584
  result
578
585
  end
579
586
 
587
+ def new_attrasgn recv, meth, call_op
588
+ meth = :"#{meth}="
589
+
590
+ result = case call_op.to_sym
591
+ when :'.'
592
+ s(:attrasgn, recv, meth)
593
+ when :'&.'
594
+ s(:safe_attrasgn, recv, meth)
595
+ else
596
+ raise "unknown call operator: `#{type.inspect}`"
597
+ end
598
+
599
+ result.line = recv.line
600
+ result
601
+ end
602
+
580
603
  def new_case expr, body, line
581
604
  result = s(:case, expr)
582
605
 
@@ -745,6 +768,23 @@ module RubyParserStuff
745
768
  result
746
769
  end
747
770
 
771
+ def new_op_asgn2 val
772
+ recv, call_op, meth, op, arg = val
773
+ meth = :"#{meth}="
774
+
775
+ result = case call_op.to_sym
776
+ when :'.'
777
+ s(:op_asgn2, recv, meth, op.to_sym, arg)
778
+ when :'&.'
779
+ s(:safe_op_asgn2, recv, meth, op.to_sym, arg)
780
+ else
781
+ raise "unknown call operator: `#{type.inspect}`"
782
+ end
783
+
784
+ result.line = recv.line
785
+ result
786
+ end
787
+
748
788
  def new_regexp val
749
789
  node = val[1] || s(:str, '')
750
790
  options = val[2]