class Git::Worktrees
object that holds all the available worktrees
def [](worktree_name)
def [](worktree_name) @worktrees.values.inject(@worktrees) do |worktrees, worktree| worktrees[worktree.full] ||= worktree worktrees end[worktree_name.to_s] end
def each(&block)
def each(&block) @worktrees.values.each(&block) end
def initialize(base)
def initialize(base) @worktrees = {} @base = base # Array contains [dir, git_hash] @base.lib.worktrees_all.each do |w| @worktrees[w[0]] = Git::Worktree.new(@base, w[0], w[1]) end end
def prune
def prune @base.lib.worktree_prune end
def size
def size @worktrees.size end
def to_s
def to_s out = '' @worktrees.each do |k, b| out << b.to_s << "\n" end out end