Current
Current provides more powerful streaming mechanisms than those offered by Ecto. Forked from Bourne which is inactive.
Example
defmodule My.Repo do
use Ecto.Repo, otp_app: :mine
use Current
end
import Ecto.Query
q = from(actor in Actor, where: actor.born <= 1980)
# You can stream through an [`Enumerable`](https://hexdocs.pm/elixir/Enumerable.html):
My.Repo.stream(q) |> Stream.each(&IO.inspect) |> Stream.run
Installation
- Add
current
to your list of dependencies inmix.exs
:
def deps do
[{:current, "~> 2.0"}]
end
- Fetch and compile your new dependency:
mix do deps.get current, deps.compile
Drink your :tea:
That's it!
Usage
Refer to the documentation.
ASDF
Using Bash:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.6
echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bash_profile
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bash_profile
source ~/.bash_profile
asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
# cd path/to/current
asdf install
asdf reshim
mix local.hex --if-missing
mix local.rebar --force
mix do deps.get, compile
Testing
The test suite relies on a locally running postgres insatnce. You can use docker to create one quickly:
docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres
License
Current is free and unencumbered software released into the public domain, with fallback provisions for jurisdictions that don't recognize the public domain.
For details, see LICENSE.md
.