Method: Dir.multiglob_r

Defined in:
lib/mast/core_ext.rb

.multiglob_r(*patterns) ⇒ Object

The same as multiglob, but recusively includes directories.

Dir.multiglob_r( 'folder' )

is equivalent to

Dir.multiglob( 'folder', :recurse=>true )

The effect of which is

Dir.multiglob( 'folder', 'folder/**/**' )


146
147
148
149
150
151
152
153
154
155
156
# File 'lib/mast/core_ext.rb', line 146

def self.multiglob_r(*patterns)
  options = (Hash === patterns.last ? patterns.pop : {})
  matches = multiglob(*patterns)
  directories = matches.select{ |m| File.directory?(m) }
  matches += directories.collect{ |d| multiglob_r(File.join(d, '**'), options) }.flatten
  matches.uniq
  #options = (Hash === patterns.last ? patterns.pop : {})
  #options[:recurse] = true
  #patterns << options
  #multiglob(*patterns)
end