EctoCQRS
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.
Installation
If available in Hex, the package can be installed
by adding ecto_cqrs to your list of dependencies in mix.exs:
def deps do
[
{:ecto_cqrs, "~> 0.1"}
]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ecto_cqrs.
Running tests
$ git clone https://github.com/tap349/ecto_cqrs
$ cd ecto_cqrs
$ mix deps.get
$ docker-compose up
$ MIX_ENV=test mix ecto.create
$ MIX_ENV=test mix ecto.migrate
$ mix test