Module: Sass::Version
- Includes:
- Util
- Defined in:
- /var/www/sass-pages/.sass/lib/sass/version.rb
Overview
Handles Sass version-reporting. Sass 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
- - ({Symbol => String/Fixnum}) version Returns a hash representing the version of Sass.
Methods included from Util
#abstract, #ap_geq?, #ap_geq_3?, #av_template_class, #caller_info, #check_encoding, #check_range, #check_sass_encoding, #enum_cons, #enum_slice, #enum_with_index, #extract!, #extract_values, #flatten, #glob, #has?, #hash_to_a, #inject_values, #inspect_obj, #intersperse, #ironruby?, #lcs, #map_hash, #map_keys, #map_vals, #merge_adjacent_strings, #ord, #paths, #powerset, #rails_env, #rails_root, #restrict, #ruby1_8?, #ruby1_8_6?, #sass_warn, #scope, #set_eql?, #set_hash, #silence_sass_warnings, #silence_warnings, #strip_string_array, #substitute, #to_hash, #version_geq, #version_gt, #windows?, #with_extracted_values
Instance Method Details
- ({Symbol => String/Fixnum}) version
Returns a hash representing the version of Sass. 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 Sass 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
}
If a prerelease version of Sass is being used, the :string and :number fields will reflect the full version (e.g. "2.2.beta.1"), and the :teeny field will be -1. A :prerelease key will contain the name of the prerelease (e.g. "beta"), and a :prerelease_number key will contain the rerelease number. For example:
{
:string => "3.0.beta.1",
:number => "3.0.beta.1",
:major => 3, :minor => 0, :teeny => -1,
:prerelease => "beta",
:prerelease_number => 1
}
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File '/var/www/sass-pages/.sass/lib/sass/version.rb', line 45
def version
return @@version if defined?(@@version)
numbers = File.read(scope('VERSION')).strip.split('.').
map {|n| n =~ /^[0-9]+$/ ? n.to_i : n}
name = File.read(scope('VERSION_NAME')).strip
@@version = {
:major => numbers[0],
:minor => numbers[1],
:teeny => numbers[2],
:name => name
}
if numbers[3].is_a?(String)
@@version[:teeny] = -1
@@version[:prerelease] = numbers[3]
@@version[:prerelease_number] = numbers[4]
end
@@version[:number] = numbers.join('.')
@@version[:string] = @@version[:number].dup
if rev = revision_number
@@version[:rev] = rev
unless rev[0] == ?(
@@version[:string] << "." << rev[0...7]
end
end
@@version[:string] << " (#{name})"
@@version
end
|