response_for_rc

if you’re using resources_controller and response_for, you probably want this!

What is it?

It’s an alternate set of RC actions, written in response_for style.

How to use it?

For Rails 3.0 and newer just add it to your Gemfile:

gem 'response_for_rc'

This will install resources_controller and response_for.

For older versions of rails you’ll need to install the rails2 branch in vendor/plugins:

cd vendor/plugins
git clone git://github.com/ianwhite/response_for_rc.git
cd response_for_rc
git checkout rails2
rmdir -f .git

What else can I do with it?

If you’re writing your own RC actions with responses, refactored in modules, you’ve probably noticed what an ass it is to add the responses (you need to stick it in self.included and add them on the including class, etc, etc).

Recent developments on response_for resources_controller, and now response_for_rc, mean you can now do stuff like this

module MyActions
  extend RcResponseFor::ResponsesModule # <= this baby gives your module the ability to understand response_for
                                        # <= and to add responses to any including controller
  def new
    # your new
  end

  response_for :new do |format|
    # your new response
  end

  def show
    # your show
  end

  response_for :show do |format|
    # your show response
  end

  # and others
end

# later

class FoosController < ApplicationController
  resources_controller_for :foos, :actions => MyActions

  # you get all of the above actions and responses
end

# also works with :only and :except
class BarsController < ApplicationController
  resources_controller_for :bars, :actions => MyActions, :only => [:new]

  # only get new and new response
end

# if you want to set your own actions globally (as the default, look in init.rb to see how)

Requirements

You need resources_controller (gem rc_rails) and response_for (gem response_for_rails). These are installed for you if using bundler.