Method: SpecGuard.ruby_version

Defined in:
lib/mspec/guards/guard.rb

.ruby_version(which = :minor) ⇒ Object

Returns a partial Ruby version string based on which. For example, if RUBY_VERSION = 8.2.3 and RUBY_PATCHLEVEL = 71:

:major  => "8"
:minor  => "8.2"
:tiny   => "8.2.3"
:teeny  => "8.2.3"
:full   => "8.2.3.71"


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/mspec/guards/guard.rb', line 53

def self.ruby_version(which = :minor)
  case which
  when :major
    n = 1
  when :minor
    n = 2
  when :tiny, :teeny
    n = 3
  else
    n = 4
  end

  patch = RUBY_PATCHLEVEL.to_i
  patch = 0 if patch < 0
  version = "#{ruby_version_override || RUBY_VERSION}.#{patch}"
  version.split('.')[0,n].join('.')
end