class Twigg::RepoSet

Represents a set of Git repositories existing in a directory.

Public Class Methods

new(repositories_directory) click to toggle source
# File lib/twigg/repo_set.rb, line 6
def initialize(repositories_directory)
  @repositories_directory = Pathname.new(repositories_directory)
end

Public Instance Methods

for_each_repo(&block) click to toggle source

Execute `block` for each repo in the set.

The {Repo} object is passed in to the block.

# File lib/twigg/repo_set.rb, line 13
def for_each_repo(&block)
  repos.each do |repo|
    block.call(repo)
  end
end
repos() click to toggle source
# File lib/twigg/repo_set.rb, line 19
def repos
  @repos ||= begin
    Dir[File.join(@repositories_directory, '*')].map do |path|
      begin
        repo = Repo.new(path)
      rescue Repo::InvalidRepoError
        # most likely an empty or non-Git directory
      end
    end.compact
  end
end