class UcbGroups::CampusGroup
Attributes
description[RW]
dn[RW]
id[RW]
name[RW]
namespace[RW]
Public Class Methods
find(namespace)
click to toggle source
# File lib/ucb_groups/campus_group.rb, line 12 def self.find(namespace) args = { :base => "ou=campus groups,dc=berkeley,dc=edu", :filter => build_filter(namespace), :attributes => %w(name displayName description dn) } LdapConn.conn.search(args).map { |entry| CampusGroup.new(entry) } end
new(ldap_entry)
click to toggle source
# File lib/ucb_groups/campus_group.rb, line 5 def initialize(ldap_entry) @dn = ldap_entry[:dn].first.to_s @name = ldap_entry[:displayName].first.to_s @description = ldap_entry[:description].first.to_s @namespace, @id = parse_dn end
Private Class Methods
build_filter(namespace)
click to toggle source
# File lib/ucb_groups/campus_group.rb, line 28 def self.build_filter(namespace) "(&(objectclass=*)(cn=edu:berkeley:app:#{namespace}*))" end
Private Instance Methods
parse_dn()
click to toggle source
example dn: “cn=edu:berkeley:app:calmessages:faculty,ou=campus groups,dc=berkeley,dc=edu”
# File lib/ucb_groups/campus_group.rb, line 24 def parse_dn dn.split(/:|,/)[3..4].map(&:to_s) end