Suite of tools for managing cached files, targeting use in other R packages. Uses 'rappdirs' for cross-platform paths. Provides utilities to manage cache directories, including targeting files by path or by key; cached directories can be compressed and uncompressed easily to save disk space.
hoard - manage cached files
Exposes a single
R6 object so that when the package is imported in another
package for managing cached files, you don't need to pollute the NAMESPACE
with a bunch of functions. (you can always just
with a single object there are other benefits as well [maintaining state, e.g.]).
(x <- hoardr::hoard())#> <hoard>#> path:#> cache path:
set cache path
x$cache_path_set("foobar", type = 'tempdir')#>  "/var/folders/fc/n7g_vrvn0sx_st0p8lxb3ts40000gn/T//RtmpsvaRsk/R/foobar"
make the directory if doesn't exist
put a file in the cache
cat("hello world", file = file.path(x$cache_path_get(), "foo.txt"))
list the files
x$list()#>  "/var/folders/fc/n7g_vrvn0sx_st0p8lxb3ts40000gn/T//RtmpsvaRsk/R/foobar/foo.txt"
x$details()#> <cached files>#> directory: /var/folders/fc/n7g_vrvn0sx_st0p8lxb3ts40000gn/T//RtmpsvaRsk/R/foobar#>#> file: /foo.txt#> size: 0 mb
delete by file name
see issue 1
hoardrin R doing
citation(package = 'hoardr')
HoardClient, called by
hoardr()function, was storing the cache path in an environment inside the R6 class. If multiple instances of
HoardClientexist in the same R session, the cache path for any one then affects all others. Fixed by storing as a private variable int he R6 class instead of in an environment (#14)
HoardClientobject to check if one or more files exist, returning a data.frame (#10)
HoardClientgains new parameter
full_pathto make the base cache path directly with a full path rather than using the three other parameters (