defmodule Jacob do @moduledoc false @doc """ Return Jacob's version. """ def version do unquote(Mix.Project.config()[:version]) end @doc """ Return the current console name. Raise when not set. """ def console_name do case Application.get_env(:jacob, :console_name, nil) do nil -> raise Jacob.Errors.RequiredConfigValueMissing, config_key: :console_name console_name -> console_name |> to_string() end end @doc """ Return the generated escript name. Raise when not set. """ def escript_name do case Application.get_env(:jacob, :escript_name, nil) do nil -> raise Jacob.Errors.RequiredConfigValueMissing, config_key: :escript_name escript_name -> escript_name |> to_string() end end @doc """ Return a list of application that defines Jacob commands. """ def command_sources do [unquote(Mix.Project.config()[:app])] ++ Application.get_env(:jacob, :command_sources, []) end end