# frozen_string_literal: true require "thor" require_relative "../base" module Neetob class CLI module Github module Labels class Delete < Base attr_accessor :repos, :sandbox, :labels def initialize(repos, labels, sandbox = false) super() @labels = labels @repos = repos @sandbox = sandbox end def run matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox) matching_repos.each do |repo| ui.info("\nDeleting labels from #{repo} repo \n") labels.each do |label| begin check_if_label_exist!(repo, label) delete_label(repo, label) rescue Octokit::NotFound ui.say(" ↳The repo doesn't have the label \"#{label}\"") end end end end private def check_if_label_exist!(repo, label) client.label(repo, label) end def delete_label(repo, label) if client.delete_label!(repo, label) ui.success(" ↳The \"#{label}\" label deleted successfully") end end end end end end end