class Bundler::Definition

def validate_ruby!

def validate_ruby!
  return unless ruby_version
  if diff = ruby_version.diff(Bundler.ruby_version)
    problem, expected, actual = diff
    msg = case problem
    when :engine
      "Your Ruby engine is #{actual}, but your Gemfile specified #{expected}"
    when :version
      "Your Ruby version is #{actual}, but your Gemfile specified #{expected}"
    when :engine_version
      "Your #{Bundler.ruby_version.engine} version is #{actual}, but your Gemfile specified #{ruby_version.engine} #{expected}"
    when :patchlevel
      if !expected.is_a?(String)
        "The Ruby patchlevel in your Gemfile must be a string"
      else
        "Your Ruby patchlevel is #{actual}, but your Gemfile specified #{expected}"
      end
    end
    raise RubyVersionMismatch, msg
  end
end