Class: Gitomator::Task::UpdateRepoAccessPermissions

Inherits:
BaseTask
  • Object
show all
Defined in:
lib/gitomator/task/update_repo_access_permissions.rb

Instance Attribute Summary

Attributes inherited from BaseTask

#context, #logger

Instance Method Summary collapse

Methods inherited from BaseTask

#ci, #git, #hosting, #tagging

Constructor Details

#initialize(context, repo_name, user2perm, team2perm, opts = {}) ⇒ UpdateRepoAccessPermissions

Returns a new instance of UpdateRepoAccessPermissions.

Parameters:

  • context
  • repo_name (String)
  • user2perm (Hash<String,Symbol>)

    Map usernames to permission type (:read/:write).

  • team2perm (Hash<String,Symbol>)

    Map team-names to permission type (:read/:write).

  • opts (Hash) (defaults to: {})


16
17
18
19
20
21
22
# 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

Instance Method Details

#runObject



26
27
28
29
30
31
32
33
34
35
36
# 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