module Josef::GoogleWorkspace::Group
Public Instance Methods
create_group(group_mail_address)
click to toggle source
# File lib/josef/google_workspace/group.rb, line 28 def create_group(group_mail_address) group = ::Google::Apis::AdminDirectoryV1::Group.new(email: group_mail_address) client.insert_group(group) end
delete_group(group_mail_address)
click to toggle source
# File lib/josef/google_workspace/group.rb, line 34 def delete_group(group_mail_address) group = groups.find{|g| g.email == group_mail_address} client.delete_group(group.id) end
groups()
click to toggle source
# File lib/josef/google_workspace/group.rb, line 8 def groups @_groups ||= groups! end
groups!()
click to toggle source
# File lib/josef/google_workspace/group.rb, line 12 def groups! domains.map do | domain | res = client.list_groups(domain: domain) domain_groups = res.groups next_page_token = res.next_page_token while next_page_token.nil?.! res = client.list_groups(domain: domain, page_token: next_page_token) next_page_token = res.next_page_token domain_groups.concat(res.groups) end domain_groups end.flatten.compact end