homebrew-cask-versions/lib/cask/cli/uninstall.rb
phinze c244385eb2 prefpane support; artifact refactor
= New Concept: Cask::Artifact

An Artifact is a file in an extacted container for which homebrew-cask
should take some sort of action on install/uninstall.

== Current artifacts:

 - App: link/unlink to ~/Applications
 - Pkg: install/uninstall (with sudo)
 - Prefpane: link/unlink to ~/Library/PreferencePanes

= New Feature: Preference Pane Handling

Specifying `prefpane 'MyApp.prefPane'` in a Cask causes it to be linked
on install to the correct location for it to show up in System
Preferences.

refs #69

= Removed Commands: linkapps/unlinkapps

These were old and mostly unused and don't really make much sense when
linking/unlinking happens automatically in the install process.

= Changed Behavior: stricter relative pathname requirement

With this refactor, we remove the fuzzy searching for a file in an
extracted container when that file was referenced from `link`
or `install`. There may be some casks that need to be updated due to
this change.
2013-10-07 13:51:42 -05:00

17 lines
391 B
Ruby

class Cask::CLI::Uninstall
def self.run(*cask_names)
begin
casks = cask_names.map { |cn| Cask.load(cn) }
casks.each do |cask|
raise CaskNotInstalledError.new(cask) unless cask.installed?
Cask::Installer.new(cask).uninstall
end
rescue CaskError => e
onoe e
end
end
def self.help
"uninstalls the cask of the given name"
end
end