/ecto_cqs

CQS library for Ecto

Primary LanguageElixirMIT LicenseMIT

EctoCQS

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_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.

Running tests

$ 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