summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColby Swandale <colby@taplaboratories.com>2017-04-05 22:18:50 +1000
committerColby Swandale <colby@taplaboratories.com>2017-04-05 22:18:50 +1000
commitb167787a5bb56fba9b9410b175ea3a6d8f51756c (patch)
tree82b6f3e31742538e3661a4c304cf35e7f66fe2ce
parentde494369df4e7370fd477f5ff246f5133d319a73 (diff)
downloadbundler-b167787a5bb56fba9b9410b175ea3a6d8f51756c.tar.gz
update config output parseable format and specs
-rw-r--r--lib/bundler/cli/config.rb4
-rw-r--r--lib/bundler/settings.rb9
-rw-r--r--spec/commands/config_spec.rb18
3 files changed, 28 insertions, 3 deletions
diff --git a/lib/bundler/cli/config.rb b/lib/bundler/cli/config.rb
index 2b9bf0fd59..60183727ce 100644
--- a/lib/bundler/cli/config.rb
+++ b/lib/bundler/cli/config.rb
@@ -49,8 +49,8 @@ module Bundler
if @options[:parseable]
thor.with_padding do
Bundler.settings.all.each do |setting|
- value = Bundler.settings[setting]
- Bundler.ui.info "#{setting}=#{value}"
+ config = Bundler.settings.minimal_values_for(setting)
+ Bundler.ui.info "#{setting}: #{config}"
end
end
else
diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb
index 7339f721ad..c4edbee80d 100644
--- a/lib/bundler/settings.rb
+++ b/lib/bundler/settings.rb
@@ -155,6 +155,15 @@ module Bundler
locations
end
+ def minimal_values_for(exposed_key)
+ key = key_for(exposed_key)
+ line = String.new
+
+ line << "local=#{@local_config[key]}"
+ line << " global=#{@global_config[key]}"
+ line << " env=#{ENV[key]}"
+ end
+
def pretty_values_for(exposed_key)
key = key_for(exposed_key)
diff --git a/spec/commands/config_spec.rb b/spec/commands/config_spec.rb
index f677c1fc36..0ecf25d49e 100644
--- a/spec/commands/config_spec.rb
+++ b/spec/commands/config_spec.rb
@@ -23,7 +23,23 @@ RSpec.describe ".bundle/config" do
context "given --parseable flag" do
it "prints a minimal report of local and user configuration" do
bundle "config --parseable"
- expect(out).to include("foo=bar")
+ expect(out).to include("foo: local= global=bar env=")
+ end
+
+ context "with global config" do
+ it "prints config assigned to local scope" do
+ bundle "config --local foo2 bar"
+ bundle "config --parseable"
+ expect(out).to include("foo2: local=bar global= env=")
+ end
+ end
+
+ context "with env overwrite" do
+ it "prints config with env" do
+ bundle "config foo bar"
+ bundle "config --parseable", :env => { "BUNDLE_FOO" => "bar2" }
+ expect(out).to include("foo: local= global=bar env=bar2")
+ end
end
end
end