Module: PathMapper::Node::Dir::Grep

Included in:
PathMapper::Node::Dir, Inheritance
Defined in:
lib/path_mapper/node/dir/grep.rb

Defined Under Namespace

Classes: FilesIterator

Instance Method Summary collapse

Instance Method Details

#grep(reg, recursive: false, path: @path, **kwargs) ⇒ Object



5
6
7
8
9
10
# File 'lib/path_mapper/node/dir/grep.rb', line 5

def grep(reg, recursive: false, path: @path, **kwargs)
  path_ = "#{path}#{'/**' if recursive}/*"
  files = ::Dir[path_].select {|f| f =~ reg }
  files.map! {|f| Pathname.new(f) }
  FilesIterator.new(files, self)
end

#grep_dirs(recursive: false, **kwargs) ⇒ Object



12
13
14
# File 'lib/path_mapper/node/dir/grep.rb', line 12

def grep_dirs(recursive: false, **kwargs)
  self.grep(/.*/, recursive: recursive, **kwargs).select {|n| n.dir? }
end

#grep_files(recursive: false, **kwargs) ⇒ Object



16
17
18
# File 'lib/path_mapper/node/dir/grep.rb', line 16

def grep_files(recursive: false, **kwargs)
  self.grep(/.*/, recursive: recursive, **kwargs).select {|n| n.file? }
end