Skip to content
This repository has been archived by the owner on Nov 11, 2017. It is now read-only.

thoughtbot/what

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED

This plugin is now deprecated. If you would like to dispatch on the MIME type from within a Rails controller you should use the #respond_to method or the mobile_fu plugin.

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 © 2008 Dan Croak, Jared Carroll, and thoughtbot, inc. released under the MIT license

About

Adds boolean instance methods for MIME type checking to Rails

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages