# module ActionController::MimeResponds::ClassMethods

### Public Instance Methods

clear_respond_to() click to toggle source

Clear all mime types in `respond_to`.

    # File lib/action_controller/metal/mime_responds.rb, line 60
    def clear_respond_to
      self.mimes_for_respond_to = ActiveSupport::OrderedHash.new.freeze
    end

respond_to(*mimes) click to toggle source

Defines mime types that are rendered by default when invoking `respond_with`.

Examples:

    respond_to :html, :xml, :json

Specifies that all actions in the controller respond to requests for `:html`, `:xml` and `:json`.

To specify on per-action basis, use `:only` and `:except` with an array of actions or a single action:

    respond_to :html
    respond_to :xml, :json, :except => [ :edit ]

This specifies that all actions respond to `:html` and all actions except `:edit` respond to `:xml` and `:json`.

    respond_to :json, :only => :create

This specifies that the `:create` action and no other responds to `:json`.

    # File lib/action_controller/metal/mime_responds.rb, line 42
    def respond_to(*mimes)
      options = mimes.extract_options!

      only_actions   = Array(options.delete(:only)).map(&:to_s)
      except_actions = Array(options.delete(:except)).map(&:to_s)

      new = mimes_for_respond_to.dup
      mimes.each do |mime|
        mime = mime.to_sym
        new[mime]          = {}
        new[mime][:only]   = only_actions   unless only_actions.empty?
        new[mime][:except] = except_actions unless except_actions.empty?
      end
      self.mimes_for_respond_to = new.freeze
    end