Load or reload all modules which are defined in the named directory.
load_all_modules(path = c("lib", "libs", "module", "modules", "."), pattern = "[^_]\\.[rR][(?:md)|(?:nw)]?$", full.names = TRUE, recursive = TRUE, ...)
path | a character vector of full path names; the default
corresponds to the working directory, |
---|---|
pattern | an optional regular expression. Only file names which match the regular expression will be returned. |
full.names | a logical value. If |
recursive | logical. Should the listing recurse into directories? |
... | Further arguments to be passed to |
It is considered a very bad practice to define, touch, undefine, load, make, reset, or perform any other operation from within a module definition that may alterate the internal state of modulr.
load_module
, make_all
, and
reset
.
reset()#> [2017-06-21T21:58:26 UTC] Resetting modulr state ... OKtmp_dir <- tempfile("modulr_") dir.create(tmp_dir) tmp_file <- file.path(tmp_dir, "foo.R") cat('define("foo", NULL, function() print("Hello World!"))', file = tmp_file) tmp_file <- file.path(tmp_dir, "bar.R") cat('define("bar", NULL, function() print("hELLO wORLD?"))', file = tmp_file) load_all_modules(tmp_dir)#> [2017-06-21T21:58:26 UTC] Defining 'bar' ... OK #> [2017-06-21T21:58:26 UTC] Defining 'foo' ... OKmake_all()#> [2017-06-21T21:58:26 UTC] Making 'bar' ... #> [2017-06-21T21:58:26 UTC] * Visiting and defining dependencies ... #> [2017-06-21T21:58:26 UTC] * Constructing dependency graph ... OK #> [1] "hELLO wORLD?" #> [2017-06-21T21:58:26 UTC] DONE ('bar' in 0.013 secs) #> [2017-06-21T21:58:26 UTC] Making 'foo' ... #> [2017-06-21T21:58:26 UTC] * Visiting and defining dependencies ... #> [2017-06-21T21:58:26 UTC] * Constructing dependency graph ... OK #> [1] "Hello World!" #> [2017-06-21T21:58:26 UTC] DONE ('foo' in 0.013 secs)unlink(tmp_dir, recursive = TRUE)