#!/usr/bin/env bash

source "$rvm_scripts_path/functions/autolibs"

__rvm_autolibs_set()
{
  "$rvm_scripts_path/db" "$rvm_user_path/db" "autolibs" "$rvm_autolibs_flag"
}

__rvm_autolibs_reset()
{
  "$rvm_scripts_path/db" "$rvm_user_path/db" "autolibs" "delete"
}

__rvm_autolibs_show()
{
  rvm_autolibs_flag="$( "$rvm_scripts_path/db" "$rvm_user_path/db" "autolibs" )"
  echo "${rvm_autolibs_flag:-default(enabled)}"
}

__rvm_autolibs_status()
{
  rvm_autolibs_flag="$( "$rvm_scripts_path/db" "$rvm_user_path/db" "autolibs" )"
  : rvm_autolibs_flag:${rvm_autolibs_flag:=4}
  __rvm_autolibs_translate
  __rvm_autolibs_translate_description
  printf "%b" "---
value: ${rvm_autolibs_flag}
number: ${rvm_autolibs_flag_number}
runner: ${rvm_autolibs_flag_runner}
description: ${rvm_autolibs_flag_description}
"
}

__rvm_autolibs()
{
  rvm_autolibs_flag="$1"
  if
    __rvm_autolibs_translate
  then
    __rvm_autolibs_set
  else
    case "${rvm_autolibs_flag:-help}" in
      (show|status|reset)
        __rvm_autolibs_${rvm_autolibs_flag}
        ;;
      (help)
        rvm_help autolibs "$@"
        ;;
      (*)
        rvm_error_help "Unknown subcommand '$*' for autolibs" autolibs "$@"
        return 1
        ;;
    esac
  fi
}

__rvm_autolibs "${args[@]}"
