Annotatable

Add simple annotations to elixir methods which can be used later to do some funkiness

#Usage

defmodule Example do
use Annotatable, [:bar, :foo]
@bar true
def bar_method do end
@foo [:test]
@bar true
def foo_bar_method do end
def no_annotation_method do end
@baz "ads"
def undefined_annotation_method do end
end

And later:

Example.annotations

Gives:

%{
bar_method: [%{annotation: :bar, value: true}],
foo_bar_method: [
%{annotation: :bar, value: true},
%{annotation: :foo, value: [:test]}
]
}

Installation

If available in Hex, the package can be installed as:

  1. Add annotatable to your list of dependencies in mix.exs:
```elixir
def deps do
[{:annotatable, "~> 0.1.0"}]
end
```
  1. Ensure annotatable is started before your application:
```elixir
def application do
[applications: [:annotatable]]
end
```