Skip to content

Commit

Permalink
Merge pull request #7514 from rubygems/ignore-commented-out-settings
Browse files Browse the repository at this point in the history
Ignore commented out keys in config file

(cherry picked from commit 27c33dd)
  • Loading branch information
simi authored and deivid-rodriguez committed Mar 20, 2024
1 parent 5c15783 commit f17f14a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
17 changes: 10 additions & 7 deletions bundler/lib/bundler/settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -492,16 +492,19 @@ def load_config(config_file)
valid_file = file.exist? && !file.size.zero?
return {} unless valid_file
serializer_class.load(file.read).inject({}) do |config, (k, v)|
if k.include?("-")
Bundler.ui.warn "Your #{file} config includes `#{k}`, which contains the dash character (`-`).\n" \
"This is deprecated, because configuration through `ENV` should be possible, but `ENV` keys cannot include dashes.\n" \
"Please edit #{file} and replace any dashes in configuration keys with a triple underscore (`___`)."
unless k.start_with?("#")
if k.include?("-")
Bundler.ui.warn "Your #{file} config includes `#{k}`, which contains the dash character (`-`).\n" \
"This is deprecated, because configuration through `ENV` should be possible, but `ENV` keys cannot include dashes.\n" \
"Please edit #{file} and replace any dashes in configuration keys with a triple underscore (`___`)."

# string hash keys are frozen
k = k.gsub("-", "___")
# string hash keys are frozen
k = k.gsub("-", "___")
end

config[k] = v
end

config[k] = v
config
end
end
Expand Down
9 changes: 9 additions & 0 deletions bundler/spec/bundler/settings_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,15 @@
expect(settings["mirror.https://rubygems.org/"]).to eq("http://rubygems-mirror.org")
end

it "ignores commented out keys" do
create_file bundled_app(".bundle/config"), <<~C
# BUNDLE_MY-PERSONAL-SERVER__ORG: my-personal-server.org
C

expect(Bundler.ui).not_to receive(:warn)
expect(settings.all).to be_empty
end

it "converts older keys with dashes" do
config("BUNDLE_MY-PERSONAL-SERVER__ORG" => "my-personal-server.org")
expect(Bundler.ui).to receive(:warn).with(
Expand Down

0 comments on commit f17f14a

Please sign in to comment.