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