I've gotten a bit spoiled using Emacs with SLIME while learning Lisp.
It can evaluate individual expressions[0] within the file being edited,
making it easy to test things in very small increments. The evaluations
occur in the same image as a REPL buffer (like irb) within the editor.
I would like something similar for Ruby, but I haven't been able to
find anything. This seems like the sort of functionality that would be
in most Ruby-specific IDEs, but it doesn't appear to be. It also seems
like the sort of thing someone would have written in to an Emacs mode,
but I haven't found one.

[0]In Lisp, a function definition, class definition, etc... is a single
expression, with subexpressions. I'm not quite sure how the terminology
translates to Ruby, but I want to be able to evaluate everything
between def and end.