Parse and extract a module's version

moduleVersion(module, path, sim, envir = NULL)

# S4 method for class 'character,character,missing'
moduleVersion(module, path, envir)

# S4 method for class 'character,missing,missing'
moduleVersion(module, envir)

# S4 method for class 'character,missing,simList'
moduleVersion(module, sim, envir)

Arguments

module

Character string. Your module's name.

path

Character string specifying the file path to modules directory. Default is to use the spades.modulePath option.

sim

A simList simulation object, generally produced by simInit.

envir

Optional environment in which to store parsed code. This may be useful if the same file is being parsed multiple times. This function will check in that environment for the parsed file before parsing again. If the envir is transient, then this will have no effect.

Value

numeric_version indicating the module's version.

See also

Author

Alex Chubaty

Examples

# using filepath
path <- getSampleModules(tempdir())
moduleVersion("caribouMovement", path)
#> [1] ‘1.6.1’

# using simList
options("spades.useRequire" = FALSE)
if (require("SpaDES.tools", quietly = TRUE)) {
   mySim <- simInit(
      times = list(start = 2000.0, end = 2002.0, timeunit = "year"),
      params = list(
        .globals = list(stackName = "landscape", burnStats = "nPixelsBurned")
      ),
      modules = list("caribouMovement"),
      paths = list(modulePath = path)
   )
   moduleVersion("caribouMovement", sim = mySim)
}
#> Setting:
#>   options(
#>     spades.modulePath = '/tmp/RtmpmM1qrr/sampleModules'
#>   )
#> Paths set to:
#>   options(
#>     rasterTmpDir = '/tmp/RtmpmM1qrr/SpaDES/scratch/raster'
#>     reproducible.cachePath = '/tmp/RtmpmM1qrr/reproducible/cache'
#>     spades.inputPath = '/tmp/RtmpmM1qrr/SpaDES/inputs'
#>     spades.outputPath = '/tmp/RtmpmM1qrr/SpaDES/outputs'
#>     spades.modulePath = '/tmp/RtmpmM1qrr/sampleModules'
#>     spades.scratchPath = '/tmp/RtmpmM1qrr/SpaDES/scratch'
#>   )
#>   terra::terraOptions(tempdir = '/tmp/RtmpmM1qrr/SpaDES/scratch/terra')
#> Aug29 22:30:28 simInit Using setDTthreads(1). To change: 'options(spades.DTthreads = X)'.
#> Aug29 22:30:28 simInit The following .globals were used:
#> Aug29 22:30:28 simInit Key: <global, module>
#> Aug29 22:30:28 simInit             module    global
#> Aug29 22:30:28 simInit             <char>    <char>
#> Aug29 22:30:28 simInit 1: caribouMovement stackName
#> Aug29 22:30:28 simInit Global parameter(s) not used in any module: burnStats.
#> Elapsed time for simInit: 0.07418561 secs
#> [1] ‘1.6.1’