Current

Continuous Integration Coverage Status Documentation Package

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

  1. Add current to your list of dependencies in mix.exs:
  def deps do
    [{:current, "~> 2.0"}]
  end
  1. Fetch and compile your new dependency:
  mix do deps.get current, deps.compile
  1. Drink your :tea:

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