diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2015-12-15 17:51:10 -0800 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2015-12-15 17:51:10 -0800 |
commit | 3c748989b2be50e97655d5af855b46b44699e6b4 (patch) | |
tree | 8e755763d788d1f44763580e6bd7d873099cde7c | |
parent | 1ca7d4505becf5a7553280f892ef31f0e6933384 (diff) | |
download | bundler-seg-config-load-filesystem-access.tar.gz |
[Settings] Use filesystem_access block to read config fileseg-config-load-filesystem-access
-rw-r--r-- | lib/bundler/settings.rb | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb index 1ca41e2e71..528d4f6aa2 100644 --- a/lib/bundler/settings.rb +++ b/lib/bundler/settings.rb @@ -224,17 +224,15 @@ module Bundler end def load_config(config_file) - valid_file = config_file && config_file.exist? && !config_file.size.zero? - if !ignore_config? && valid_file + SharedHelpers.filesystem_access(config_file, :read) do + valid_file = config_file && config_file.exist? && !config_file.size.zero? + return {} if ignore_config? || !valid_file config_regex = /^(BUNDLE_.+): (['"]?)(.*(?:\n(?!BUNDLE).+)?)\2$/ - raise PermissionError.new(config_file, :read) unless config_file.readable? config_pairs = config_file.read.scan(config_regex).map do |m| key, _, value = m [convert_to_backward_compatible_key(key), value.gsub(/\s+/, " ").tr('"', "'")] end Hash[config_pairs] - else - {} end end |