Find a module, in the context of a module scope, if any.
find_module(name, scope_name = NULL, absolute = TRUE, extensions = c(".R", ".r", ".Rmd", ".rmd", ".Rnw", ".rnw"))
name | A string (character vector of lenght one). A module name can contain letters, figures and some special characters,
namely Names containing The name "modulr" corresponds to a special module and is therefore reserved. |
---|---|
scope_name | A module name to use as scope (see |
absolute | A flag. Should the returned path be absolute? (see
|
extensions | A character vector. File extensions to consider. |
A list containing informations relative to the module: name, version, in-memory or on-disk storage, and file path (absolute or relative).
define
, find_path
,
maps_config
, reset
, and
root_config
,
reset()#> [2018-12-02T17:13:58 CET] Resetting modulr state ... OK#> [2018-12-02T17:13:58 CET] Defining 'foo' ... OKfind_module("foo")#> $name #> [1] "foo" #> #> $version #> [1] <NA> #> #> $storage #> [1] "in-memory" #> #> $filepath #> [1] NA #>reset()#> [2018-12-02T17:13:58 CET] Resetting modulr state ... OKtmp_dir <- tempfile("modulr_") dir.create(tmp_dir) tmp_file <- file.path(tmp_dir, "foo.R") cat('define("foo", NULL, function() "Hello World!")', file = tmp_file) root_config$set(tmp_dir) set_verbosity(1L) find_module("foo")#> $name #> [1] "foo" #> #> $version #> [1] <NA> #> #> $storage #> [1] "on-disk" #> #> $filepath #> [1] "/tmp/RtmpxG72Ok/modulr_7f36125c478/foo.R" #>unlink(tmp_dir, recursive = TRUE) reset() tmp_dir <- tempfile("modulr_") dir.create(file.path(tmp_dir, 'foo'), recursive = TRUE) dir.create(file.path(tmp_dir, 'vendor'), recursive = TRUE) cat(paste0('define("bar", list(great_module = "vendor/great_module"), ', 'function() great_module)'), file = file.path(tmp_dir, "foo", "bar.R")) cat('define("great_module", NULL, function() "Great Module")', file = file.path(tmp_dir, "vendor", "great_module.R")) cat('define("great_module", NULL, function() "Old Great Module")', file = file.path(tmp_dir, "vendor", "old_great_module.R")) root_config$set(tmp_dir) set_verbosity(1L) find_module("vendor/great_module") maps_config$set("foo/bar" = list("vendor/great_module" = "vendor/old_great_module")) find_module("vendor/great_module", "foo/bar") unlink(tmp_dir, recursive = TRUE)