Class: Ucert::ClearParTracker

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/ucert/clear_par_tracker.rb

Overview

Class to handle the ClearPar user entitlement report

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

#file_2_list, #is_fqdn?, #is_ip?, #is_url?, #list_2_file, #load_known_user_map_from_file, #nslookup, #search_ad, #update_dn

Constructor Details

#initialize(params = {}) ⇒ ClearParTracker

Instance default variables



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ucert/clear_par_tracker.rb', line 18

def initialize (params ={})
   @verbose=params.fetch(:verbose, false)
   # ClearPar report generation: Contact Xi Wang, Amy Chan / Sharon Song for the latest user entitlement report
	# Then save it into Excel xlsx format 
   @clear_par_users_report = File.dirname(__FILE__)+"/../../data/clear_par/ClearPar User Report.xlsx"
   # ADP Payroll to AD user map file
   @file_clear_par_user_map =  File.dirname(__FILE__)+"/../../data/clear_par/clear_par_user_map.txt"
	# Load user map from the local cacsh file
	@clear_par_2_ad_user=load_known_user_map_from_file(@file_clear_par_user_map)
	# Read the user security report
	@clear_par_users=parse_clear_par_report(@clear_par_users_report)
	#TBD - @clear_par_proxy_users=parse_clear_par_proxy_report(@clear_par_users_report)
	# Procedure to add DN foreign key to the @clear_par_users, by performing the AD search
	insert_dn
	# Save the user map to local cache file
	save!
end

Instance Attribute Details

#clear_par_2_ad_userObject (readonly)

Returns the value of attribute clear_par_2_ad_user.



15
16
17
# File 'lib/ucert/clear_par_tracker.rb', line 15

def clear_par_2_ad_user
  @clear_par_2_ad_user
end

#clear_par_usersObject (readonly)

Returns the value of attribute clear_par_users.



15
16
17
# File 'lib/ucert/clear_par_tracker.rb', line 15

def clear_par_users
  @clear_par_users
end

#file_clear_par_user_mapObject

Returns the value of attribute file_clear_par_user_map.



14
15
16
# File 'lib/ucert/clear_par_tracker.rb', line 14

def file_clear_par_user_map
  @file_clear_par_user_map
end

#verboseObject

Returns the value of attribute verbose.



14
15
16
# File 'lib/ucert/clear_par_tracker.rb', line 14

def verbose
  @verbose
end

Instance Method Details

#clear_par_search_by_dn(dn) ⇒ Object Also known as: search_by_dn

Search user entitlement record by AD DN



172
173
174
175
176
177
178
179
180
181
182
# File 'lib/ucert/clear_par_tracker.rb', line 172

def clear_par_search_by_dn (dn)
	begin
     puts "Perform search on the user entitlement records by AD DN: #{dn}" if @verbose
     @clear_par_users.each do |key, val|
         return val if @clear_par_users[key]['DN'].eql? dn
     end
		return nil
   rescue => ee
     puts "Exception on method #{__method__}: #{ee}"
   end
end

#dn_2_index(dn) ⇒ Object

Retrieve the user index from the @clear_par_users data structure



83
84
85
86
87
88
89
90
91
# File 'lib/ucert/clear_par_tracker.rb', line 83

def dn_2_index (dn)
		begin
       (1..@clear_par_users.count).map do |index|
         return index if @clear_par_users[index]["DN"]==dn
       end
		rescue => ee
			puts "Exception on method #{__method__}: #{ee}"
		end
end