Class: Loga::ServiceVersionStrategies

Inherits:
Object
  • Object
show all
Defined in:
lib/loga/service_version_strategies.rb

Constant Summary collapse

SCM_GIT =

Redirect stderror to /dev/null when git binary or git directory not available

-> { `git rev-parse --short HEAD 2>/dev/null` }
REVISION_FILE =
-> { begin; File.read('REVISION'); rescue Errno::ENOENT; nil; end }
DEFAULT =
-> { 'unknown.sha' }
STRATEGIES =
[SCM_GIT, REVISION_FILE, DEFAULT].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.callObject



11
12
13
# File 'lib/loga/service_version_strategies.rb', line 11

def self.call
  new.call
end

Instance Method Details

#callObject



15
16
17
# File 'lib/loga/service_version_strategies.rb', line 15

def call
  STRATEGIES.map(&:call).find(&:presence).strip
end