Module: GitLeft::Branches

Defined in:
lib/git_left/branches.rb

Class Method Summary collapse

Class Method Details

.branchesObject



39
40
41
42
43
44
45
# File 'lib/git_left/branches.rb', line 39

def self.branches
  @@skipped_branches ||= []
  @@deleted_branches ||= []

  @@all_branches ||= git_instance.branches.local.to_a.map { |b| GitLeft::Branch.new(b) }
  @@all_branches.select { |b| !branches_to_omit.include?(b.name) }
end

.branches_to_omitObject



27
28
29
# File 'lib/git_left/branches.rb', line 27

def self.branches_to_omit
  @@skipped_branches + @@deleted_branches + ['master']
end

.delete(branch) ⇒ Object



20
21
22
23
24
25
# File 'lib/git_left/branches.rb', line 20

def self.delete(branch)
  @@deleted_branches ||= []
  @@deleted_branches << branch.name

  branch.delete
end

.deleted_branchesObject



11
12
13
# File 'lib/git_left/branches.rb', line 11

def self.deleted_branches
  @@deleted_branches || []
end

.git_instanceObject



3
4
5
# File 'lib/git_left/branches.rb', line 3

def self.git_instance
  @git_instance ||= Git.open('.')      
end

.random_branchObject



31
32
33
# File 'lib/git_left/branches.rb', line 31

def self.random_branch
  branches.sample
end

.remote_branchesObject



35
36
37
# File 'lib/git_left/branches.rb', line 35

def self.remote_branches
  @remote_branches ||= git_instance.branches.remote
end

.skip(branch) ⇒ Object



15
16
17
18
# File 'lib/git_left/branches.rb', line 15

def self.skip(branch)
  @@skipped_branches ||= []
  @@skipped_branches << branch.name
end

.skipped_branchesObject



7
8
9
# File 'lib/git_left/branches.rb', line 7

def self.skipped_branches
  @@skipped_branches || []
end