Files
elixir-koans/lib/koans.ex
2015-12-15 17:53:27 +00:00

23 lines
393 B
Elixir

defmodule Koans do
defmacro koan(name, body) do
compiled_name = :"koan: #{name}"
quote do
def unquote(compiled_name)() do
try do
unquote(body)
:ok
rescue
e in ExUnit.AssertionError -> e
end
end
end
end
defmacro __using__(_) do
quote do
import Koans
import ExUnit.Assertions
end
end
end