class Git::Worktrees
object that holds all the available worktrees
Public Class Methods
new(base)
click to toggle source
# File lib/git/worktrees.rb, line 7 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
Public Instance Methods
[](worktree_name)
click to toggle source
# File lib/git/worktrees.rb, line 28 def [](worktree_name) @worktrees.values.inject(@worktrees) do |worktrees, worktree| worktrees[worktree.full] ||= worktree worktrees end[worktree_name.to_s] end
each(&block)
click to toggle source
# File lib/git/worktrees.rb, line 24 def each(&block) @worktrees.values.each(&block) end
prune()
click to toggle source
# File lib/git/worktrees.rb, line 43 def prune @base.lib.worktree_prune end
size()
click to toggle source
array like methods
# File lib/git/worktrees.rb, line 20 def size @worktrees.size end
to_s()
click to toggle source
# File lib/git/worktrees.rb, line 35 def to_s out = '' @worktrees.each do |k, b| out << b.to_s << "\n" end out end