View Source Bonfire.Common.ExtensionBehaviour behaviour (bonfire_umbrella v0.3.6-classic-beta.7)

A Global cache of known Behaviours in Bonfire

Use of the ExtensionBehaviour Service requires ddding @behaviour Bonfire.Common.ExtensionBehaviour in your behaviour modules. This modules when then index those behaviours and all the modules that implement those behaviours at startup.

While this module is a GenServer, it is only responsible for setup of the cache and then exits with :ignore having done so. It is not recommended to restart the service as this will lead to a stop the world garbage collection of all processes and the copying of the entire cache to each process that has queried it since its last local garbage collection.

Link to this section Summary

Callbacks

List modules that implement a behaviour

Link to this section Callbacks

@callback modules() :: any()

List modules that implement a behaviour

Link to this section Functions

Link to this function

behaviour_app_modules(behaviour, behaviours \\ nil)

View Source
Link to this function

behaviour_modules(behaviour, behaviours \\ nil)

View Source

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

find_adopters_of_behaviours(behaviours \\ find_behaviours())

View Source
Link to this function

linked_modules(modules, fun)

View Source
Link to this function

module_behaviours(module)

View Source
@spec start_link(ignored :: term()) :: GenServer.on_start()

Populates the global cache with config_module data via introspection.