Class: LabClient::GroupLdap

Inherits:
Common
  • Object
show all
Includes:
ClassHelpers
Defined in:
lib/labclient/groups/ldap/list.rb,
lib/labclient/groups/ldap/sync.rb,
lib/labclient/groups/ldap/client.rb,
lib/labclient/groups/ldap/create.rb,
lib/labclient/groups/ldap/delete.rb

Overview

Specifics

Instance Attribute Summary

Attributes inherited from Common

#client

Instance Method Summary collapse

Methods included from ClassHelpers

#has?, #keys, #raw

Methods inherited from Common

#api_methods, #api_methods_help, #format_id, #format_query_id, #format_query_ids, #format_time?, #group_name, #help, #initialize, #inspect, #klass, #protected_query_access_level, #query_access_level, #query_format_time

Methods included from Docs

#desc, #doc, docs, #example, #group_name, #help, json, #markdown, #navigation, #option, #result, #subtitle, #title

Methods included from AccessLevel

#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level

Constructor Details

This class inherits a constructor from LabClient::Common

Instance Method Details

#create(group_id, query) ⇒ Object



29
30
31
32
33
# File 'lib/labclient/groups/ldap/create.rb', line 29

def create(group_id, query)
  group_id = format_id(group_id)
  query_access_level(query, :group_access)
  client.request(:post, "groups/#{group_id}/ldap_group_links", GroupLink, query)
end

#delete(group_id, name, provider = nil) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/labclient/groups/ldap/delete.rb', line 28

def delete(group_id, name, provider = nil)
  group_id = format_id(group_id)
  if provider
    client.request(:delete, "groups/#{group_id}/ldap_group_links/#{provider}/#{name}")
  else
    client.request(:delete, "groups/#{group_id}/ldap_group_links/#{name}")
  end
end

#list(group_id) ⇒ Object



21
22
23
24
25
# File 'lib/labclient/groups/ldap/list.rb', line 21

def list(group_id)
  group_id = format_id(group_id)

  client.request(:get, "groups/#{group_id}/ldap_group_links", GroupLink)
end

#sync(group_id) ⇒ Object



20
21
22
23
24
25
# File 'lib/labclient/groups/ldap/sync.rb', line 20

def sync(group_id)
  #   POST /groups/:id/ldap_sync
  group_id = format_id(group_id)

  client.request(:post, "groups/#{group_id}/ldap_sync")
end