homebrew-cask-versions/lib/cask
Roland Walker bf99c6b0a3 Store metadata with installed Casks.
Step 2: Snapshot the Cask file used at install-time, using
the previously-merged metadata directory support.

Using a simple filesystem-is-a-database approach, we set up a
`.metadata` directory for each installed Cask in which we can
record any information, starting with a copy of the Cask
definition which was used at install-time.

This should be useful for various cases such as:
- a fallback when the Cask was renamed/removed.  We
  currently cannot recover any uninstall info in that
  scenario
- installation of multiple versions of the same software

There might be a smarter way to discover the source filename
for the Cask through introspection or some deep Ruby voodoo.
All I could come up with was to pass the filename in on the
constructor, which seems perfectly reasonable if voodoo is
not available.  The existing code was taking the title as an
argument to the constructor, which is dispensable.

This PR contains no code to actually make use of the metadata,
but only takes care of the relevant book-keeping: creation,
destruction, as well as organization of metadata according to
software version number and timestamp.
2014-12-10 18:24:43 -05:00
..
artifact Refactor backend classes to match pre/postflight 2014-11-26 12:19:17 -05:00
cli mark license :unknown with explicit todo comment 2014-12-09 07:48:45 -05:00
container recast method destination_path as staged_path 2014-10-18 12:23:36 -04:00
dsl sanity checks/error handling, postflight miniDSL 2014-12-09 10:49:03 -05:00
source Store metadata with installed Casks. 2014-12-10 18:24:43 -05:00
artifact.rb Refactor backend classes to match pre/postflight 2014-11-26 12:19:17 -05:00
audit.rb relax sourceforge.jp URL pattern 2014-12-02 12:24:36 -05:00
auditor.rb make brew cask audit return error code on fail 2014-03-25 09:09:49 -04:00
caveats.rb remove assistive_devices caveats method 2014-12-08 19:26:13 -05:00
checkable.rb clean up and pull out link checker / audit common code 2013-03-13 13:03:12 -05:00
cli.rb unify and recast "Cask name" & "title" as "token" 2014-12-01 11:00:23 -05:00
container.rb doc and tests for container :type 2014-10-03 10:40:54 -04:00
download.rb unify and recast "Cask name" & "title" as "token" 2014-12-01 11:00:23 -05:00
download_strategy.rb return tarball_path from fetch method 2014-12-09 18:43:24 -05:00
dsl.rb Be more consistent/liberal about stanza accessors. 2014-12-09 11:16:48 -05:00
exceptions.rb DSL: add depends_on :x11 2014-12-06 11:20:15 -05:00
fetcher.rb return string in Cask::LinkChecker 2014-09-30 10:17:35 -04:00
gpg.rb Introduce GPG operations 2014-09-30 17:49:10 +02:00
installer.rb Store metadata with installed Casks. 2014-12-10 18:24:43 -05:00
locations.rb DSL: add depends_on :x11 2014-12-06 11:20:15 -05:00
options.rb add command brew cask cleanup 2014-02-08 14:40:53 -05:00
pkg.rb comment typo 2014-11-15 12:27:11 -05:00
pretty_listing.rb recast method destination_path as staged_path 2014-10-18 12:23:36 -04:00
qualified_token.rb unify and recast "Cask name" & "title" as "token" 2014-12-01 11:00:23 -05:00
scopes.rb unify and recast "Cask name" & "title" as "token" 2014-12-01 11:00:23 -05:00
source.rb doc: improve Cask-source-resolution debug message 2014-06-03 10:39:18 -04:00
staged.rb sanity checks/error handling, postflight miniDSL 2014-12-09 10:49:03 -05:00
system_command.rb In SystemCommand, fix success? and exit_status 2014-12-08 15:53:35 +01:00
underscore_supporting_uri.rb better handling for invalid url stanzas 2014-10-24 09:36:11 -04:00
url.rb add new CurlPostDownloadStrategy 2014-03-07 20:51:35 +01:00
url_checker.rb recast _checklinks verb as _checkurl 2014-10-28 12:12:10 -04:00
utils.rb add MacOS.release alias for MacOS.version 2014-12-09 08:45:37 -05:00
version.rb cut v0.50.0 2014-12-09 19:56:19 -05:00
without_source.rb Store metadata with installed Casks. 2014-12-10 18:24:43 -05:00