RadRails, part of the Aptana IDE, is now available in version 1.0. The popular Rails development tool has been around for some time, but this latest version adds some useful new features for Ruby, as well as Ruby on Rails developers. A full comparison of features between RadRails, Netbeans and CodeGear's 3rdRail is available as well, and shows RadRails with more support for refactoring and profiling. Another RadRails feature is the Rails Shell, which allow to issue Rails commands from inside the Eclipse IDE - this is complete with AutoComplete for arguments for the commands and more. (A screencast showing the features of the Rails Shell is available.).

We talked to Christopher Williams of Aptana about the new release. Christopher was hired by Aptana 2007 to continue his work on the Ruby Development Tools (RDT) which are the base for RadRails.

RadRails 1.0 supports profiling Ruby code, complete with a GUI showing of the runtimes of methods and a call graph. Christopher explains how this is implemented:

The Profiler is basically a wrapper around the ruby-prof gem. We wrap execution of ruby scripts through the ruby-prof bin script and direct it's output to a temporary file. Then when execution is finished we grab the output, parse it and generate the Call Graph and Hot Spots views. This is not yet available for JRuby as there is not yet an equivalent ruby-prof gem with Java in place of the native C code. If that were created, we'd support that right away.

In terms of what's ahead for that functionality: We may work on a modified ruby-prof gem that would act in a manner similar to the ruby-debug-ide gem for ruby-debug - basically allowing a remote connection to the profiler and sending profiling related commands in real-time over a socket (so we could take snapshots, instead of just grabbing output when the app finishes). Or maybe creating that JRuby compatible ruby-prof. It really depends on what our users are looking for. It's a brand new feature so we're just starting to get requests for enhancements.

RDT has long supported debugging Ruby code in the Eclipse debugger GUI, complete with the faster ruby-debug support. RadRails also ships with jruby-debug, a faster implementation of the JRuby debugging support:

Yes, with RadRails 1.0 we now support the JRuby version of the ruby-debug gem - so there's a fast JRuby debugging option now. We actually pre-install it into the JRuby we ship.

The RadRails 1.0 feature list includes the name "Rubinius" as supported Ruby interpreter. Christopher explains the state of the support right now:

At this point it's pretty much limited to using Rubinius as the interpreter for launching Ruby processes. As Rubinius grows more powerful it'll be more useful to try out gems and eventually Rails with it. There's no real Rubinius specific features at this point (though really there aren't any JRuby or Std Ruby specific features either. We try to support each interpreter as fully as the next. With JRuby and Rubinius it's usually a matter of waiting for a new gem or updated code to be able to enable more functionality).

If a large number of users start trying out Rubinius and start telling us they miss the debugger, we could certainly work to integrate with their debugger. When we created the debugger for Ruby using ruby-debug we worked with Kent Sibilev and Martin Krauskopf (of Sun, for Netbeans) to share our code - which resulted in a set of common libraries for IDEs to integrate with ruby-debug. So there's already a sort of de-facto standard for integrating RDT/RadRails and Netbeans with a debugging backend. It'd be a matter of hooking up Rubinius's debugger to open a socket and read these XML commands in. (If anyone wanted to work on that, please contact me and/or Martin. It'd effectively make the Rubinius debugger work on both Netbeans and RDT/RadRails in one fell swoop).

Despite RadRails's obvious connection to Ruby on Rails development, it might support other frameworks in the future as well:

At this point we haven't had any major requests for other frameworks. Obviously we're focused on Rails, but under the hood we have a fully functional Ruby IDE (built with RDT). If a framework become very popular and users voiced their requests for support of it, then we'd certainly investigate.

On a related note, a number of users have been using Brad Wilson's HAML and SASS editors. Unfortunately recent releases have broken it's integration with RDT, and Brad hasn't had time to keep it up to date. We're working with him to fold his editors into RadRails itself so that we can maintain them (and possibly improve upon them).

When I created the integration between EclipseMonkey and JRuby I was hoping that we'd get a lot of people who took a look and say "Hey wow, I can script the IDE in Ruby now!". But so far the community hasn't really embraced it to the degree I'd expected. [..] [I saw] that for an end-user they could now iteratively develop new features without a compile step and no need to really download the Eclipse SDK and check out all our source code and then go puzzle over it forever. You just write Ruby/JRuby code, run the script, edit it, re-run and so on. And with the DOMs we can provide a smaller simpler API to play with, that will look and feel like a Ruby API.

InfoQ Weekly Newsletter

Join a community of over 250 K senior developers by signing up for our newsletter. If you are based in the EEA, please contact us so we can provide you with the protections afforded to you under EEA protection laws.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.