Packages

Elixir Tracing Framework.

Current section

Files

Jump to
tracer lib tracer_macros.ex
Raw

lib/tracer_macros.ex

defmodule Tracer.Macros do
@moduledoc """
Helper Macros
"""
defmacro delegate(fun, list) do
quote do
def unquote(fun)() do
apply(Keyword.get(unquote(list), :to),
Keyword.get(unquote(list), :as), [])
end
end
end
defmacro delegate_1(fun, list) do
quote do
def unquote(fun)(param) do
apply(Keyword.get(unquote(list), :to),
Keyword.get(unquote(list), :as), [param])
end
end
end
# Pipe helpers
defmacro tuple_x_and_fx(x, term) do
quote do: {unquote(x), unquote(x) |> unquote(term)}
end
defmacro assign_to(res, target) do
quote do: unquote(target) = unquote(res)
end
# defmacro create_match_spec()
end