I’m not sure you need a lib and a macro for this. You can get the same thing with something like this (untested):
defmodule Foo do
for {code, message} <- {400 => "Bad Request", 401 => "Unauthorized", 403 => "Forbidden"} do
def get(unquote(code)), do: {:ok, unquote(message)}
end
def get(_), do: :error
end
I occasionally use this technique.






















