aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/pin.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd/pin.rb')
-rw-r--r--Library/Homebrew/cmd/pin.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/pin.rb b/Library/Homebrew/cmd/pin.rb
index 26b487a0d..2c0d5d33d 100644
--- a/Library/Homebrew/cmd/pin.rb
+++ b/Library/Homebrew/cmd/pin.rb
@@ -6,11 +6,15 @@ module Homebrew extend self
abort "Cowardly refusing to `sudo pin'"
end
raise FormulaUnspecifiedError if ARGV.named.empty?
- ARGV.formulae.each do |fmla|
- f = Formula.factory(fmla.to_s)
- onoe "Cannot pin uninstalled formula #{f.name}!" unless f.pinable?
- opoo "Formula #{f.name} already pinned!" if f.pinable? and f.pinned?
- f.pin if f.pinable? and not f.pinned?
+
+ ARGV.formulae.each do |f|
+ if f.pinned?
+ opoo "#{f.name} already pinned"
+ elsif !f.pinnable?
+ onoe "#{f.name} not installed"
+ else
+ f.pin
+ end
end
end
end