Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
Brakeman
提交
5a0eb528
B
Brakeman
项目概览
李少辉-开发者
/
Brakeman
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
Brakeman
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5a0eb528
编写于
8月 29, 2012
作者:
J
Justin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #137 from presidentbeef/relative_paths_for_reports
Relative paths for reports
上级
119a5864
2fd19759
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
4 deletion
+27
-4
lib/brakeman.rb
lib/brakeman.rb
+2
-0
lib/brakeman/options.rb
lib/brakeman/options.rb
+4
-0
lib/brakeman/report.rb
lib/brakeman/report.rb
+21
-4
未找到文件。
lib/brakeman.rb
浏览文件 @
5a0eb528
...
...
@@ -39,6 +39,7 @@ module Brakeman
# * :safe_methods - array of methods to consider safe
# * :skip_libs - do not process lib/ directory (default: false)
# * :skip_checks - checks not to run (run all if not specified)
# * :relative_path - show relative path of each file(default: false)
# * :summary_only - only output summary section of report
# (does not apply to tabs format)
#
...
...
@@ -119,6 +120,7 @@ module Brakeman
:ignore_model_output
=>
false
,
:message_limit
=>
100
,
:parallel_checks
=>
true
,
:relative_path
=>
false
,
:quiet
=>
true
,
:report_progress
=>
true
,
:html_style
=>
"
#{
File
.
expand_path
(
File
.
dirname
(
__FILE__
))
}
/brakeman/format/style.css"
...
...
lib/brakeman/options.rb
浏览文件 @
5a0eb528
...
...
@@ -169,6 +169,10 @@ module Brakeman::Options
options
[
:summary_only
]
=
true
end
opts
.
on
"--relative-paths"
,
"Output relative file paths in reports"
do
options
[
:relative_paths
]
=
true
end
opts
.
on
"-w"
,
"--confidence-level LEVEL"
,
[
"1"
,
"2"
,
"3"
],
...
...
lib/brakeman/report.rb
浏览文件 @
5a0eb528
require
'cgi'
require
'set'
require
'pathname'
require
'brakeman/processors/output_processor'
require
'brakeman/util'
require
'terminal-table'
...
...
@@ -551,7 +552,7 @@ class Brakeman::Report
message
end
<<
"<table id='
#{
code_id
}
' class='context' style='display:none'>"
<<
"<caption>
#{
(
warning
.
file
||
''
).
gsub
(
tracker
.
options
[
:app_path
],
""
)
}
</caption>"
"<caption>
#{
warning_file
(
warning
,
:relative
)
||
''
}
</caption>"
unless
context
.
empty?
if
warning
.
line
-
1
==
1
or
warning
.
line
+
1
==
1
...
...
@@ -614,7 +615,7 @@ class Brakeman::Report
checks
.
send
(
meth
).
map
do
|
w
|
line
=
w
.
line
||
0
w
.
warning_type
.
gsub!
(
/[^\w\s]/
,
' '
)
"
#{
file_for
w
}
\t
#{
line
}
\t
#{
w
.
warning_type
}
\t
#{
category
}
\t
#{
w
.
format_message
}
\t
#{
TEXT_CONFIDENCE
[
w
.
confidence
]
}
"
"
#{
warning_file
w
}
\t
#{
line
}
\t
#{
w
.
warning_type
}
\t
#{
category
}
\t
#{
w
.
format_message
}
\t
#{
TEXT_CONFIDENCE
[
w
.
confidence
]
}
"
end
.
join
"
\n
"
end
.
join
"
\n
"
...
...
@@ -637,7 +638,6 @@ class Brakeman::Report
w
.
code
=
""
end
w
.
context
=
context_for
(
w
).
join
(
"
\n
"
)
w
.
file
=
file_for
w
end
end
...
...
@@ -650,7 +650,14 @@ class Brakeman::Report
require
'json'
errors
=
tracker
.
errors
.
map
{
|
e
|
{
:error
=>
e
[
:error
],
:location
=>
e
[
:backtrace
][
0
]
}}
warnings
=
all_warnings
.
map
{
|
w
|
w
.
to_hash
}.
sort_by
{
|
w
|
w
[
:file
]}
app_path
=
tracker
.
options
[
:app_path
]
warnings
=
all_warnings
.
map
do
|
w
|
hash
=
w
.
to_hash
hash
[
:file
]
=
warning_file
w
hash
end
.
sort_by
{
|
w
|
w
[
:file
]
}
scan_info
=
{
:app_path
=>
File
.
expand_path
(
tracker
.
options
[
:app_path
]),
:rails_version
=>
rails_version
,
...
...
@@ -680,6 +687,16 @@ class Brakeman::Report
Set
.
new
(
tracker
.
templates
.
map
{
|
k
,
v
|
v
[
:name
].
to_s
[
/[^.]+/
]}).
length
end
def
warning_file
warning
,
relative
=
false
return
nil
if
warning
.
file
.
nil?
if
@tracker
.
options
[
:relative_paths
]
or
relative
Pathname
.
new
(
warning
.
file
).
relative_path_from
(
Pathname
.
new
(
tracker
.
options
[
:app_path
])).
to_s
else
warning
.
file
end
end
private
def
load_and_render_erb
file
,
bind
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录