Class: Ucert::BloombergTracker

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

Overview

Class to handle Bloomberg user account IDs

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 = {}) ⇒ BloombergTracker

Instance default variables



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ucert/bloomberg_tracker.rb', line 18

def initialize (params ={})

   @verbose=params.fetch(:verbose, false)
	# Abtain the latest SID report from Bloomberg Customer Center under the Billing tab
	# locate the latest invoice, click and download 'Current Subscription'
	@bloomberg_sid_report = File.dirname(__FILE__)+"/../../data/bloomberg/SID.csv"
	#
	# Load the group entitlement instance variable
	# Level 1 - Load the user entitlement by perform the AD lookup (workstation access)
	parse_bloomberg_ws_info
	# Level 2 - Parse the SID report in the CSV format
	#parse_bloomber_sid
end

Instance Attribute Details

#bloomberg_user_entitlementObject (readonly)

Returns the value of attribute bloomberg_user_entitlement.



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

def bloomberg_user_entitlement
  @bloomberg_user_entitlement
end

#verboseObject

Class constant variables



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

def verbose
  @verbose
end

Instance Method Details

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

Search user entitlement record by AD DN



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

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

Print out the user entitlement table in plain text, to be imported into database



63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/ucert/bloomberg_tracker.rb', line 63

def print_user_entitlement
	begin
		puts "Bloomberg User Entitlement Report in Plain-text Format" if @verbose
     @bloomberg_user_entitlement[1].keys.map {|x| print x,"|"} if @verbose
		puts if @verbose
		@bloomberg_user_entitlement.values.each do |record|
			record.values.map {|y| print y,"|"}
			puts
		end
     puts
	rescue => ee
		puts "Exception on method #{__method__}: #{ee}"
	end
end