def jruby_gem
%{
require 'jruby'
def JRuby.gem(name, version = '>0', *args)
require 'rbconfig'
jruby_home = Config::CONFIG['prefix']
expected_version = '#{TestFramework::JRubyBased.version}'
unless JRUBY_VERSION >= expected_version
fail "Expected JRuby version \#{expected_version} installed at \#{jruby_home} but got \#{JRUBY_VERSION}"
end
require 'rubygems'
begin
Kernel.send :gem, name, version
rescue LoadError, Gem::LoadError => e
require 'rubygems/gem_runner'
args = ['install', name, '--version', version] + args
Gem::GemRunner.new.run(args)
Kernel.send :gem, name, version
end
end
}
end