class LinuxHub::CLI
Public Class Methods
new(config)
click to toggle source
# File lib/linux-hub/cli.rb, line 3 def initialize(config) @organization = config["organisation"] @team = config["team"] @groups = config["groups"] Github.instance.access_token = config["access_token"] Octokit.auto_paginate = true end
Public Instance Methods
create_users()
click to toggle source
# File lib/linux-hub/cli.rb, line 28 def create_users add_users(github_users) end
list()
click to toggle source
# File lib/linux-hub/cli.rb, line 12 def list puts github_users.collect(&:authorized_keys) end
sync_users()
click to toggle source
# File lib/linux-hub/cli.rb, line 16 def sync_users linux_users = LinuxUser.users_in_group linux_usernames = linux_users.collect(&:username) github_usernames = github_users.collect(&:username) # Equivalent to github_users - linux_users users_to_add = github_users.reject { |u| linux_usernames.include? u.username } # Equivalent to linux_users - github_users users_to_delete = linux_users.reject { |u| github_usernames.include? u.username } add_users(users_to_add) delete_users(users_to_delete) end
Private Instance Methods
add_users(users)
click to toggle source
# File lib/linux-hub/cli.rb, line 34 def add_users(users) users.each do |user| LinuxUser.new( username: user.username, groups: @groups, ssh_keys: user.ssh_keys ).create end end
delete_users(users)
click to toggle source
# File lib/linux-hub/cli.rb, line 44 def delete_users(users) users.each do |user| LinuxUser.new( username: user.username ).delete end end
github_users()
click to toggle source
# File lib/linux-hub/cli.rb, line 52 def github_users GithubTeam.new( organisation: @organization, team: @team, ).users end