thoughtbot / what
- Source
- Commits
- Network (0)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
jcarroll (author)
Fri Feb 22 12:07:16 -0800 2008
what /
| name | age | message | |
|---|---|---|---|
| |
MIT-LICENSE | ||
| |
README | ||
| |
Rakefile | ||
| |
init.rb | ||
| |
install.rb | ||
| |
lib/ | ||
| |
tasks/ | ||
| |
test/ | ||
| |
uninstall.rb |
README
What
====
What provides boolean query methods on Mime::Type instances
for the native Rails mime-types. You now have these methods
available from your controllers:
request.format.atom?
request.format.css?
request.format.csv?
request.format.html?
request.format.ics?
request.format.js?
request.format.json?
request.format.multipart_form?
request.format.rss?
request.format.text?
request.format.url_encoded_form?
request.format.xml?
request.format.yaml?
... and any custom mime types that you add in any environment specific config files.
Examples
========
# config/initializers/mime_types.rb
Mime::Type.register 'text/iphone', :iphone
# app/controllers/what_controller.rb
class WhatController < ApplicationController
before_filter :csv?, :iphone?
def index
render :text => 'index'
end
protected
def csv?
if request.format.csv?
redirect_to login_url
end
end
def iphone?
if request.format.iphone?
redirect_to login_url
end
end
end
What is especially powerful in combination with When.
# app/controllers/what_controller.rb
class WhatController < ApplicationController
before_filter :login, :if => :csv?
before_filter :login, :if => lambda { |controller| controller.request.format.iphone? }
def index
render :text => 'index'
end
protected
def csv?
request.format.csv?
end
def login
redirect_to login_url
end
end
Copyright (c) 2008 Dan Croak, Jared Carroll, and thoughtbot, inc. released under the MIT license

