Sha256: 2c4df272e740f42dbf78976c02271e9a3970e9dd1633a09a886125f4c42476c3
Contents?: true
Size: 1.53 KB
Versions: 58
Compression:
Stored size: 1.53 KB
Contents
# frozen_string_literal: true require "thor" require_relative "../base" module Neetob class CLI module Github module Labels class Update < Base attr_accessor :repos, :sandbox, :old_name, :new_name def initialize(repos, old_name, new_name, sandbox = false) super() @repos = repos @sandbox = sandbox @old_name = old_name @new_name = new_name end def run matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox) matching_repos.each do |repo| ui.info("\nUpdating label for #{repo} repo \n") begin update_label!(repo, old_name, new_name) rescue Octokit::NotFound ui.say("Ignoring update for #{repo} repo as it doesn't have the \"#{old_name}\" label.") rescue StandardError => e ExceptionHandler.new(e).process end end end private def update_label!(repo, old_name, new_name) client.label(repo, new_name) ui.error("Label with name \"#{new_name}\" already exists.") nil rescue Octokit::NotFound client.update_label(repo, old_name, { name: new_name }) ui.success("Label \"#{old_name}\" updated to \"#{new_name}\" successfully") rescue StandardError => e ExceptionHandler.new(e).process end end end end end end
Version data entries
58 entries across 58 versions & 1 rubygems