Sha256: b7a4e312028c84ba2c3fd1762f05af852436c2a94b17cdbaccfd9b190a09e554

Contents?: true

Size: 717 Bytes

Versions: 9

Compression:

Stored size: 717 Bytes

Contents

module PlainApm
  class DeployTracking
    class << self
      def revision
        git_revision || hg_revision || heroku_revision
      end

      private

      def git_revision
        return unless File.exist?(".git")
        rev = `git rev-parse --short=8 HEAD`.strip
        rev if !rev.empty?
      rescue Error::ENOENT # No git installed
        nil
      end

      def heroku_revision
        rev = ENV["HEROKU_SLUG_COMMIT"].to_s[0..8]
        rev if !rev.empty?
      end

      def hg_revision
        return unless File.exist?(".hg")
        rev = `hg log -l 1 -r . -T '{node}'`.strip
        rev if !rev.empty?
      rescue Error::ENOENT # No mercurial installed
        nil
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
plain_apm-0.9.8 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.7 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.6 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.5 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.4 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.3 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.2 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.1 lib/plain_apm/deploy_tracking.rb
plain_apm-0.9.0 lib/plain_apm/deploy_tracking.rb