LazyContext

This library enables you to implement default functions in Phoenix contexts

See Usage for example usage.

Documentation

Documentation is available at https://hexdocs.pm/lazy_context

Installation

Add :lazy_context to your list of dependencies in mix.exs:

def deps do
  [
    {:lazy_context, "~> 0.1.0"}
  ]
end

Configuration

Optionally set the repo for LazyContext config in your config/config.exs file:

config :lazy_context,
  repo: YourApplication.Repo

Usage

defmodule MyApp.Users do
  @moduledoc """
  The Accounts context.
  """

  use LazyContext,
    schema: User,
    suffix: :user,
    # this can be omitted if the repo was set in the context
    repo: MyApp.Repo,
    preloads: [:pets]
end

TODO

  • [ ] Tests
  • [ ] Improve README
  • [ ] Generate documentation
  • [ ] Publish on hex.pm
  • [ ] Allow custom pluralized function names