Extract start function for options

This commit is contained in:
Uku Taht
2016-03-07 17:58:52 +02:00
parent a59ce4f294
commit a4e84f7404
3 changed files with 12 additions and 10 deletions

View File

@@ -7,7 +7,7 @@ defmodule Mix.Tasks.Meditate do
Code.compiler_options(ignore_module_conflict: true)
Watcher.start
Options.parse(args)
Options.start(args)
Runner.run
:timer.sleep(:infinity)

View File

@@ -3,12 +3,8 @@ defmodule Options do
clear_screen: false
}
def parse(args) do
options = Enum.reduce(args, @defaults, fn(arg, acc) ->
Map.merge(acc, parse_argument(arg))
end)
Agent.start_link(fn -> options end, name: __MODULE__)
def start(args) do
Agent.start_link(fn -> parse(args) end, name: __MODULE__)
end
def clear_screen? do
@@ -17,6 +13,12 @@ defmodule Options do
end)
end
defp parse(args) do
Enum.reduce(args, @defaults, fn(arg, acc) ->
Map.merge(acc, parse_argument(arg))
end)
end
def parse_argument("--clear-screen"), do: %{ clear_screen: true}
def parse_argument(_), do: %{}
end