multiverses v0.7.0 Multiverses.Application View Source

This module is intended to be a drop-in replacement for Application.

When you drop this module in, functions relating to runtime environment variables have been substituted with equivalent macros that respect the Multiverse pattern.

Warning

This module is as dangerous as it is useful, so please make sure you know what you're doing before you use this. Always test your system in a staging system that has :use_multiverses unset, before deploying code that uses this module.

The functions calls which take options (:timeout, :persist) are not supported, since it's likely that if you're using these options, you're probably not in a situation where you need multiverses.

For the same reason, :get_all_env and :put_all_env are not supported and will default the Elixir standard.

How it works

This module works by substituting the app atom with the {multiverse, app} tuple. If that tuple isn't found, it falls back on the app atom for its ETS table lookup.

Link to this section Summary

Link to this section Functions

See Application.app_dir/1.

See Application.app_dir/2.

See Application.delete_env/2.

See Application.delete_env/3.

See Application.ensure_all_started/1.

Link to this function

ensure_all_started(p1, p2)

View Source

See Application.ensure_all_started/2.

See Application.ensure_loaded/1.

See Application.ensure_started/1.

See Application.ensure_started/2.

See Application.fetch_env/2.

See Application.fetch_env!/2.

See Application.format_error/1.

See Application.get_all_env/1.

See Application.get_application/1.

See Application.get_env/2.

Link to this function

get_env(app, key, default)

View Source

See Application.get_env/3.

See Application.load/1.

See Application.loaded_applications/0.

See Application.put_all_env/1.

See Application.put_all_env/2.

Link to this function

put_env(app, key, value)

View Source

See Application.put_env/3.

See Application.put_env/4.

See Application.spec/1.

See Application.spec/2.

See Application.start/1.

See Application.start/2.

See Application.started_applications/0.

Link to this function

started_applications(p1)

View Source

See Application.started_applications/1.

See Application.stop/1.

See Application.unload/1.