Simpler progressbar and handle --koan=<KOAN> better

This commit is contained in:
Felipe Sere
2016-04-25 09:32:34 +01:00
parent 2b2240340e
commit ab72b0e908
5 changed files with 48 additions and 57 deletions

View File

@@ -17,19 +17,13 @@ defmodule Runner do
def koan?(koan), do: Enum.member?(@modules, koan)
def modules, do: @modules
def run do
Options.initial_koan
|>run
end
def modules_to_run, do: Options.initial_koan |> modules_to_run
def modules_to_run(start_module), do: Enum.drop_while(@modules, &(&1 != start_module))
def run(start_module) when start_module in @modules, do: run(start_module, @modules)
def run(start_module), do: Display.invalid_koan(start_module, @modules)
def run(start_module, modules) do
def run(modules) do
Display.clear_screen()
modules
|> Enum.drop_while( &(&1 != start_module))
|> Enum.take_while( &(run_module(&1) == :passed))
end
@@ -38,7 +32,6 @@ defmodule Runner do
|> Display.considering
|> Execute.run_module(&track/2)
|> display
end
defp track(:passed, koan), do: Tracker.completed(koan)