提交 c4fde94f 编写于 作者: J Justin Collins

Merge remote-tracking branch 'grosser/configs'

Better config locations, warn on old deprecated ones
......@@ -145,7 +145,7 @@ Brakeman options can stored and read from YAML files. To simplify the process of
Options passed in on the commandline have priority over configuration files.
The default config locations are `./config.yaml`, `~/.brakeman/`, and `/etc/brakeman/config.yaml`
The default config locations are `./config/brakeman.yml`, `~/.brakeman/config.yml`, and `/etc/brakeman/config.yml`
The `-c` option can be used to specify a configuration file to use.
......
......@@ -80,31 +80,38 @@ module Brakeman
options
end
#Load options from YAML file
def self.load_options config_file
config_file ||= ""
DEPRECATED_CONFIG_FILES = [
File.expand_path("./config.yaml"),
File.expand_path("~/.brakeman/config.yaml"),
File.expand_path("/etc/brakeman/config.yaml"),
"#{File.expand_path(File.dirname(__FILE__))}/../lib/config.yaml"
]
CONFIG_FILES = [
File.expand_path("./config/brakeman.yml"),
File.expand_path("~/.brakeman/config.yml"),
File.expand_path("/etc/brakeman/config.yml"),
]
#Load options from YAML file
def self.load_options custom_location
#Load configuration file
[File.expand_path(config_file),
File.expand_path("./config.yaml"),
File.expand_path("~/.brakeman/config.yaml"),
File.expand_path("/etc/brakeman/config.yaml"),
"#{File.expand_path(File.dirname(__FILE__))}/../lib/config.yaml"].each do |f|
if File.exist? f and not File.directory? f
notify "[Notice] Using configuration in #{f}"
options = YAML.load_file f
options.each do |k,v|
if v.is_a? Array
options[k] = Set.new v
end
end
return options
end
end
if config = config_file(custom_location)
notify "[Notice] Using configuration in #{config}"
options = YAML.load_file config
options.each { |k, v| options[k] = Set.new v if v.is_a? Array }
options
else
{}
end
end
return {}
def self.config_file(custom_location=nil)
DEPRECATED_CONFIG_FILES.each do |f|
notify "#{f} is deprecated, please use one of #{CONFIG_FILES.join(", ")}" if File.file?(f)
end
supported_locations = [File.expand_path(custom_location || "")] + DEPRECATED_CONFIG_FILES + CONFIG_FILES
supported_locations.detect{|f| File.file?(f) }
end
#Default set of options
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册