lib/tools/cmd.ex
defmodule Dragon.Tools.Cmd do
@doc """
More user friendly command system
"""
def run([cmd | argv]) do
case System.cmd(cmd, argv, stderr_to_stdout: true) do
{output, 0} -> {:ok, output}
{output, err} -> {:error, err, output}
end
rescue
err ->
case err do
%ErlangError{original: :enoent} -> {:error, "Command not found: #{cmd}"}
%ErlangError{original: what} -> {:error, what}
end
end
end