def each_data_dir(path)
      return enum_for(:each_data_dir,path) unless block_given?

      each_data_path(path) do |full_path|
        yield(full_path) if File.directory?(full_path)
      end
    end
def each_data_dir(path)
      return enum_for(:each_data_dir,path) unless block_given?

      each_data_path(path) do |full_path|
        yield(full_path) if File.directory?(full_path)
      end
    end
Finds all occurrences of a given directory path, within all data
 directories.

 @param [String] path
   The directory path to search for.

 @yield [data_dir]
   If a block is given, it will be passed every found path.

 @yieldparam [String] data_dir
   The path of a directory within a data directory.

 @return [Enumerator]
   If no block is given, an Enumerator object will be returned.