     author_url: "https://example.com"
   ```
 
+  Raises a `AtomTweaksWeb.PrimerHelpers.MissingConfigurationError` if any of the required
+  application configuration information is not specified and this function is called.
+
   If passed two strings instead of an atom and a keyword list, this function will assume that you
   mean to call `code_with_heart/3` with no options and do so for you.
   """

  The application name as an atom.
  """
  @type app_name :: atom

  @doc """
  Renders the `avatar` element for the `user`.

  def code_with_heart(app_name, options) when is_atom(app_name) and is_list(options) do
    name = Application.get_env(app_name, :author_name)
    url = Application.get_env(app_name, :author_url)

    missing_keys = []
    missing_keys = unless name, do: [:author_name | missing_keys], else: missing_keys
    missing_keys = unless url, do: [:author_url | missing_keys], else: missing_keys
    unless missing_keys == [], do: raise MissingConfigurationError, missing_keys

    code_with_heart(name, url, options)
  end
