Class: Hyrb::Tasks::Github::SyncProjectTeam
- Inherits:
-
Hyrb::Task
- Object
- Hyrb::Task
- Hyrb::Tasks::Github::SyncProjectTeam
- Defined in:
- lib/hyrb/tasks/github.rb
Instance Attribute Summary
Attributes inherited from Hyrb::Task
Instance Method Summary collapse
Methods inherited from Hyrb::Task
depends, #initialize, prompt, prompts, #run_before
Constructor Details
This class inherits a constructor from Hyrb::Task
Instance Method Details
#run(env) ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/hyrb/tasks/github.rb', line 87 def run(env) team = env.github_team new_devs = env.project.developers(env.developers) current_members = env.github_client.team_members(team.id) members_to_remove = current_members.reject do |member| new_devs.map(&:github_username).include?(member.login) end devs_to_add = new_devs.reject do |dev| current_members.map(&:login).include?(dev.github_username) end members_to_remove.each do |member| if env.github_client.remove_team_member(team.id, member.login) say "Removed #{member.login} from team #{env.project.github_org}/#{team.slug}", :green else say "Couldn't remove #{member.login} from team #{env.project.github_org}/#{team.slug}", :red end end devs_to_add.each do |dev| if env.github_client.add_team_member(team.id, dev.github_username) say "Added #{dev.github_username} to team #{env.project.github_org}/#{team.slug}", :green else say "Couldn't add #{dev.github_username} to team #{env.project.github_org}/#{team.slug}", :red end end end |