Module: Tapjoy::LDAP::API::Group
- Extended by:
- Memoist
- Defined in:
- lib/tapjoy/ldap/api/group.rb
Overview
API methods for managing LDAP Groups
Class Method Summary collapse
- .create(group_name, group_type) ⇒ Object
- .destroy(group_name) ⇒ Object
- .index ⇒ Object
-
.lookup_id(groupname) ⇒ Object
Lookup GID for the given group.
- .update(group_name, username, operation) ⇒ Object
Class Method Details
.create(group_name, group_type) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/tapjoy/ldap/api/group.rb', line 7 def create(group_name, group_type) Tapjoy::LDAP.client.add( distinguished_name(group_name), ldap_attr(group_name, group_type) ) end |
.destroy(group_name) ⇒ Object
14 15 16 |
# File 'lib/tapjoy/ldap/api/group.rb', line 14 def destroy(group_name) Tapjoy::LDAP.client.delete(distinguished_name(group_name)) end |
.index ⇒ Object
25 26 27 |
# File 'lib/tapjoy/ldap/api/group.rb', line 25 def index Tapjoy::LDAP.client.search('*', group_object_class_filter) end |
.lookup_id(groupname) ⇒ Object
Lookup GID for the given group
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/tapjoy/ldap/api/group.rb', line 30 def lookup_id(groupname) gidnumber = [] cn_filter = Net::LDAP::Filter.eq('cn', groupname) filter = Net::LDAP::Filter.join( group_object_class_filter, cn_filter) results = Tapjoy::LDAP.client.search(['gidNumber'], filter) # Make sure we return one, and only one group if results.size < 1 abort('Group not found') elsif results.size > 1 abort('Multiple groups found. Please narrow your search.') end results.each { |result| gidnumber = result.gidnumber } return gidnumber[0] end |