Class: ActiveDirectory::Group
Class Method Summary
collapse
Instance Method Summary
collapse
#create, #delete, #rename, #update
Constructor Details
#initialize(options = {}) ⇒ Group
Returns a new instance of Group.
3
4
5
6
|
# File 'lib/active_directory/group.rb', line 3
def initialize(options={})
super
@object_class = ["top", "group"]
end
|
Class Method Details
.fields ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/active_directory/group.rb', line 33
def self.fields
{
cn: "common_name",
dn: "dn",
info: "info",
description: "description",
mail: "email",
member: "member",
sAMAccountName: "username",
objectClass: "object_class",
groupType: "group_type",
objectGUID: "object_guid"
}
end
|
.find_by_cn(cn, treebase = nil) ⇒ Object
23
24
25
26
27
28
29
30
31
|
# File 'lib/active_directory/group.rb', line 23
def self.find_by_cn(cn, treebase=nil)
filter = "(&(objectClass=group)(cn=#{cn}))"
results = Client.search(filter, self.fields.keys, treebase).first
if results
self.new(results)
else
return false, "LDAP-Error - The group with #{cn} does not exist"
end
end
|
.find_by_email(email, treebase = nil) ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/active_directory/group.rb', line 8
def self.find_by_email(email, treebase=nil)
filter = "(&(objectClass=group)(mail=#{email}))"
results = Client.search(filter, self.fields.keys, treebase).first
if results
self.new(results)
else
return false, "LDAP-Error - The group with #{email} does not exist"
end
end
|
.find_by_object_guid(object_guid, treebase = nil) ⇒ Object
18
19
20
21
|
# File 'lib/active_directory/group.rb', line 18
def self.find_by_object_guid(object_guid, treebase=nil)
filter = Net::LDAP::Filter.bineq("objectGUID", object_guid)
results = Client.search(filter, self.fields.keys, treebase).first
end
|
Instance Method Details
#build_create_data ⇒ Object
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/active_directory/group.rb', line 48
def build_create_data
data = {}
self.class.fields.each do |k, v|
if instance_variable_get("@#{v}")
data[k.to_sym] = instance_variable_get("@#{v}")
end
end
data.delete(:dn)
data
end
|