aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreregon2011-03-20 22:37:25 +0100
committerAdam Vandenberg2011-03-20 19:12:29 -0700
commitb6506fb4ea02fbffaa047df46effed1f30b52ff6 (patch)
tree70ed22fdfb129bcd516679abfdf29d56a3898453
parentaefb14404876efd6b2a16626d52a8302a7aecadb (diff)
downloadbrew-b6506fb4ea02fbffaa047df46effed1f30b52ff6.tar.bz2
use Module#const_get instead of eval
* may be a problem if the constant is scoped (like A::B), but this is not the case (const.split('::').inject(Object) { |c, part| c.const_get part } would solve that) * this was noticed in a comment of 9afc85ad but it has disappeared Signed-off-by: Adam Vandenberg <flangy@gmail.com>
-rw-r--r--Library/Homebrew/formula.rb2
-rwxr-xr-xbin/brew3
2 files changed, 2 insertions, 3 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index e394d0f5c..dd4e03261 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -378,7 +378,7 @@ class Formula
begin
klass_name = self.class_s(name)
- klass = eval(klass_name)
+ klass = Object.const_get klass_name
rescue NameError
# TODO really this text should be encoded into the exception
# and only shown if the UI deems it correct to show it
diff --git a/bin/brew b/bin/brew
index c06a673dc..5fe19cc89 100755
--- a/bin/brew
+++ b/bin/brew
@@ -71,10 +71,9 @@ begin
# Add example external commands to PATH before checking.
ENV['PATH'] += ":#{HOMEBREW_REPOSITORY}/Library/Contributions/examples"
-
if system "/usr/bin/which -s brew-#{cmd}"
%w[CACHE CELLAR LIBRARY_PATH PREFIX REPOSITORY].each do |e|
- ENV["HOMEBREW_#{e}"] = eval "HOMEBREW_#{e}"
+ ENV["HOMEBREW_#{e}"] = Object.const_get "HOMEBREW_#{e}"
end
exec "brew-#{cmd}", *ARGV
elsif require? `/usr/bin/which brew-#{cmd}.rb`