Retrieves an environment variable value as ``bool``.

        Integer values are converted as expected: zero evaluates to
        ``False``, and non-zero to ``True``. String values of ``'true'``
        and ``'false'`` are evaluated case insensitive.

        Args:
            name (str): The case-insensitive, unprefixed variable name.
            default: If provided, a default value will be returned
                instead of throwing ``EnvironmentError``.

        Returns:
            bool: The environment variable's value as a ``bool``.

        Raises:
            EnvironmentError: If the environment variable does not
                exist, and ``default`` was not provided.
            ValueError: If the environment variable value could not be
                interpreted as a ``bool``.

def get_bool(self, name, default=None):
        """Retrieves an environment variable value as ``bool``.

        Integer values are converted as expected: zero evaluates to
        ``False``, and non-zero to ``True``. String values of ``'true'``
        and ``'false'`` are evaluated case insensitive.

        Args:
            name (str): The case-insensitive, unprefixed variable name.
            default: If provided, a default value will be returned
                instead of throwing ``EnvironmentError``.

        Returns:
            bool: The environment variable's value as a ``bool``.

        Raises:
            EnvironmentError: If the environment variable does not
                exist, and ``default`` was not provided.
            ValueError: If the environment variable value could not be
                interpreted as a ``bool``.

        """
        if name not in self:
            if default is not None:
                return default
            raise EnvironmentError.not_found(self._prefix, name)
        return bool(self.get_int(name))