If memory serves, the base language Ruby has been around for awhile. I first looked at it around 6 years ago. I've been watching the rails thing for about a year now, I'll probably stick my toe in before the end of the year.
I still get a big laugh out of the 'Dynamically-typed' spin... The term has always been 'loosly-typed' or 'strongly-typed'. I love the way they changed that to make it sound like it was an advantage. Now, java becomes a 'static-typed' language which makes it sound old and outdated.
I have seen so many of these come an go, I remember back in the 80's I spent a lot of hours learning Prolog. It was going to be the next big thing, the Japanese were working on a chip that ran on Prolog.
I have become so used to source-level debugging now since we re-engineered our development tool chain (Eclipse/MyEclipse). Can I get a robust IDE with SLD in Ruby?
Roma is nice, but still very young, it has IoC via Spring (I am not crazy about IoC as it hides alot from the developer and makes apps more difficult to debug in some cases). Basically, your app is a collection of POJO's. The view and persistence are handled by the framework.
Roma can generate the 'view' for the app several ways, Currently, Echo2 is supported for web app generation. Echo2 is a really nifty web development environment itself, it has a great collection of RIA widgets and good AJAX support. No HTML/CSS/Javascript programming required or used. Everything is coded in pure Java (similar to Google's web toolkit). They have a very nice Eclipse WYWISYG interface building tool (EchoStudio).
The demo's are worth taking a look at:
http://www.nextapp.com/platform/echo2/echo/
I don't know if you've been playing with any of the Java EE 5 stuff yet. Java 1.5/5.0 has added some very cool new language features that are used a lot in the new EE framework. Generics (no more casting errors!), Enhanced Looping (like loosly typed languages), Autoboxing of primitives (no more Primitive->Object fluff), variable arguments for methods, and very cool Annotation extensions (you can define your own custom Annotations similar to classes!) that let you catch complex framework dependencies at compile time or give much more traceable errors at runtime.
For example, web services are way easier now.