Module: EC2Launcher::DirectoryProcessing

Included in:
ApplicationProcessor, EnvironmentProcessor
Defined in:
lib/ec2launcher/directory_processing.rb

Instance Method Summary collapse

Instance Method Details

#process_directory_list(base_directory, target_directories, default_directory, name, fail_on_error = false) ⇒ Array<String] list of directories that exist

Attempts to build a list of valid directories.

Parameters:

  • target_directories (Array<String>, nil)

    list of possible directories

  • default_directory (String)

    directory to use if the target_directories list is empty or nil

  • name (String)

    name of the type of directory. Used only for error messages.

  • fail_on_error (Boolean) (defaults to: false)

    exit with an error if the list of valid directories is empty

Returns:

  • (Array<String] list of directories that exist)

    Array<String] list of directories that exist



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/ec2launcher/directory_processing.rb', line 20

def process_directory_list(base_directory, target_directories, default_directory, name, fail_on_error = false)
	log = 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