brew --config: properly handle empty which strings

Symptom: If no python/ruby/perl is in your path, then `which x`.chomp
returns an empty string and `unless ""` is still true.  So, N/A is never
displayed.  Instead, ruby's Pathname.new("").realpath returns the cwd.
(I consider this realpath behavior a ruby bug) Fix: use empty?

Closes Homebrew/homebrew#10027.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
samueljohn 2012-02-07 16:08:06 +01:00 committed by Jack Nagel
parent a671a13b24
commit 0eb1cadee0

View File

@ -38,7 +38,7 @@ module Homebrew extend self
def describe_perl
perl = `which perl`.chomp
return "N/A" unless perl
return "N/A" if perl.empty?
real_perl = Pathname.new(perl).realpath.to_s
return perl if perl == real_perl
@ -47,7 +47,7 @@ module Homebrew extend self
def describe_python
python = `which python`.chomp
return "N/A" unless python
return "N/A" if python.empty?
real_python = Pathname.new(python).realpath.to_s
@ -57,7 +57,7 @@ module Homebrew extend self
def describe_ruby
ruby = `which ruby`.chomp
return "N/A" unless ruby
return "N/A" if ruby.empty?
real_ruby = Pathname.new(ruby).realpath.to_s
return ruby if ruby == real_ruby