defmodule GitHub.Issues.Message do use PersistConfig alias GitHub.Issues.CLI alias IO.ANSI.Plus, as: ANSI @table_spec get_env(:table_spec) @spec status(pos_integer) :: String.t() def status(301), do: "status code 301 ⇒ Moved Permanently" def status(302), do: "status code 302 ⇒ Found" def status(403), do: "status code 403 ⇒ Forbidden" def status(404), do: "status code 404 ⇒ Not Found" def status(code), do: "status code #{code}" @spec error(term) :: String.t() def error(reason), do: "reason => #{inspect(reason)}" @spec writing_table(CLI.user(), CLI.project()) :: :ok def writing_table(user, project) do [ @table_spec.left_margin, [:white, "Writing table of issues from GitHub "], [:light_white, "#{user}/#{project}..."] ] |> ANSI.puts() end @spec fetching_error(CLI.user(), CLI.project(), String.t()) :: :ok def fetching_error(user, project, text) do [ [:white, "Error fetching issues from GitHub "], [:light_white, "#{user}/#{project}...\n"], [:light_yellow, :string.titlecase(text)] ] |> ANSI.puts() end end