Class: Metaverse::Iterator

Inherits:
Object
  • Object
show all
Defined in:
lib/metaverse/iterator.rb

Instance Method Summary collapse

Constructor Details

#initialize(rootPath, ignore, repos = []) ⇒ Iterator



11
12
13
14
15
16
# File 'lib/metaverse/iterator.rb', line 11

def initialize rootPath, ignore, repos = []
  @logger = Logger.new STDOUT
  @ignore = ['.', 'bower_components', 'node_modules'] + ignore
  @rootPath = rootPath
  @repos = repos
end

Instance Method Details

#buildObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/metaverse/iterator.rb', line 18

def build 
  Find.find(@rootPath) do |path|
    if File.directory? path
      if @ignore.any? { |word| File.basename(path).include? word }
        Find.prune
      end
    end

    if File.directory? path + '/.git'
      @repos << path
    end

  end
  puts "#{@repos.length} repos loaded"
  @repos
end

#each(&block) ⇒ Object



35
36
37
# File 'lib/metaverse/iterator.rb', line 35

def each &block
  @repos.send(:each, &block)
end

#map(&block) ⇒ Object



39
40
41
# File 'lib/metaverse/iterator.rb', line 39

def map &block
  @repos.send(:map, &block)
end