aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/rendering.rb
Commit message (Collapse)AuthorAgeFilesLines
* Delete needless `require 'active_support/deprecation'`yui-knk2015-10-201-1/+0
| | | | | When `require 'active_support/rails'`, 'active_support/deprecation' is automatically loaded.
* Use `Mime[:foo]` instead of `Mime::Type[:FOO]` for back compatJeremy Daer2015-10-061-1/+1
| | | | | | | | | | | | | | | | | Rails 4.x and earlier didn't support `Mime::Type[:FOO]`, so libraries that support multiple Rails versions would've had to feature-detect whether to use `Mime::Type[:FOO]` or `Mime::FOO`. `Mime[:foo]` has been around for ages to look up registered MIME types by symbol / extension, though, so libraries and plugins can safely switch to that without breaking backward- or forward-compatibility. Note: `Mime::ALL` isn't a real MIME type and isn't registered for lookup by type or extension, so it's not available as `Mime[:all]`. We use it internally as a wildcard for `respond_to` negotiation. If you use this internal constant, continue to reference it with `Mime::ALL`. Ref. efc6dd550ee49e7e443f9d72785caa0f240def53
* stop calling deprecated methodsAaron Patterson2015-09-211-1/+1
| | | | | We should be asking the mime type method for the mime objects rather than via const lookup
* eagerly allocate the renderer objectAaron Patterson2015-09-141-9/+5
| | | | | this means the reader doesn't need to lock, but does have the added cost of a new object created for every controller
* initialize `@renderer` to avoid ivar warningsAaron Patterson2015-09-141-1/+8
|
* add a lock when allocating the rendererAaron Patterson2015-09-141-1/+5
| | | | | The controller class is shared among threads, so we need to lock when allocating the Renderer.
* push content_type assigment in to metalAaron Patterson2015-09-081-4/+6
| | | | | everything above metal really doesn't care about setting the content type, so lets rearrange these methods to be in metal.
* avoid useless string allocationsAaron Patterson2015-09-081-1/+1
| | | | | | | _set_content_type only does something when there is a request object, otherwise the return value of _get_content_type is always ignored. This commit moves everything to the module that has access to the request object so we'll never to_s unless there is a reason
* only call self.content_type= when there is a responseAaron Patterson2015-08-261-3/+5
| | | | | Apparently the AbstractController (whatever "abstract" means) is expected to work without a request and response.
* Pull `plain` content type handling up to `render`Aaron Patterson2015-08-261-6/+2
| | | | | `render` is the only possible source for the `plain` option. Pulling the conditional up to the `render` method removes far away conditionals
* stop passing the options hash to `_process_format`Aaron Patterson2015-08-261-2/+2
| | | | | | We don't need to pass the full hash just to pull one value out. It's better to just pass the value that the method needs to know about so that we can abstract it away from "options"
* Add deprecation warning for `render :text`Prem Sichanugrist2015-07-171-0/+14
| | | | | | We've started on discouraging the usage of `render :text` in #12374. This is a follow-up commit to make sure that we print out the deprecation warning.
* Deprecate `:nothing` option for render methodMehmet Emin İNAÇ2015-05-281-0/+1
| | | | `head` method works similar to `render` method with `:nothing` option
* Add ActionController::Base.renderbrainopia2015-01-221-0/+3
|
* Add ActionController::Rendererbrainopia2015-01-221-0/+8
| | | | Render arbitrary templates outside of controller actions
* Removed single space padding from empty response body.Godfrey Chan2014-07-101-6/+2
| | | | | | | | | | | | `render nothing: true` or rendering a `nil` body no longer add a single space to the response body. The old behavior was added as a workaround for a bug in an early version of Safari, where the HTTP headers are not returned correctly if the response body has a 0-length. This is been fixed since and the workaround is no longer necessary. Use `render body: ' '` if the old behavior is desired.
* Do note remove `Content-Type` when `render :body`Prem Sichanugrist2014-03-051-3/+1
| | | | | | | | | | | | | `render :body` should just not set the `Content-Type` header. By removing the header, it breaks the compatibility with other parts. After this commit, `render :body` will returns `text/html` content type, sets by default from `ActionDispatch::Response`, and it will preserve the overridden content type if you override it. Fixes #14197, #14238 This partially reverts commit 3047376870d4a7adc7ff15c3cb4852e073c8f1da.
* Add `#no_content_type` attribute to `AD::Response`Prem Sichanugrist2014-02-181-6/+4
| | | | | Setting this attribute to `true` will remove the content type header from the request. This is use in `render :body` feature.
* Cleanup `ActionController::Rendering`Prem Sichanugrist2014-02-181-11/+27
|
* Introduce `render :html` for render HTML stringPrem Sichanugrist2014-02-181-2/+2
| | | | | | | | | This is an option for to HTML content with a content type of `text/html`. This rendering option calls `ERB::Util.html_escape` internally to escape unsafe HTML string, so you will have to mark your string as html safe if you have any HTML tag in it. Please see #12374 for more detail.
* Introduce `render :plain` for render plain textPrem Sichanugrist2014-02-181-2/+10
| | | | | | | | This is as an option to render content with a content type of `text/plain`. This is the preferred option if you are planning to render a plain text content. Please see #12374 for more detail.
* Introduce `render :body` for render raw contentPrem Sichanugrist2014-02-181-4/+13
| | | | | | | | | | | | This is an option for sending a raw content back to browser. Note that this rendering option will unset the default content type and does not include "Content-Type" header back in the response. You should only use this option if you are expecting the "Content-Type" header to not be set. More information on "Content-Type" header can be found on RFC 2616, section 7.2.1. Please see #12374 for more detail.
* #presence usedAkshay Vishnoi2013-11-141-5/+1
|
* Remove remaining coupling with AV in MimeRespondsJosé Valim2013-09-091-2/+5
|
* Remove BasicRendering and remove template functionality from AbsC::RenderingJosé Valim2013-09-091-2/+6
|
* render_to_string shouldn't play with response_bodySantiago Pastorino2013-09-041-4/+5
|
* Move BasicRendering to AbstractControllerŁukasz Strzałkowski2013-09-031-28/+0
|
* Make Mime::TEXT default format in AbstractControllerŁukasz Strzałkowski2013-09-031-4/+0
|
* Fix formatting of error messageŁukasz Strzałkowski2013-08-251-2/+1
| | | | Make it oneliner
* Change description of BasicRendering#renderŁukasz Strzałkowski2013-08-251-1/+1
| | | | | | We're not dealing with templates here [ci skip]
* Simplify if statementsŁukasz Strzałkowski2013-08-251-6/+4
|
* Describe BasicRendering shortlyŁukasz Strzałkowski2013-08-251-0/+4
| | | | [ci skip]
* Extend basic rendering, test it in railtiesŁukasz Strzałkowski2013-08-251-3/+16
|
* Fist stab on basic renderingŁukasz Strzałkowski2013-08-251-0/+18
|
* Add #rendered_format method to controllersŁukasz Strzałkowski2013-08-251-4/+4
|
* Revert "Move setting content_type to AV"Łukasz Strzałkowski2013-08-251-0/+1
| | | | This reverts commit f4d602aff6cec80304b131ecfcc2676d0304f0cc.
* Move setting content_type to AVŁukasz Strzałkowski2013-08-251-1/+0
|
* Hook up AV::Rendering on AV intializationŁukasz Strzałkowski2013-08-251-2/+0
|
* Move rendering from AP to AVŁukasz Strzałkowski2013-08-251-1/+1
|
* Return nil for Mime::NullType#refAndrew White2013-04-101-1/+1
|
* Reverts rendering behavior when format is unknownGrzegorz Świrski2013-04-101-1/+1
| | | | | | | | | If a request has unknown format (eg. /foo.bar), the renderer fallbacks to default format. This patch reverts Rails 3.2 behavior after c2267db commit. Fixes issue #9654.
* format lookup for partials is derived from the format in which the template ↵Santiago Pastorino2012-02-221-1/+1
| | | | | | is being rendered Closes #5025 part 2
* Move render_to_body logic to return a spaced string to AC::RenderingCarlos Antonio da Silva2012-01-171-0/+4
| | | | | | | | | | | This seems to be required only when calling render :partial with an empty collection from a controller. This call happens to return no content, letting the response body empty, which means to Rails that it should go on and try to find a template to render based on the current action name, thus failing hard. Although tests keep all green, we need to check a better way to fix this.
* Refactor render nothing/text => nil logic, and move to right placeCarlos Antonio da Silva2012-01-171-0/+4
| | | | | Options :nothing and :text => nil should be handled by ActionController::Rendering instead.
* Do not inherit from Rack::Response, remove a shit-ton of unused code.José Valim2011-04-191-0/+11
|
* Use Mime::Type references.José Valim2011-02-081-1/+1
|
* Fix indentationSantiago Pastorino2010-11-201-24/+23
|
* Rendering doesn't need RackDelegationwycats2010-10-101-1/+0
|
* Ensure controller filters are executed before stuff starts to happen.José Valim2010-03-131-1/+1
|
* Finish cleaning up rendering stack from views and move assigns evaluation to ↵José Valim2010-03-121-10/+11
| | | | controller (so plugins and/or controllers can overwrite just one method).