aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorJack Nagel2013-04-16 01:43:26 -0500
committerJack Nagel2013-04-16 01:58:11 -0500
commitb596f73c03cb8976ad774f3a14c2a20dcc426dac (patch)
tree51a5f27691741b26b34d8670ea6a7327e565645f /Library/Homebrew/cmd
parentdd65110ad73c90ed7fb78de328d35b908c4e3f08 (diff)
downloadhomebrew-b596f73c03cb8976ad774f3a14c2a20dcc426dac.tar.bz2
Add tests for FormulaPin and simplify implementation
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/pin.rb14
-rw-r--r--Library/Homebrew/cmd/unpin.rb14
2 files changed, 18 insertions, 10 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
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