Returns a hash representing the version. The :major, :minor, and :teeny keys have their respective numbers. The :string key contains a human-readable string representation of the version. The :rev key will have the current revision hash.
This method swiped from Haml and then modified, some credit goes to Nathan Weizenbaum
# File lib/compass/version.rb, line 16 def version if defined?(@version) @version else read_version end end
# File lib/compass/version.rb, line 30 def read_version @version = VERSION_DETAILS.dup @version[:teeny] = @version[:patch] @version[:string] = "#{@version[:major]}.#{@version[:minor]}" @version[:string] << ".#{@version[:patch]}" if @version[:patch] @version[:string] << ".#{@version[:build]}" if @version[:build] @version[:string] << ".#{@version[:state]}" if @version[:state] @version[:string] << ".#{@version[:iteration]}" if @version[:iteration] if !ENV['OFFICIAL'] && r = revision @version[:string] << ".#{r[0..6]}" end @version end
# File lib/compass/version.rb, line 44 def revision revision_from_git end
# File lib/compass/version.rb, line 48 def revision_from_git if File.exists?(scope('.git/HEAD')) Dir.chdir scope(".") do %xgit rev-parse HEAD` end end rescue nil end