aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/Contributions/cmd/brew-switch.rb45
-rwxr-xr-xLibrary/Homebrew/cmd/switch.rb49
2 files changed, 49 insertions, 45 deletions
diff --git a/Library/Contributions/cmd/brew-switch.rb b/Library/Contributions/cmd/brew-switch.rb
deleted file mode 100755
index 5cfe86d63..000000000
--- a/Library/Contributions/cmd/brew-switch.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-require 'formula'
-require 'keg'
-
-if ARGV.named.length != 2
- onoe "Usage: brew switch <formula> <version>"
- exit 1
-end
-
-name = ARGV.shift
-version = ARGV.shift
-
-# Does this formula have any versions?
-f = Formula.factory(name.downcase)
-cellar = f.prefix.parent
-unless cellar.directory?
- onoe "#{name} not found in the Cellar."
- exit 2
-end
-
-# Does the target version exist?
-unless (cellar+version).directory?
- onoe "#{name} does not have a version \"#{version}\" in the Cellar."
-
- versions = cellar.subdirs.map { |d| Keg.new(d).version }
- puts "Versions available: #{versions.join(', ')}"
-
- exit 3
-end
-
-# Unlink all existing versions
-cellar.subdirs.each do |v|
- keg = Keg.new(v)
- puts "Cleaning #{keg}"
- keg.unlink
-end
-
-# Link new version, if not keg-only
-if f.keg_only?
- keg = Keg.new(cellar+version)
- keg.optlink
- puts "Opt link created for #{keg}"
-else
- keg = Keg.new(cellar+version)
- puts "#{keg.link} links created for #{keg}"
-end
diff --git a/Library/Homebrew/cmd/switch.rb b/Library/Homebrew/cmd/switch.rb
new file mode 100755
index 000000000..a626aaf4c
--- /dev/null
+++ b/Library/Homebrew/cmd/switch.rb
@@ -0,0 +1,49 @@
+require 'formula'
+require 'keg'
+
+module Homebrew
+ def switch
+ if ARGV.named.length != 2
+ onoe "Usage: brew switch <formula> <version>"
+ exit 1
+ end
+
+ name = ARGV.shift
+ version = ARGV.shift
+
+ # Does this formula have any versions?
+ f = Formula.factory(name.downcase)
+ cellar = f.prefix.parent
+ unless cellar.directory?
+ onoe "#{name} not found in the Cellar."
+ exit 2
+ end
+
+ # Does the target version exist?
+ unless (cellar+version).directory?
+ onoe "#{name} does not have a version \"#{version}\" in the Cellar."
+
+ versions = cellar.subdirs.map { |d| Keg.new(d).version }
+ puts "Versions available: #{versions.join(', ')}"
+
+ exit 3
+ end
+
+ # Unlink all existing versions
+ cellar.subdirs.each do |v|
+ keg = Keg.new(v)
+ puts "Cleaning #{keg}"
+ keg.unlink
+ end
+
+ # Link new version, if not keg-only
+ if f.keg_only?
+ keg = Keg.new(cellar+version)
+ keg.optlink
+ puts "Opt link created for #{keg}"
+ else
+ keg = Keg.new(cellar+version)
+ puts "#{keg.link} links created for #{keg}"
+ end
+ end
+end