class ActiveDirectory::Group
Public Class Methods
fields()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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
new(options={})
click to toggle source
Calls superclass method
ActiveDirectory::DirectoryObject::new
# File lib/active_directory/group.rb, line 3 def initialize(options={}) super @object_class = ["top", "group"] end
Public Instance Methods
build_create_data()
click to toggle source
# 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