class Tapjoy::LDAP::Audit::ByUser

Get a group to user mapping

Public Instance Methods

by_user() click to toggle source
# File lib/tapjoy/ldap/audit/by_user.rb, line 6
def by_user
  user_groups = {}
  get_users.each do |user|
    user_groups[user] = group_results.reduce([]) do |group, entry|
      group << entry[:cn].first if entry[:memberUid].include?(user)
      group
    end
  end

  # print user_groups

  Tapjoy::LDAP::Audit.print_hash('Groups by user', user_groups)
end

Private Instance Methods

attributes() click to toggle source
# File lib/tapjoy/ldap/audit/by_user.rb, line 30
def attributes
  @attributes ||= ['uid']
end
filter() click to toggle source
# File lib/tapjoy/ldap/audit/by_user.rb, line 26
def filter
  @filter ||= Net::LDAP::Filter.eq('objectclass', 'posixAccount')
end
get_users() click to toggle source

Get list of users

# File lib/tapjoy/ldap/audit/by_user.rb, line 22
def get_users
  @get_users ||= results.map {|entry| entry['uid'].first}.sort
end
group_results() click to toggle source
# File lib/tapjoy/ldap/audit/by_user.rb, line 38
def group_results
  @group_results ||= Tapjoy::LDAP::Audit.get_groups_with_membership
end
results() click to toggle source
# File lib/tapjoy/ldap/audit/by_user.rb, line 34
def results
  @results ||= Tapjoy::LDAP.client.search(attributes, filter)
end