Class: Mighost::GitMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/mighost/git_metadata.rb

Class Method Summary collapse

Class Method Details

.current_branchObject



6
7
8
9
10
11
# File 'lib/mighost/git_metadata.rb', line 6

def current_branch
  return nil unless git_available?

  result = `git rev-parse --abbrev-ref HEAD 2>/dev/null`.strip
  result.empty? ? nil : result
end

.current_shaObject



13
14
15
16
17
18
# File 'lib/mighost/git_metadata.rb', line 13

def current_sha
  return nil unless git_available?

  result = `git rev-parse HEAD 2>/dev/null`.strip
  result.empty? ? nil : result[0, 12] # Short SHA
end

.git_available?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
# File 'lib/mighost/git_metadata.rb', line 20

def git_available?
  return @git_available if defined?(@git_available)

  @git_available = system("git rev-parse --git-dir > /dev/null 2>&1")
end

.reset!Object



26
27
28
# File 'lib/mighost/git_metadata.rb', line 26

def reset!
  remove_instance_variable(:@git_available) if defined?(@git_available)
end