module EC2Launcher::DirectoryProcessing
Public Instance Methods
process_directory_list(base_directory, target_directories, default_directory, name, fail_on_error = false)
click to toggle source
Attempts to build a list of valid directories.
@param [Array<String>, nil] target_directories list of possible directories @param [String] default_directory directory to use if the target_directories list is empty or nil @param [String] name name of the type of directory. Used only for error messages. @param [Boolean] fail_on_error exit with an error if the list of valid directories is empty
@return [Array<String] list of directories that exist
# File lib/ec2launcher/directory_processing.rb, line 18 def process_directory_list(base_directory, target_directories, default_directory, name, fail_on_error = false) log = Log4r::Logger['ec2launcher'] dirs = [] if target_directories.nil? dirs << File.join(base_directory, default_directory) else target_directories.each do |d| dirs << File.join(base_directory, d) end end valid_directories = build_list_of_valid_directories(dirs) if valid_directories.empty? temp_dirs = dirs.each {|d| "'#{d}'"}.join(", ") if fail_on_error abort("ERROR - #{name} directories not found: #{temp_dirs}") else log.warn "WARNING - #{name} directories not found: #{temp_dirs}" end end valid_directories end
Private Instance Methods
build_list_of_valid_directories(directories)
click to toggle source
Given a list of possible directories, build a list of directories that actually exist.
@param [Array<String>] directories list of possible directories @return [Array<String>] directories that exist or an empty array if none of the directories exist.
# File lib/ec2launcher/directory_processing.rb, line 49 def build_list_of_valid_directories(directories) dirs = [] unless directories.nil? if directories.kind_of? Array directories.each {|d| dirs << d if File.directory?(d) } else dirs << directories if File.directory?(directories) end end dirs end