# frozen_string_literal: true require "thor" require_relative "../base" module Neetob class CLI module Github module Labels class DeleteAll < Base attr_accessor :repos, :sandbox, :all_neeto_repos def initialize(repos, sandbox = false, all_neeto_repos = false) super() @repos = repos @sandbox = sandbox @all_neeto_repos = all_neeto_repos end def run check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos) matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos) matching_repos.each do |repo| ui.info("\n Working on #{repo} repo \n") begin labels = client.labels(repo) labels.each do |label| delete_label(repo, label) end rescue StandardError => e ExceptionHandler.new(e).process end end end private def delete_label(repo, label_details) if client.delete_label!(repo, label_details[:name]) ui.success("The \"#{label_details[:name]}\" label deleted successfully") else ui.error("The \"#{label_details[:name]}\" label can't be deleted. Please try again") end end end end end end end