Agency is a tiny library reducing a boilerplate on top of
It backs up any container implementing
Access and exposes transparent CRUD/Access-like methods, as well as
after_***/1 callbacks for clean client API implementation.
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.