June 2009

June 11, 2009

6:00 - 7:30 PM


David W. Body / Big Creek Software, LLC


Rack & Metal

One of the most significant changes in Rails 2.3 was Rack integration. Rack integration not only simplifies deployment, but it also enables Rails Metal, which provides a simple way to add super-fast actions to a Rails application. Yet because these change are largely internal, many Rails developers may not even be aware of Rack or Metal — even after upgrading to Rails 2.3.

But Rack isn't just for Rails. Other Ruby web frameworks also include Rack adapters, including Camping, Merb, Sinatra, and Ramaze, to name a few. Web servers providing Rack handlers include Mongrel, WEBrick, Thin, and Phusion Passenger, to name a few. In fact Phusion Passenger, which is often referred to as "mod_rails" could more aptly be named "mod_rack."

Rack is a minimal API for connecting web servers with Ruby web frameworks. How minimal? Here is a simple Rack application:

class HelloWorld
  def call(env)
    [200, {"Content-Type" => "text/plain"}, ["Hello world!"]]

David will introduce Rack and explain briefly how it works. We will then look at how Rails and other frameworks use Rack, and how developers can take advantage of Rack.

Topics that will be covered:

  • Building and running a simple Rack application
  • Rack integration in Rails, including script/server and rake middleware
  • Rack middleware
  • Rails Metal
  • and more...

Meeting Location

Coldwell Banker / Mid-America Group Realtors
8825 Northpark Court
Johnston, Iowa

Just north of I35/80 at the 86th Street exit.

GPS coordinates: N 41° 39.368' W 93° 44.378'

Wi-fi Internet access is available.

Click here for a map.

Door Prize

We'll give away the winner's choice of the following JetBrains products:

  • RubyMine Personal License
  • IntelliJ IDEA Personal License
  • ReSharper Personal License
  • TeamCity Build Agent
  • DotTrace

Dinner After the Meeting

If you can, please plan to join us for dinner at a local restaurant after the meeting.