Skip to main content

Extensions

An extension simply adds functionality or transformation to a provider during runtime. Extensions are useful for collectively modifying providers externally within the Glue Intialization pipeline.

Glue provides two modifiable extensions:

  • beforeCreate: This extension is run before the provider is created.
  • beforeStart: This extension is run before the provider is started.

How do you specifiy an extension?

Glue.Extensions({
beforeCreate = function(provider)

end,
beforeStart = function(provider)

end
})

Logger - Extenstion

A built-in logger.

local Services = {}
Glue.Extensions({
beforeCreate = function(provider)
provider._log = function(msg)
print(`[{provider.Name}] {msg}`)
end
end
})
function Provider:onStart()
self._log("Hello world.")
end