- add new file "cask/utils.rb" analogous to "utils.rb" in Homebrew
- define odebug and odumpcask, analogs of ohai and friends, but
which only give output when --debug is in effect
- move the debug setting from an instance variable in Cask::CLI
to a method Cask.debug, defined in "lib/cask/options.rb", which
was added in #2276. (Perhaps options.rb should be merged back
into Cask::CLI).
- sprinkle odebug statements liberally throughout the codebase
- update tests
form "<user>/<repo>/<cask>" may be used on cmdline, matching homebrew
- refactor Cask::Source::Tap into Cask::Source::Tapped, removing
code, only handling unqualified cask names here now (ie no slash)
- create Cask::Source::TappedQualified, handling "<user>-<repo>/<cask>"
form as before, and new form "<user>/<repo>/<cask>", for the case that
the relevant tap already exists
- create Cask::Source::UntappedQualified, handling both command-line
forms as above, but implicitly creating adding a new tap if it
does not already exist
- add module Cask::QualifiedCaskName for utility functions on qualified
Cask names
- brew cask list now displays casks without backing ruby files
- casks without a source are displayed as "caskname (!)"
- these casks can be uninstalled, with the caveat that it only removes
their files from the caskroom (doesn't run pkg uninstall or anything,
since there's no ruby file to define what to do)
- introduce Cask::Source to encapsulate different types of loading
behind a consistent interface
- mostly this is method-level reorg, kept refactoring of the internals
of these methods to a minimum for this pass
- this is preparatory cleanup for adding the ability to represent a
cask without a backing ruby file