Module: Globby

Defined in:
lib/globby.rb,
lib/globby/glob.rb,
lib/globby/result.rb,
lib/globby/globject.rb

Defined Under Namespace

Classes: GlObject, Glob, Result

Class Method Summary collapse

Class Method Details

.reject(patterns, source = GlObject.all) ⇒ Object



21
22
23
# File 'lib/globby.rb', line 21

def reject(patterns, source = GlObject.all)
  Result.new(source.files - select(patterns, source), source.dirs)
end

.select(patterns, source = GlObject.all) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/globby.rb', line 8

def select(patterns, source = GlObject.all)
  result = GlObject.new
  evaluate_patterns(patterns, source, result)

  if result.dirs && result.dirs.size > 0
    # now go merge/subtract files under directories
    dir_patterns = result.dirs.map{ |dir| "/#{dir}**" }
    evaluate_patterns(dir_patterns, GlObject.new(source.files), result)
  end

  Result.new result.files, source.dirs
end