aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/abstract_controller
Commit message (Collapse)AuthorAgeFilesLines
* Remove duplicated url_for code and move methods shared between ActionMailer ↵José Valim2010-01-071-0/+156
| | | | and ActionController up to AbstractController.
* @_formats initialization should be AbstractController::Base.José Valim2010-01-042-6/+5
|
* Expose a _render_partial hook as thhe _render_template one and make use of it.José Valim2009-12-311-5/+9
|
* controller_path is required by ActionView, so move it up to ↵José Valim2009-12-312-1/+172
| | | | AbstractController and refactor AbstractController::Layouts.
* Silence some trivial warnings: shadowed local vars, indentation mismatchesJeremy Kemper2009-12-282-2/+2
|
* Remove ActionView inline logging to ActiveSupport::Notifications and create ↵José Valim2009-12-261-20/+0
| | | | ActionController::Base#log_event, so everything can be logged within one listener. Also expose log_process_action as a hook for different modules to include their own information during the action processing. This allow ActiveRecord to hook and any other ORM. Finally, this commit changes 'Processing' and 'Rendering' in logs to 'Processed' and 'Rendered' because at the point it's logged, everying already happened.
* Make ActionMailer::Base inherit from AbstractController::BaseJosé Valim2009-12-222-32/+4
| | | | Signed-off-by: Yehuda Katz <wycats@Yehuda-Katz.local>
* Dont introspect inline templates for the logger and cleanup a few styling issuesDavid Heinemeier Hansson2009-12-211-5/+4
|
* AC::Head now doesn't have an unfulfilled Rendering dependency, and instead ↵Yehuda Katz2009-12-202-1/+1
| | | | works just fine standalone (which means that ConditionalGet also doesn't have a Rendering dependency)
* Rename the RenderingController module to just plain RenderingDavid Heinemeier Hansson2009-12-203-4/+4
|
* Fix response_body warning in ACJoshua Peek2009-12-141-0/+2
|
* rendering controller needs baseJoshua Peek2009-12-121-0/+1
|
* Relocate AbstractController exceptions into their proper parent modulesJoshua Peek2009-12-123-19/+17
|
* Reorganize autoloads:Carlhuda2009-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | * A new module (ActiveSupport::Autoload) is provide that extends autoloading with new behavior. * All autoloads in modules that have extended ActiveSupport::Autoload will be eagerly required in threadsafe environments * Autoloads can optionally leave off the path if the path is the same as full_constant_name.underscore * It is possible to specify that a group of autoloads live under an additional path. For instance, all of ActionDispatch's middlewares are ActionDispatch::MiddlewareName, but they live under "action_dispatch/middlewares/middleware_name" * It is possible to specify that a group of autoloads are all found at the same path. For instance, a number of exceptions might all be declared there. * One consequence of this is that testing-related constants are not autoloaded. To get the testing helpers for a given component, require "component_name/test_case". For instance, "action_controller/test_case". * test_help.rb, which is automatically required by a Rails application's test helper, requires the test_case.rb for all active components, so this change will not be disruptive in existing or new applications.
* Revert "Revert "Eliminate warning with layout is unset""Jeremy Kemper2009-11-101-1/+1
| | | | This reverts commit d8fd0499bfd6edc676ff3fbffc327656f6d5c320.
* Revert "Eliminate warning with layout is unset"Jeremy Kemper2009-11-101-1/+1
| | | | This reverts commit 1fcf32f8fef8fb5a63a66edacf556a107d12c049.
* Eliminate warning with layout is unsetJeremy Kemper2009-11-101-1/+1
|
* Revert "Eliminate warning with layout is unset"Jeremy Kemper2009-11-101-1/+1
| | | | This reverts commit 90be80361f26d717f9842170315dd8659f35429d.
* Eliminate warning by initializing nil formatsJeremy Kemper2009-11-101-0/+6
|
* Eliminate warning with layout is unsetJeremy Kemper2009-11-101-1/+1
|
* If class doesn't have a name, there's no implied layout name, so don't set ↵Jeremy Kemper2009-11-051-10/+12
| | | | up a _layout method
* Extracted localized_cache.rb from ActionController, added it to ↵José Valim2009-11-011-0/+49
| | | | AbstractController and made ActionMailer use it.
* Add some basic render_test to AbstractController.José Valim2009-11-012-8/+1
|
* Improve AbstractController layouts coverage.José Valim2009-11-011-3/+6
|
* Move all render and layout pieces required in ActionMailer from ↵José Valim2009-11-012-0/+28
| | | | ActionController to AbstractController.
* Remove ActionMailer helpers and rely on AbstractController one.José Valim2009-11-011-11/+70
|
* Refactor ActionMailer layout and remove legacy one.José Valim2009-11-011-0/+20
|
* Renamed Orchestra to Notifications once again [#3321 state:resolved]José Valim2009-10-151-1/+1
|
* Unify benchmark APIs.José Valim2009-10-151-16/+2
|
* Update Orchestra instrumentations and move part of logging to Orchestra.José Valim2009-10-151-6/+6
|
* Revert "Rename Orchestra to Notifications [#3321 state:resolved]"José Valim2009-10-151-1/+1
| | | | This reverts commit 8cbf825425dc8ad3770881ea4e100b9023c69ce2.
* Rename Orchestra to Notifications [#3321 state:resolved]Joshua Peek2009-10-141-1/+1
|
* Callbacks, DeprecatedCallbacks = NewCallbacks, CallbacksJoshua Peek2009-10-121-5/+3
|
* Use "run_callbacks :foo" since it is the public api for callbacks [#3329Joshua Peek2009-10-121-1/+1
| | | | state:resolved]
* Use NewCallbacks on ActionDispatch::Callbacks.José Valim2009-09-201-1/+2
|
* Add Orchestra instrumentation to fragment and page caching.José Valim2009-09-202-46/+23
|
* Instrument process_action, render and sql.José Valim2009-09-201-4/+7
|
* Forward all methods to delayed logJoshua Peek2009-09-161-6/+8
|
* Fix callbacks on ActionPack.José Valim2009-09-081-1/+1
| | | | Signed-off-by: Yehuda Katz <wycats@gmail.com>
* Refactor ActionController to use find_template and template_exists?Yehuda Katz + Carl Lerche2009-09-032-6/+10
|
* Extract finding the template in AC to it's own methodYehuda Katz + Carl Lerche2009-09-031-3/+5
|
* Have AbstractController::Logger#process_action return super's valueCarl Lerche2009-08-261-1/+3
|
* Create new ActionController::Middleware class that will work as a normal ↵Yehuda Katz2009-08-261-1/+0
| | | | | | Rack middleware. * This initial implementation is a bit hackish, but it uses a normal middleware API so it's future-proof when we improve the internals.
* Add a TODO so we remember to fix partial layoutsYehuda Katz + Carl Lerche2009-08-251-0/+3
|
* Caches and cache clearing seems to actually work, but the actual ↵Yehuda Katz2009-08-152-7/+23
| | | | architecture is kind of messy. Next: CLEAN UP.
* More perf work:Yehuda Katz2009-08-111-17/+32
| | | | | | | | | | | | | | * Move #set_cookie and #delete_cookie inline to optimize. These optimizations should almost certainly be sent back upstream to Rack. The optimization involves using an ivar for cookies instead of indexing into the headers each time. * Was able to use a bare Hash for headers now that cookies have their own joining semantics (some code assumed that the raw cookies were an Array). * Cache blankness of body on body= * Improve expand_cache_key for Arrays of a single element (common in our case) * Use a simple layout condition check unless conditions are used * Cache visible actions * Lazily load the UrlRewriter * Make etag an ivar that is set on prepare!
* Add some more caching to the lookupYehuda Katz2009-08-111-4/+18
|
* Experimental: Improve performance of ActionView by preventing method cache ↵Yehuda Katz2009-08-091-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | flushing due to runtime Kernel#extend: * The helper module adds a new _helper_serial property onto AbstractController subclasses * When #helper is used to add helpers to a class, the serial number is updated * An ActionView subclass is created and cached based on this serial number. * That subclass includes the helper module from the controller * Subsequent requests using the same controller with the same serial will result in reusing that subclass, rather than being forced to take an action (like include or extend) that will result in a global method cache flush on MRI and a flush of the entire AV class' cache on JRuby. * For now, this optimization is not applied to the RJS helpers, which results in a global method cache flush in MRI and a flush of the JavaScriptGenerator class in JRuby only when using RJS. * Since the effects are limited to using RJS, and would only affect JavaScriptGenerator in JRuby (as opposed to the entire view object), it seems worthwhile to apply this now. * This resulted in a significant performance improvement. I will have benchmarks in the next day or two that show the performance impact of the last several commits. * There is a small chance this could break existing code (although I'm not sure how). If that happens, please report it immediately.
* First pass at making partial rendering an Object. More cleanup to come.Yehuda Katz2009-08-081-8/+10
|
* Rename find_by_parts and find_by_parts? to find and exists?Yehuda Katz2009-08-072-3/+3
|