Sha256: 775225f225cdce4caa428d253b18ab8ab5d3a65fb5c76b8d3b0c5ba3b9bc5886

Contents?: true

Size: 561 Bytes

Versions: 18

Compression:

Stored size: 561 Bytes

Contents

require 'active_support/core_ext/object/blank'

module Loga
  class ServiceVersionStrategies
    # Redirect stderror to /dev/null when git binary or git directory not available
    SCM_GIT       = -> { `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

    def self.call
      new.call
    end

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

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
loga-2.8.1 lib/loga/service_version_strategies.rb
loga-2.8.0 lib/loga/service_version_strategies.rb
loga-2.7.0 lib/loga/service_version_strategies.rb
loga-2.6.1 lib/loga/service_version_strategies.rb
loga-2.6.0 lib/loga/service_version_strategies.rb
loga-2.5.4 lib/loga/service_version_strategies.rb
loga-2.5.3 lib/loga/service_version_strategies.rb
loga-2.5.2 lib/loga/service_version_strategies.rb
loga-2.5.1 lib/loga/service_version_strategies.rb
loga-2.5.0 lib/loga/service_version_strategies.rb
loga-2.4.0 lib/loga/service_version_strategies.rb
loga-2.3.1 lib/loga/service_version_strategies.rb
loga-2.3.0 lib/loga/service_version_strategies.rb
loga-2.2.0 lib/loga/service_version_strategies.rb
loga-2.1.2 lib/loga/service_version_strategies.rb
loga-2.1.1 lib/loga/service_version_strategies.rb
loga-2.0.0 lib/loga/service_version_strategies.rb
loga-2.1.0 lib/loga/service_version_strategies.rb