resource_controller 0.1.6: API Enhancements
It's been a while since the last r_c release; I have been busy. I'm still busy, so this isn't a huge release, but these changes have been in SVN for a while, so I thought I'd share them.
There was a cool thread over at RefactorMyCode.com where we discussed some potential API improvements for r_c (it's still open - come share your ideas!). Here's what made it in to this release...
respond_to
respond_to now accepts symbols, and has a few extra names. All of these examples have the same effect...
create.response :html do |format|
format.js
end
create.respond_to :html, :js
create.responds_to do |format|
format.html
format.js
end
create.wants.html
create.wants.js
Callbacks Accept Symbols
I've always liked that the filters, and callbacks in rails accept the name of a method or a block. Now, all the callbacks in resource_controller accept them both, too!
create.before { @post.author = current_user }
create.before :set_user
private
def set_user
@post.author = current_user
end
Configuration-Style Syntax for model_name, route_name, and object_name
Now, rather than overriding a method to provide alternate model, object or route names, you can set them through a configuration-style interface (though, you can still override the methods if you prefer).
model_name :post_tag
route_name :tag
object_name :tag
Note: resource_name is gone as of this release. If you were overriding that in your controllers, you'll have to use a combination of the other helpers to get the same effect.
LOTS More Helper Methods Exposed
If you've had a problem with r_c helper methods not being exposed in your views, it should be solved now. Just about every possible r_c method is now available in your views!
Get It!
1.2.3+ Compatible
svn export http://svn.jamesgolick.com/resource_controller/tags/stable vendor/plugins/resource_controller
Edge/Rails 2.0 Compatible
svn export http://svn.jamesgolick.com/resource_controller/tags/edge_compatible/stable vendor/plugins/resource_controller
If you're looking for older versions, try browsing http://svn.jamesgolick.com/resource_controller/tags.
For more info, see the resource_controller section of my blog.
Come join the discussion on the mailing list.