README.md
# Delegate
Provides utilities for delegating macros and entire functions and macros of another module
## Installation
The package can be installed
by adding `delegate` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:delegate, ">= 0.0.0"}
]
end
```
The docs can
be found at [https://hexdocs.pm/delegate](https://hexdocs.pm/delegate).
## Usage
`use Delegate` provides the following macros:
- `defmacrodelegate`, like `defdelegate` but for macros (happens at compile
time). Supports same options as `defdelegate`
- `defdelegateall(MyModule, only: [myfun: 1])` creates delegates for all
functions in `MyModule`. Supports `only` and `except` options
- `defmacrodelegateall` like `defdelegateall` but for macros
- `defmoduledelegate` utility that runs both `defdelegateall` and
`defmacrodelegateall`, supports `only` and `except`