To answer your question, JRuby is probably going to be your most flexible option. An alternative is ruby-processing, but of course that's geared more toward constructing visualizations than efficient game systems.
Is 3D a requirement? A lot more options open up to you without it such as Rubygame, Chingu, Gosu, etc.
Now to play devil's advocate, why Ruby over another "beginner-friendly" language?
Python has pyglet. And Panda3D.
And how about Scala? It seems much more friendly to start with compared to Java. Hello World is just this:
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Retains the structure and static typing of Java, but offers less verbose syntax and to option for more dynamic typing and, if you care to get into it, functional programming like you'd get with Ruby blocks. You obviously wouldn't want to throw lambdas around in your game loop, but shader programming has functional characteristics so the learning is still valuable and relevant.
And you can import Java libraries and thus use JMonkey, Slick2D, or whatever you need. It also has a REPL, which I think would be a hugely beneficial educational tool and reason to go with something like Python, Ruby, or Scala.