#!/usr/bin/env bash
rvm_base_except="selector"
source "$rvm_path/scripts/base"

usage()
{
  printf "

  Usage:

    rvm cleanup {all,archives,repos,sources,logs}

  Description:

    Cleans up the directory tree for the specified item.
"
return 0
}

cleanup()
{
  local cleanup_type current_path

  for cleanup_type in $1; do

    current_path="${rvm_path}/${cleanup_type}"

    if [[ -n "$current_path" && -d "$current_path" \
      && "$current_path" != "/" ]]; then

      "$rvm_path/scripts/log" "info" \
        "Cleaning up rvm directory '$current_path'"

      rm -rf "$current_path"/* >/dev/null 2>&1

    fi

  done

  return 0
}

# Exit when there is no argument.
if [[ -z "${1:-""}" ]] ; then
  usage
fi

case "$1" in
  all)      cleanup "archives repos src log" ;;
  archives) cleanup "archives" ;;
  repos)    cleanup "repos" ;;
  sources)  cleanup "src" ;;
  logs)     cleanup "log" ;;
  help)     usage ;;
  *)        usage ; exit 1;;
esac

exit $?
