All modules have an intro.
This commit is contained in:
12
lib/koans.ex
12
lib/koans.ex
@@ -83,15 +83,12 @@ defmodule Koans do
|
||||
|
||||
defmacro __before_compile__(env) do
|
||||
koans = koans(env)
|
||||
intro = extract_into(env)
|
||||
quote do
|
||||
def all_koans do
|
||||
unquote(koans)
|
||||
end
|
||||
|
||||
def intro do
|
||||
unquote(intro)
|
||||
end
|
||||
def intro, do: @intro
|
||||
end
|
||||
end
|
||||
|
||||
@@ -101,13 +98,6 @@ defmodule Koans do
|
||||
|> Enum.reverse
|
||||
end
|
||||
|
||||
defp extract_into(env) do
|
||||
env.module
|
||||
|> Module.get_attribute(:intro)
|
||||
|> default("")
|
||||
|> String.strip
|
||||
end
|
||||
|
||||
defp default(nil, n), do: n
|
||||
defp default(n, _), do: n
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user