Agency
is a tiny library reducing a boilerplate on top of Agent
.
It backs up any container implementing Access
and exposes transparent CRUD/Access-like methods, as well as before_***/1
and after_***/1
callbacks for clean client API implementation.
https://hexdocs.pm/agency/Agency.html
One might want to use this library to reduce a boilerplate needed to agentify the container for performing basic CRUD. before_***/1
callbacks, accepting a key and returning a key, could be used for transparent mapping of keys on the boundary of server API calls. after_***/1
callbacks, similarly, can be used to transform raw values returned from the server API (the backed up container.)
It also implements Access
on its own; this is slightly counter-idiomatic and consumers are discouraged to use it in most cases but saving keystrokes accessing data in deeply nested containers.