class Gitomator::Task::UpdateRepoAccessPermissions

Public Class Methods

new(context, repo_name, user2perm, team2perm, opts={}) click to toggle source

@param context @param repo_name [String] @param user2perm [Hash<String,Symbol>] Map usernames to permission type (:read/:write). @param team2perm [Hash<String,Symbol>] Map team-names to permission type (:read/:write). @param opts [Hash]

Calls superclass method Gitomator::BaseTask::new
# File lib/gitomator/task/update_repo_access_permissions.rb, line 16
def initialize(context, repo_name, user2perm, team2perm, opts={})
  super(context)
  @repo_name = repo_name
  @user2perm = user2perm || {}
  @team2perm = team2perm || {}
  @opts = opts
end

Public Instance Methods

run() click to toggle source
# File lib/gitomator/task/update_repo_access_permissions.rb, line 26
def run
  @user2perm.each do |username, permission|
    logger.info("Granting user #{username} #{permission} permission to #{@repo_name}")
    hosting.set_user_permission(username, @repo_name, permission)
  end

  @team2perm.each do |team_name, permission|
    logger.info("Granting team #{team_name} #{permission} permission to #{@repo_name}")
    hosting.set_team_permission(team_name, @repo_name, permission)
  end
end