Hm, wasn't there the Responder concept in Rails for doing that? Quick Google brings up http://josephhsu.com/post/32746478033/rails-responders-api-versioning