Method: ExtensionLoader.getExtension

Defined in:
lib/vcseif/utils/auxloader.rb

.getExtension(extension_spec) ⇒ Object



230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# File 'lib/vcseif/utils/auxloader.rb', line 230

def self.getExtension(extension_spec)
    """
        Given an extension_spec as a String (in either 'ClassName or facility.ClassName' 
        format), return the corresponding class if such a class exists in the 
        extension subdirectory.
    """
##
##      puts "ExtensionLoader.getExtension extension_spec: |%s|" % extension_spec
##
    facility_name = nil
    #split the extension_spec on '.'
    if not extension_spec.include?('.')
        extension_class_name = extension_spec
    elsif extension_spec.count('.') == 1
        facility_name, extension_class_name = extension_spec.split('.')
        # where facility_name is the basename of a Ruby file containing the extension_class_name
    else
        raise StandardError, 'Invalid extension specification: %s' % extension_spec
    end
        
    return getFacility('extension', extension_class_name, facility_name)
end