Merge pull request #134 from iamvery/tweaks
A few small things I came across
This commit is contained in:
@@ -32,8 +32,8 @@ defmodule Blanks do
|
|||||||
|> elem(1)
|
|> elem(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp count(:___, acc), do: {node, acc+1}
|
defp count(:___ = node, acc), do: {node, acc+1}
|
||||||
defp count({:___, _, _}, acc), do: {node, acc+1}
|
defp count({:___, _, _} = node, acc), do: {node, acc+1}
|
||||||
defp count(node, acc), do: {node, acc}
|
defp count(node, acc), do: {node, acc}
|
||||||
|
|
||||||
def replace_line([do: ast], replacement_fn), do: [do: replace_line(ast, replacement_fn)]
|
def replace_line([do: ast], replacement_fn), do: [do: replace_line(ast, replacement_fn)]
|
||||||
@@ -45,7 +45,7 @@ defmodule Blanks do
|
|||||||
{:__block__, meta, replaced_lines}
|
{:__block__, meta, replaced_lines}
|
||||||
end
|
end
|
||||||
def replace_line(line, replacement_fn) do
|
def replace_line(line, replacement_fn) do
|
||||||
if Blanks.count(line) > 0 do
|
if count(line) > 0 do
|
||||||
replacement_fn.(line)
|
replacement_fn.(line)
|
||||||
else
|
else
|
||||||
line
|
line
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ defmodule Koans do
|
|||||||
|
|
||||||
defmacro generate_test_method(_name, 0, _body), do: false
|
defmacro generate_test_method(_name, 0, _body), do: false
|
||||||
defmacro generate_test_method(name, 1, body) do
|
defmacro generate_test_method(name, 1, body) do
|
||||||
single_var = Blanks.replace(body, Macro.var(:answer, Koans))
|
single_var = Blanks.replace(body, Macro.var(:answer, __MODULE__))
|
||||||
quote do
|
quote do
|
||||||
def unquote(name)(answer) do
|
def unquote(name)(answer) do
|
||||||
try do
|
try do
|
||||||
@@ -43,7 +43,7 @@ defmodule Koans do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
defmacro generate_test_method(name, number_of_args, body) do
|
defmacro generate_test_method(name, number_of_args, body) do
|
||||||
answer_vars = for id <- 1..number_of_args, do: Macro.var(String.to_atom("answer#{id}"), Koans)
|
answer_vars = for id <- 1..number_of_args, do: Macro.var(String.to_atom("answer#{id}"), __MODULE__)
|
||||||
multi_var = Blanks.replace(body, answer_vars)
|
multi_var = Blanks.replace(body, answer_vars)
|
||||||
|
|
||||||
quote do
|
quote do
|
||||||
|
|||||||
Reference in New Issue
Block a user