Inspired by Command-Query separation in Elixir.
Library is fully operational and is used in several projects in production but still everything is "subject to change without prior notice".
Maybe I'll add typespecs and documentation later but for now feel free to examine source code and tests in particular to understand how it all works.
If available in Hex, the package can be installed
by adding ecto_cqs
to your list of dependencies in mix.exs
:
def deps do
[
{:ecto_cqs, "~> 0.1"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ecto_cqs.
$ git clone https://github.com/tap349/ecto_cqs
$ cd ecto_cqs
$ mix deps.get
$ docker-compose up
$ MIX_ENV=test mix ecto.create
$ MIX_ENV=test mix ecto.migrate
$ mix test