Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Author Archives: grantmichaels

By grantmichaels / March 23, 2010

IronRuby is an open source Ruby implementation being developed at Microsoft with the .NET CLR in mind. It’s reasonably mature and as well being a regular implementation, it provides the ability to use Ruby directly within the Web browser through Microsoft’s Silverlight Flash-esque framework. Windows seems to get a bad rap in the Ruby community so we thought we’d turn the spotlight on some of the cool things IronRuby’s doing nowadays.

Being based on the .NET CLR presents some unique challenges for IronRuby. So far IronRuby passes 86% of the RubySpec (compared to a 98% pass rate for the MRI on Windows) but this number is creeping up every week. Read More

By grantmichaels / March 2, 2010

jruby1JRuby is undoubtedly the most mature of the alternative Ruby implementations. Supporting Ruby 1.8.7 and 1.9.1 (mostly!) and JIT compilation, JRuby is already in use in mission critical Ruby apps and runs scarily fast on the JVM. In this interview with JRuby core member, Charles Nutter, we dig deep into what makes JRuby tick.

A great deal of conversation on IRC, as well as quite a number of lengthly emails, were eventually corralled into the following Q/A session between Charles Nutter and myself.

JRuby and Rails are the ideal solution for building new enterprise web applications. With JRuby’s ability to seamlessly integrate with anything Java, and Rails’ strong REST principles, these new applications will be 100% WOA compliant themselves, and also may trivially extend WOA compliance to the underlying Java systems. Read More

By grantmichaels / December 4, 2009

stack-o-pancakesMuch of Merb’s momentum has been merged into Rails 3, but one-time Engine Yard developer Daniel Neighman has found himself moving in a new direction, inspired by what they had once achieved with Merb Slices. Since then, he’s taken fully-mountable Rack applications to the extreme in creating Pancake, a tool & framework to let you stack and loosely couple Rack-based webapps.

Daniel states that web “applications should be self contained rack applications, able to function as gems, able to pick up an entire application and mount it inside another, able to inherit the whole application and take care of the low level plumbing,” and also “let you create your own type of application when required.” Pancake achieves this by building upon some excellent existing projects, including Tilt for templating, Usher for routing, and Hashie to extend the features of Ruby’s hashes and give them additional object-like functionality. Read More

By grantmichaels / December 2, 2009

Screen shot 2009-12-02 at 13.25.25Rango is a Rack-based lightweight Web framework by Jakub Šťastný that has seemingly borrowed a little bit less from past Ruby frameworks and a bit more from Django. Based on the 1.9 version of Ruby, Rango works with rvm, Rip, Usher, Warden, and both the new Gem bundler and the venerable DataMapper by default.

Philosophically, “Rango is attempting to be as agnostic as possible, valuing simple, readable code.  It intends to encourage explicit code rather than implicit magic.”  Modularity is a top priority. In many ways it feels like Ramaze, but with a newer “era of Rack” foundation. Read More

By grantmichaels / November 11, 2009

torquebox2In the past two years we’ve seen a number of changes in the world of Ruby webapp deployment, but have you heard of Torquebox? Built upon the Red Hat Inc. JBoss middleware, Torquebox is an enterprise-grade application server that provides scale-oriented services to your Ruby webapps, including turn-key clustering. With its latest release, Torquebox supports all Rack-based Ruby frameworks.

Torquebox comes with job scheduling and asynchronous task scheduling out of the box (no extra installs necessary), and while I’ve grown fond of RabbitMQ, the ease of using the built-in JMS (Java Message Service) messaging is appealing, particularly if you’re likely to deploy within a Java dominant environment. Read More