aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/pin.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/pin.rb
parentd600d6c0bebaf56ffb47ff7e9e1ac644d36c7a7d (diff)
downloadbrew-3a0726406bf3482cdfb5d992ee29b1aefde363ea.tar.bz2
Add tests for FormulaPin and simplify implementation
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