Module: TXPRails::Version
Overview
Handles TXPRails version-reporting. TXPRails not only reports the standard three version numbers, but its Git revision hash as well, if it was installed from Git.
Constant Summary
Constants included from Util
Instance Method Summary collapse
-
#version ⇒ {Symbol => String/Fixnum}
Returns a hash representing the version of TXPRails.
Methods included from Util
#av_template_class, #rails_root, #scope
Instance Method Details
#version ⇒ {Symbol => String/Fixnum}
Returns a hash representing the version of TXPRails. The :major, :minor, and :teeny keys have their respective numbers as Fixnums. The :name key has the name of the version. The :string key contains a human-readable string representation of the version. The :number key is the major, minor, and teeny keys separated by periods. If TXPRails is checked out from Git, the :rev key will have the revision hash. For example:
{
:string => "2.1.0.9616393",
:rev => "9616393b8924ef36639c7e82aa88a51a24d16949",
:number => "2.1.0",
:major => 2, :minor => 1, :teeny => 0
}
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/txprails/version.rb', line 27 def version return @@version if defined?(@@version) numbers = File.read(scope('VERSION')).strip.split('.').map { |n| n.to_i } name = File.read(scope('VERSION_NAME')).strip @@version = { :major => numbers[0], :minor => numbers[1], :teeny => numbers[2], :name => name } @@version[:number] = [:major, :minor, :teeny].map { |comp| @@version[comp] }.compact.join('.') @@version[:string] = @@version[:number].dup if File.exists?(scope('REVISION')) rev = File.read(scope('REVISION')).strip rev = nil if rev !~ /^([a-f0-9]+|\(.*\))$/ end if (rev.nil? || rev == '(unknown)') && File.exists?(scope('.git/HEAD')) rev = File.read(scope('.git/HEAD')).strip if rev =~ /^ref: (.*)$/ rev = File.read(scope(".git/#{$1}")).strip end end if rev @@version[:rev] = rev unless rev[0] == ?( @@version[:string] << "." << rev[0...7] end @@version[:string] << " (#{name})" end @@version end |