Class: Codestrap::Patch::Dir

Inherits:
Dir
  • Object
show all
Defined in:
lib/codestrap/patch.rb

Overview

Inherited and patched Dir class

Used as an alternative to monkey patching

Class Method Summary collapse

Class Method Details

.each_dirs_exist(*dirs) ⇒ Array

List existing directories Patched function

Parameters:

  • dirs (Array)

Returns:

  • (Array)

    Array of directories



15
16
17
# File 'lib/codestrap/patch.rb', line 15

def self.each_dirs_exist(*dirs)
  dirs.select { |dir| File.directory? dir }
end

.glob_directories(*dirs) ⇒ Array

List existing directory entries Patched function

Parameters:

  • dirs (Array)

Returns:

  • (Array)

    Array of directories full path



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/codestrap/patch.rb', line 26

def self.glob_directories(*dirs)
  dirs = dirs[0] if dirs[0].is_a? Array
  list = self.glob(dirs).select { |dir| File.directory? dir }
  if block_given?
    list.each do |dir|
      yield dir
    end
  else
    list
  end
end

.glob_files(*files) ⇒ Array

List existing file entries Patched function

Parameters:

  • files (Array)

Returns:

  • (Array)

    Array of directories full path



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/codestrap/patch.rb', line 45

def self.glob_files(*files)
  files = files[0] if files[0].is_a? Array
  list  = self.glob(files).select { |file| File.file? file }
  if block_given?
    list.each do |file|
      yield file
    end
  else
    list
  end
end