aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/unpin.rb
diff options
context:
space:
mode:
authorJack Nagel2013-04-16 01:43:26 -0500
committerJack Nagel2013-04-16 01:58:11 -0500
commit3a0726406bf3482cdfb5d992ee29b1aefde363ea (patch)
treeb294568c541f55ed476c274b63924cdebf6cfa91 /Library/Homebrew/cmd/unpin.rb
parentd600d6c0bebaf56ffb47ff7e9e1ac644d36c7a7d (diff)
downloadbrew-3a0726406bf3482cdfb5d992ee29b1aefde363ea.tar.bz2
Add tests for FormulaPin and simplify implementation
Diffstat (limited to 'Library/Homebrew/cmd/unpin.rb')
-rw-r--r--Library/Homebrew/cmd/unpin.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/unpin.rb b/Library/Homebrew/cmd/unpin.rb
index 6855db4bf..265f7a941 100644
--- a/Library/Homebrew/cmd/unpin.rb
+++ b/Library/Homebrew/cmd/unpin.rb
@@ -6,11 +6,15 @@ module Homebrew extend self
abort "Cowardly refusing to `sudo unpin'"
end
raise FormulaUnspecifiedError if ARGV.named.empty?
- ARGV.formulae.each do |fmla|
- f = Formula.factory(fmla.to_s)
- onoe "Cannot unpin uninstalled formula #{f.name}!" unless f.pinable?
- opoo "Formula #{f.name} already unpinned!" if f.pinable? and not f.pinned?
- f.unpin if f.pinable? and f.pinned?
+
+ ARGV.formulae.each do |f|
+ if f.pinned?
+ f.unpin
+ elsif !f.pinnable?
+ onoe "#{f.name} not installed"
+ else
+ opoo "#{f.name} not pinned"
+ end
end
end
end