GtBridge.Views (gt_bridge v0.17.1)

Copy Markdown View Source

I hold views for various types, please query me to find out views you are interested in.

Summary

Types

code()

@type code() :: {module(), function_name :: atom()}

options()

@type options() :: {:name, GenServer.name()}

t()

@type t() :: %GtBridge.Views{mapping: %{required(atom()) => MapSet.t(code())}}

Functions

add(server, module, code)

@spec add(GenServer.server(), atom(), code()) :: :ok

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

delete(server, module, code)

@spec delete(GenServer.server(), atom(), code()) :: :ok

handle_add_view(module, code, state)

@spec handle_add_view(atom(), code(), t()) :: t()

handle_delete_view(module, code, state)

@spec handle_delete_view(atom(), code(), t()) :: t()

handle_lookup(module, views)

@spec handle_lookup(atom(), t()) :: MapSet.t(code())

lookup(server, module)

@spec lookup(GenServer.server(), atom()) :: MapSet.t(code())

start_link(init_args)

@spec start_link([options()]) :: GenServer.on_start()