Shared Library Loading

Metronome allows for path specification in module:require(), this way you're able to load libraries pertaining to other modules without messing too much with pathing organization to use shared libraries in the codebase. For example if you had a custom module using the MAM validation library you could just add local validate_query = module:require("validate", "mam").validate_query; without further hassle. The first argument passed is the name of the shared library while the second is the path you're loading it from if you don't specify any path Metronome will assume the self name of the module (aka mod_mymodule or mymodule).