Sha256: 4318b9548170fd6be12258959516c6fe2a08e26d29fd062c7d8b4cfe1105618b

Contents?: true

Size: 736 Bytes

Versions: 13

Compression:

Stored size: 736 Bytes

Contents

module MultiRepo::Helpers
  class RenameLabels
    attr_reader :repo_name, :rename_hash, :github

    def initialize(repo_name, rename_hash, dry_run: false, **)
      @repo_name   = repo_name
      @rename_hash = rename_hash
      @github      = MultiRepo::Service::Github.new(dry_run: dry_run)
    end

    def run
      rename_hash.each do |old_name, new_name|
        github_label = existing_labels.detect { |l| l.name == old_name }

        if github_label
          puts "Renaming label #{old_name.inspect} to #{new_name.inspect}"
          github.update_label(repo_name, old_name, name: new_name)
        end
      end
    end

    private def existing_labels
      @existing_labels ||= github.labels(repo_name)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
multi_repo-0.6.0 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.5.1 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.5.0 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.4.0 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.3.1 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.3.0 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.2.3 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.2.2 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.2.1 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.2.0 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.1.2 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.1.1 lib/multi_repo/helpers/rename_labels.rb
multi_repo-0.1.0 lib/multi_repo/helpers/rename_labels.rb