Packages
version_tasks
0.11.3
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.29
0.10.28
0.10.27
0.10.26
0.10.25
0.10.24
0.10.23
0.10.22
0.10.21
0.10.20
0.10.19
0.10.18
0.10.17
0.10.16
0.10.15
0.10.14
0.10.13
0.10.12
0.10.11
0.10.10
0.10.9
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.3
0.3.1
0.2.6
A suite of mix tasks for managing your libs version numbers with git and hex
Current section
Files
Jump to
Current section
Files
lib/version_tasks/shell.ex
defmodule VersionTasks.Shell do
def info(raw_msg, args \\ %{}) do
case parse(raw_msg, args) do
{:quiet, msg} ->
msg
{:ok, msg} ->
if has_mix?() do
Mix.shell().info(msg)
else
IO.puts(msg)
end
end
end
def inspect(data, %{quiet: true_or_false}), do: true_or_false |> _inspect(data)
def inspect(data, args), do: Enum.member?(args, "--quiet") |> _inspect(data)
defp _inspect(false, data), do: IO.inspect(data)
defp _inspect(true, data), do: data
def error(raw_msg, args \\ %{}) do
case parse(raw_msg, args) do
{:quiet, msg} ->
msg
{:ok, msg} ->
if has_mix?() do
Mix.shell().error(msg)
else
IO.puts(msg)
end
end
end
def raise(raw_msg, args \\ %{}) do
case parse(raw_msg, args) do
{:quiet, msg} ->
msg
{:ok, msg} ->
if has_mix?() do
Mix.raise(msg)
else
Kernel.raise(msg)
end
end
end
def newline, do: info("")
defp has_mix?, do: function_exported?(Mix, :shell, 1)
defp parse(msg, args), do: _parse(msg |> clean, args)
defp _parse(msg, %{quiet: true}), do: {:quiet, msg}
defp _parse(msg, args) when is_list(args) do
if Enum.member?(args, "--quiet") do
{:quiet, msg}
else
{:ok, msg}
end
end
defp _parse(msg, _), do: {:ok, msg}
defp clean(msg) when is_binary(msg), do: msg
defp clean(msg), do: "#{msg}"
end