Module: Merb::ResponderMixin::ClassMethods

Defined in:
lib/merb-core/controller/mixins/responder.rb

Instance Method Summary collapse

Instance Method Details

#clear_providesObject

Clear the list of provides.

Returns

Array

An empty Array.

:api: public


179
180
181
# File 'lib/merb-core/controller/mixins/responder.rb', line 179

def clear_provides
  self.class_provided_formats.clear
end

#does_not_provide(*formats) ⇒ Object

This class should not provide any of this list of formats, despite any. other definitions previously or in superclasses.

Parameters

*formats<Symbol>

Registered mime-types.

Returns

Array

List of formats that remain after removing the ones not to provide.

:api: public


169
170
171
# File 'lib/merb-core/controller/mixins/responder.rb', line 169

def does_not_provide(*formats)
  self.class_provided_formats -= formats
end

#only_provides(*formats) ⇒ Object

This class should only provide the formats listed here, despite any other definitions previously or in superclasses.

Parameters

*formats<Symbol>

Registered mime-types.

Returns

Array

List of formats passed in.

:api: public


153
154
155
156
# File 'lib/merb-core/controller/mixins/responder.rb', line 153

def only_provides(*formats)
  clear_provides
  provides(*formats)
end

#provides(*formats) ⇒ Object

Adds symbols representing formats to the controller's default list of provided_formats. These will apply to every action in the controller, unless modified in the action. If the last argument is a Hash or an Array, these are regarded as arguments to pass to the to_<mime_type> method as needed.

Parameters

*formats<Symbol>

A list of mime-types that the controller should provide.

Returns

Array

List of formats passed in.

Examples

provides :html, :xml

:api: public


139
140
141
# File 'lib/merb-core/controller/mixins/responder.rb', line 139

def provides(*formats)
  self.class_provided_formats |= formats
end

#reset_providesObject

Reset the list of provides to include only :html.

Returns

Array

[:html].

:api: public


189
190
191
# File 'lib/merb-core/controller/mixins/responder.rb', line 189

def reset_provides
  only_provides(:html)
end