Sha256: 875692c367006234eabbea075103c8f6b26e4ecd687aee0b5a8d26f9496ae497

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

module RESTFramework
  module Version
    @_version = nil

    def self.get_version(skip_git: false)
      # Return cached @_version, if available.
      return @_version if @_version

      # First, attempt to get the version from git.
      unless skip_git
        begin
          version = `git describe 2>/dev/null`.strip
          raise "blank version" if version.nil? || version.match(/^\w*$/)
          # Check for local changes.
          changes = `git status --porcelain 2>/dev/null`
          version << '.localchanges' if changes.strip.length > 0
          return version
        rescue
        end
      end

      # Git failed, so try to find a VERSION_STAMP.
      begin
        version = File.read(File.expand_path("VERSION_STAMP", __dir__))
        unless version.nil? || version.match(/^\w*$/)
          return (@_version = version)  # cache VERSION_STAMP content
        end
      rescue
      end

      # No VERSION_STAMP, so version is unknown.
      return '0.unknown'
    end
  end

  VERSION = Version.get_version()
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rest_framework-0.2.4 lib/rest_framework/version.rb
rest_framework-0.2.3 lib/rest_framework/version.rb
rest_framework-0.2.2 lib/rest_framework/version.rb
rest_framework-0.2.1 lib/rest_framework/version.rb
rest_framework-0.2.0 lib/rest_framework/version.rb