View Source MishkaInstaller.Reference.OnChangeDependency behaviour (Mishka Installer v0.0.4)

Note: Please do not use it, it will be changed in the next version

This event is kicked off anytime a plugin is moved into the installation or update stage of the process. In the event that a plugin from this area is carrying out the after completing all the above-mentioned procedures, the developer will have access to the output in real time.

Note: Treat this event as a no return flag while analyzing it.

It is currently being renovated, and in the future it might look different.

Link to this section Summary

Types

This type can be used when you want to introduce an app

This type can be used when you want to show the output of optional callbacks

This type can be used when you want to introduce each line of compiling/installing

This type can be used when you want to introduce a plugin output

This type can be used when you want to introduce an app's reference name

This type can be used when you want to register an app

This type can be used when you want to introduce an app as a plugin

This type can be used when you want to introduce an app's status

t()

This type can be used when you want to introduce an app as a plugin

Callbacks

This Callback can be used when you want to call a plugin

This Callback can be used when you want to delete a plugin

This Callback can be used when you want to register a plugin

This Callback can be used when you want to restart a plugin

This Callback can be used when you want to start a plugin

This Callback can be used when you want to stop a plugin

This Callback can be used when you want to unregister a plugin

Link to this section Types

@type app() :: atom()

This type can be used when you want to introduce an app

@type optional_callbacks() ::
  {:ok, ref(), registerd_info()} | {:error, ref(), reason()}

This type can be used when you want to show the output of optional callbacks

@type output() :: String.t()

This type can be used when you want to introduce each line of compiling/installing

@type reason() :: map() | String.t()

This type can be used when you want to introduce a plugin output

@type ref() :: :on_change_dependency

This type can be used when you want to introduce an app's reference name

@type registerd_info() :: MishkaInstaller.PluginState.t()

This type can be used when you want to register an app

@type state() :: %MishkaInstaller.Reference.OnChangeDependency{
  app: app(),
  output: output(),
  status: state()
}

This type can be used when you want to introduce an app as a plugin

@type status() :: :add | :update | :force_update

This type can be used when you want to introduce an app's status

@type t() :: state()

This type can be used when you want to introduce an app as a plugin

Link to this section Callbacks

@callback call(state()) :: {:reply, state()} | {:reply, :halt, state()}

This Callback can be used when you want to call a plugin

Link to this callback

delete(registerd_info)

View Source (optional)
@callback delete(registerd_info()) :: optional_callbacks()

This Callback can be used when you want to delete a plugin

@callback initial(list()) :: {:ok, ref(), list()} | {:error, ref(), reason()}

This Callback can be used when you want to register a plugin

Link to this callback

restart(registerd_info)

View Source (optional)
@callback restart(registerd_info()) :: optional_callbacks()

This Callback can be used when you want to restart a plugin

Link to this callback

start(registerd_info)

View Source (optional)
@callback start(registerd_info()) :: optional_callbacks()

This Callback can be used when you want to start a plugin

Link to this callback

stop(registerd_info)

View Source (optional)
@callback stop(registerd_info()) :: optional_callbacks()

This Callback can be used when you want to stop a plugin

Link to this callback

unregister(registerd_info)

View Source (optional)
@callback unregister(registerd_info()) :: optional_callbacks()

This Callback can be used when you want to unregister a plugin