class Bundler::SystemRubyVersion

compared with a RubyVersion object.
a RubyVersion object is expected, and can be
information in the system. It can be used anywhere
engine and engine_version based upon the current
A subclass of RubyVersion that implements version,

def engine

def engine
  if defined?(RUBY_ENGINE)
    RUBY_ENGINE.dup
  else
    # not defined in ruby 1.8.7
    "ruby"
  end
end

def engine_version

def engine_version
  case engine
  when "ruby"
    RUBY_VERSION.dup
  when "rbx"
    Rubinius::VERSION.dup
  when "jruby"
    JRUBY_VERSION.dup
  else
    raise BundlerError, "RUBY_ENGINE value #{RUBY_ENGINE} is not recognized"
    nil
  end
end

def gem_version

def gem_version
  @gem_version ||= Gem::Version.new(version)
end

def initialize(*)

def initialize(*)
  # override the default initialize, because
  # we will implement version, engine and
  # engine_version dynamically
end

def patchlevel

def patchlevel
  RUBY_PATCHLEVEL.to_s
end

def version

def version
  RUBY_VERSION.dup
end