global
def require_more
def require_more required_file_path = caller[0].split(':', 2).first load_name = nil load_path_index = $LOAD_PATH.each_with_index do |load_path, ix| scanned = required_file_path.scan(/(#{load_path})#{File::SEPARATOR}(.*)/).first next false unless scanned load_name = scanned[1] break ix end return false unless load_path_index more_load_paths = $LOAD_PATH.drop(load_path_index + 1) more_load_paths.each do |load_path| path = File.join(load_path, load_name) if File.exist?(path) return require_dependency path end end raise LoadError, "cannot require more -- #{load_name}" end