提交 1eb6498b 编写于 作者: P Patrick Toomey 提交者: Justin Collins

start tracking src for all parsed files

上级 19ca94f3
......@@ -57,7 +57,8 @@ class Brakeman::ControllerProcessor < Brakeman::BaseProcessor
if @tracker.controllers[name.to_sym]
@current_class = @tracker.controllers[name]
@current_class[:files] << @file_name
@current_class[:files] << @file_name unless @current_class[:files].include? @file_name
@current_class[:src][@file_name] = exp
else
@current_class = { :name => name,
:parent => parent,
......@@ -66,8 +67,8 @@ class Brakeman::ControllerProcessor < Brakeman::BaseProcessor
:private => {},
:protected => {},
:options => {:before_filters => []},
:src => exp,
:files => [@file_name] }
:src => { @file_name => exp },
:files => [ @file_name ] }
@tracker.controllers[@current_class[:name]] = @current_class
end
......
......@@ -29,7 +29,8 @@ class Brakeman::LibraryProcessor < Brakeman::BaseProcessor
if @tracker.libs[name]
@current_class = @tracker.libs[name]
@current_class[:files] << @file_name
@current_class[:files] << @file_name unless @current_class[:files].include? @file_name
@current_class[:src][@file_name] = exp
else
parent = class_name exp.parent_name
......@@ -39,8 +40,8 @@ class Brakeman::LibraryProcessor < Brakeman::BaseProcessor
:public => {},
:private => {},
:protected => {},
:src => exp,
:files => [@file_name] }
:src => { @file_name => exp },
:files => [ @file_name ] }
@tracker.libs[name] = @current_class
end
......
......@@ -29,7 +29,7 @@ class Brakeman::ModelProcessor < Brakeman::BaseProcessor
ignore
elsif @tracker.models[name.to_sym]
@model = @tracker.models[name]
@model[:files] << @file_name
@model[:files] << @file_name unless @model[:files].include? @file_name
exp.body = process_all! exp.body
@model = nil
exp
......
......@@ -122,7 +122,9 @@ class Brakeman::Rescanner < Brakeman::Scanner
end
end
@processor.process_controller_alias controller[:name], controller[:src]
controller[:src].values.each do |src|
@processor.process_controller_alias controller[:name], src
end
end
end
......@@ -165,8 +167,10 @@ class Brakeman::Rescanner < Brakeman::Scanner
if r[0] == :controller
controller = tracker.controllers[r[1]]
unless @paths.include? controller[:file]
@processor.process_controller_alias controller[:name], controller[:src], r[2]
controller[:src].each do |file, src|
unless @paths.include? file
@processor.process_controller_alias controller[:name], src, r[2]
end
end
elsif r[0] == :template
template = tracker.templates[r[1]]
......
......@@ -207,7 +207,9 @@ class Brakeman::Scanner
Brakeman.debug "Processing #{name}"
report_progress(current, total, "controllers")
current += 1
@processor.process_controller_alias name, controller[:src]
controller[:src].values.each do |src|
@processor.process_controller_alias name, src
end
end
#No longer need these processed filter methods
......
......@@ -178,7 +178,7 @@ class RescannerTests < Test::Unit::TestCase
assert_reindex :controllers, :models, :templates
assert_changes
assert_new 7 #User is no longer a model, causing MORE warnings
assert_fixed 7
assert_fixed 8
end
def test_add_method_to_model
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册