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



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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