aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharlie Sharpsteen2011-09-11 12:57:53 -0700
committerCharlie Sharpsteen2011-09-16 08:55:38 -0700
commit06fbecbeaefbcd82db8e0215b964e30ef3378ff0 (patch)
treedb106759536b6b2c05fcecd96e61d2e840b33168
parent8c9f595a834b324d53f461f4f9b81bcfc33dcc18 (diff)
downloadhomebrew-06fbecbeaefbcd82db8e0215b964e30ef3378ff0.tar.bz2
Centralize definition of `rack` in formula.rb
`rack` is a commonly used alias for `formula.prefix.parent`---so common that it gets defined and used quite a bit. This patch makes `rack` an official method of the `Formula` class.
-rwxr-xr-xLibrary/Homebrew/build.rb2
-rw-r--r--Library/Homebrew/cmd/cleanup.rb9
-rw-r--r--Library/Homebrew/cmd/info.rb5
-rw-r--r--Library/Homebrew/cmd/uninstall.rb7
-rw-r--r--Library/Homebrew/cmd/upgrade.rb8
-rw-r--r--Library/Homebrew/formula.rb1
6 files changed, 12 insertions, 20 deletions
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb
index 36c3da268..f704e05ef 100755
--- a/Library/Homebrew/build.rb
+++ b/Library/Homebrew/build.rb
@@ -86,7 +86,7 @@ def install f
rescue Exception
if f.prefix.directory?
f.prefix.rmtree
- f.prefix.parent.rmdir_if_possible
+ f.rack.rmdir_if_possible
end
raise
end
diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb
index f5f11599c..0f9f2c3cb 100644
--- a/Library/Homebrew/cmd/cleanup.rb
+++ b/Library/Homebrew/cmd/cleanup.rb
@@ -23,25 +23,24 @@ module Homebrew extend self
def cleanup_formula f
f = Formula.factory f
- rack = f.prefix.parent
# Don't clean up keg-only brews for now.
# Formulae link directly to them, so cleaning up old
# ones will break already compiled software.
if f.keg_only? and not ARGV.force?
- opoo "Skipping keg-only #{f.name}" if rack.children.length > 1
+ opoo "Skipping keg-only #{f.name}" if f.rack.children.length > 1
return
end
- if f.installed? and rack.directory?
- rack.children.each do |keg|
+ if f.installed? and f.rack.directory?
+ f.rack.children.each do |keg|
if f.installed_prefix != keg
print "Removing #{keg}..."
rm_rf keg
puts
end
end
- elsif rack.children.length > 1
+ elsif f.rack.children.length > 1
# If the cellar only has one version installed, don't complain
# that we can't tell which one to keep.
opoo "Skipping #{f.name}: most recent version #{f.version} not installed"
diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb
index 637e849c5..9c950801a 100644
--- a/Library/Homebrew/cmd/info.rb
+++ b/Library/Homebrew/cmd/info.rb
@@ -50,9 +50,8 @@ module Homebrew extend self
puts "Depends on: #{f.deps*', '}" unless f.deps.empty?
- rack = f.prefix.parent
- if rack.directory?
- kegs = rack.children
+ if f.rack.directory?
+ kegs = f.rack.children
kegs.each do |keg|
next if keg.basename.to_s == '.DS_Store'
print "#{keg} (#{keg.abv})"
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index 76c94969a..7392c26b7 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -10,17 +10,16 @@ module Homebrew extend self
end
else
ARGV.formulae.each do |f|
- rack = f.prefix.parent
- if rack.directory?
+ if f.rack.directory?
puts "Uninstalling #{f}..."
- rack.children.each do |keg|
+ f.rack.children.each do |keg|
if keg.directory?
keg = Keg.new(keg)
keg.unlink
keg.rmtree
end
end
- rack.rmtree
+ f.rack.rmtree
end
end
end
diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb
index 1303c1973..99fcf6fa0 100644
--- a/Library/Homebrew/cmd/upgrade.rb
+++ b/Library/Homebrew/cmd/upgrade.rb
@@ -7,12 +7,6 @@ class Fixnum
end
end
-class Formula
- def rack
- HOMEBREW_CELLAR/name
- end
-end
-
module Homebrew extend self
def upgrade
Homebrew.perform_preinstall_checks
@@ -23,7 +17,7 @@ module Homebrew extend self
ARGV.formulae.map do |f|
raise "#{f} already upgraded" if f.installed?
raise "#{f} not installed" unless f.rack.exist? and not f.rack.children.empty?
- [f.prefix.parent, f.name, f.version]
+ [f.rack, f.name, f.version]
end
end
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index ca8e489c3..2ecf30758 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -170,6 +170,7 @@ class Formula
validate_variable :version
HOMEBREW_CELLAR+@name+@version
end
+ def rack; prefix.parent end
def bin; prefix+'bin' end
def doc; prefix+'share/doc'+name end