Sha256: 38d8df7edfff419ab97156e35a491de6e275b0721f290603f0711e35d59c6a3c
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
require 'fileutils' require 'ceedling/constants' # for Verbosity enumeration class FileFinderHelper constructor :streaminator def find_file_in_collection(file_name, file_list, complain, extra_message="") file_to_find = nil file_list.each do |item| base_file = File.basename(item) # case insensitive comparison if (base_file.casecmp(file_name) == 0) # case sensitive check if (base_file == file_name) file_to_find = item break else blow_up(file_name, "However, a filename having different capitalization was found: '#{item}'.") end end end case (complain) when :error then blow_up(file_name, extra_message) if (file_to_find.nil?) when :warn then gripe(file_name, extra_message) if (file_to_find.nil?) #when :ignore then end return file_to_find end private def blow_up(file_name, extra_message="") error = "ERROR: Found no file '#{file_name}' in search paths." error += ' ' if (extra_message.length > 0) @streaminator.stderr_puts(error + extra_message, Verbosity::ERRORS) raise end def gripe(file_name, extra_message="") warning = "WARNING: Found no file '#{file_name}' in search paths." warning += ' ' if (extra_message.length > 0) @streaminator.stderr_puts(warning + extra_message, Verbosity::COMPLAIN) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-0.29.1 | lib/ceedling/file_finder_helper.rb |
ceedling-0.29.0 | lib/ceedling/file_finder_helper.rb |