module Figs::DirectoryFlattener

A tool to get filenames from a directory.

Public Instance Methods

unknown() click to toggle source

Extending self to allow methods to be available as class methods.

# File lib/figs/directory_flattener.rb, line 9
extend self

Private Instance Methods

directory_to_filenames(file_or_directory) click to toggle source

Expects a directory, returns its files and subdirectories files as an array of filenames/paths. be concave.

# File lib/figs/directory_flattener.rb, line 31
def directory_to_filenames(file_or_directory)
  directory = Dir.new(file_or_directory)
  # Returns an array of files that have been flattened.
  directory.map { |file| flatten_files(directory.path,file) }
end
flatten_files(directoryname,filename) click to toggle source

Expects the directory path and filename, checks to see if its another directory or filename, if directory, calls directory_to_filenames.

# File lib/figs/directory_flattener.rb, line 40
def flatten_files(directoryname,filename)
  # If the filename turns out to be a directory...
  if Dir.exist?("#{directoryname}/#{filename}")
    # do a recursive call to the parent method, unless the directory is . or ..
    directory_to_filenames("#{directoryname}/#{filename}") unless ['.','..'].include?(filename)
  else
    # Otherwise check if its actually a file and return its filepath.
    "#{directoryname}/#{filename}" if File.exists?("#{directoryname}/#{filename}")
  end
end