class RhEntitlement::Lookup
Public Class Methods
instance()
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 57 def self.instance @@instance ||= new end
make_url_variants(url)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 47 def self.make_url_variants(url) urls = [url] if url.match(/\dServer/) urls.push(url.gsub(/\dServer/, '$releasever')) else urls.push(url.gsub('$releasever', '6Server')) urls.push(url.gsub('$releasever', '7Server')) end end
new()
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 3 def initialize @entitlements = {} end
Public Instance Methods
add_cert(key, cert)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 24 def add_cert(key, cert) @entitlements[key] = RhEntitlement::Certificate.new(cert) self end
add_certificate_file(filename)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 15 def add_certificate_file(filename) add_cert(File.basename(filename).sub('.pem', ''), File.read(filename)) end
add_certs(certs)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 29 def add_certs(certs) certs.each do |key, cert| add_cert key, cert end self end
add_path(path)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 7 def add_path(path) return unless File.directory? path Dir.glob("#{path}/*.pem").grep(/\/\d+\.pem$/).each do |filename| add_certificate_file(filename) end self end
entitlements()
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 19 def entitlements add_path('/etc/pki/entitlement') if @entitlements.empty? @entitlements end
find_url(url)
click to toggle source
# File lib/rh_entitlement/lookup.rb, line 36 def find_url(url) urls = self.class.make_url_variants(url) entitlements.each do |key, entitlement| urls.each do |search| return key if entitlement.urls.has?(search) end end nil end