aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
...
| * Got overhead down from 127 to 85. All tests pass:Yehuda Katz2009-08-114-40/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Tentatively replaced HeaderHash with SimpleHeaderHash, which does not preserve case but does handle converting Arrays to Strings in to_hash. This requires further discussion. * Moved default_charset to ActionDispatch::Response to avoid having to hop over to ActionController. Ideally, this would be a constant on AD::Response, but some tests expect to be able to change it dynamically and I didn't want to change them yet. * Completely override #initialize from Rack::Response. Previously, it was creating a HeaderHash, and then we were creating an entirely new one. There is no way to call super without incurring the overhead of creating a HeaderHash. * Override #write from Rack::Response. Its implementation tracks Content-Length, and doing so adds additional overhead that could be mooted if other middleware changes the body. It is more efficiently done at the top-level server. * Change sending_file to an instance_variable instead of header inspection. In general, if a state is important, it should be set as a property of the response not reconstructed later. * Set the Etag to @body instead of .body. AS::Cache.expand_cache_key handles Arrays fine, and it's more efficient to let it handle the body parts, since it is not forced to create a joined String. * If we detect the default cache control case, just set it, rather than setting the constituent parts and then running the normal (expensive) code to generate the string.
| * Tentatively accept the ":as or :object, but not both" solutionYehuda Katz2009-08-112-23/+22
| |
| * Make large_collection 1,000 partialsYehuda Katz2009-08-111-10/+10
| |
| * Further experimentation. Was able to cut the cost of rendering 100 partials ↵Yehuda Katz2009-08-114-20/+65
| | | | | | | | | | | | | | | | | | | | in a collection in half. To discuss: What are the desired semantics (if any) for layouts in a collection. There are no tests for it at present, and I'm not sure if it's needed at all. Deprecated on this branch: `object` pointing at the current object in partials. You can still use the partial name, or use :as to achieve the same thing. This is obviously up for discussion.
| * Add a few more benchesYehuda Katz2009-08-111-0/+12
| |
| * Add some more caching to the lookupYehuda Katz2009-08-113-18/+38
| |
| * This change causes some failing tests, but it should be possible to make ↵Yehuda Katz2009-08-113-15/+20
| | | | | | | | them pass with minimal performance impact.
* | Ensure collections are not treated as nested resources.José Valim2009-08-134-18/+36
|/
* Introduce grouped_collection_select helper.codeape2009-08-093-0/+103
| | | | | | [#1249 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Deprecate router generation "best match" sortingJoshua Peek2009-08-095-13/+39
|
* Make sure link_to generates the form with the specified :href if any [#2254 ↵Max Lapshin2009-08-102-1/+9
| | | | | | state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Fixed to_label_tag to accept id attribute without changing for attribute ↵Matt Duncan2009-08-092-0/+17
| | | | | | [#2660 status:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Added both the documentation and a test case for the collection path name ↵Hugo Peixoto2009-08-092-2/+47
| | | | | | | | customization feature. [#1218 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* path_names could be used to customize collection actions tooBence Nagy2009-08-091-1/+4
| | | | Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix that RedCloth shouldn't be required to run testsJeremy Kemper2009-08-091-12/+18
|
* Remove unused routeset method routes_for_controller_and_action in favour for ↵Gabe da Silveira2009-08-091-7/+0
| | | | | | routes_for [#3023 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Allow to configure trusted proxies via ↵Felipe Talavera2009-08-093-2/+32
| | | | | | ActionController::Base.trusted_proxies [#2126 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Support passing Redcloth options via textilize helper [#2973 state:resolved]rizwanreza2009-08-092-3/+28
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Make http digest work with different server/browser combinationsJosé Valim2009-08-092-7/+31
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Make bench harness produce output that is easier to compareYehuda Katz2009-08-091-11/+21
|
* Updates to benchmark harness.Yehuda Katz2009-08-091-2/+23
|
* Experimental: Improve performance of ActionView by preventing method cache ↵Yehuda Katz2009-08-092-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Cache controller_path on the AV instance to avoid needing to make additional ↵Yehuda Katz2009-08-091-1/+3
| | | | calls back into the controller for each attempt (this was done because these calls were adding up significantly in partial rendering and showing up on profiles)
* Use response_body rather than performed?Yehuda Katz2009-08-092-2/+2
|
* Rendering a template from ActionView will default to looking for partials ↵Yehuda Katz2009-08-093-2/+5
| | | | | | | | | only in the current mime type. * The old behavior was tested only as a side-effect of a different test--the original tests remain; a new template in the XML mime was added. * If you are relying on the current behavior and object to this change, please participate in http://groups.google.com/group/rubyonrails-core/browse_thread/thread/6ef25f3c108389bd
* Cache some more things to improve partial perfYehuda Katz2009-08-092-5/+9
|
* Went from 25% slower partials (vs. 2.3) to 10% faster. More to come.Yehuda Katz2009-08-093-10/+23
|
* Support a warmup for JRubyYehuda Katz2009-08-091-7/+6
|
* Update minimal.rb to benchmark partialsYehuda Katz2009-08-096-5/+50
|
* Clean up partial object some more; replace passing around a block to a ↵Yehuda Katz2009-08-092-36/+39
| | | | single block ivar
* Clean up initializer and some of the internals of PartialRendererYehuda Katz2009-08-092-49/+45
|
* Ruby 1.9 compat: can't implicitly set instance var using block argJeremy Kemper2009-08-081-2/+2
|
* Merge branch 'patches'Michael Koziarski2009-08-092-1/+30
|\
| * Don't call additional methods on builders passed to the atom_feed helper.Michael Koziarski2009-08-092-1/+30
| | | | | | | | | | | | Additionally, actually test that the atom_feed helper works with :xml as an option. [#1836 state:committed]
* | Add :redirect to the testable RJS statements [#2612 state:resolved]Jon Wood2009-08-092-3/+17
| | | | | | | | | | | | | | Example : assert_select_rjs :redirect, root_path Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* | Fix HTTP basic authentication for long credentials [#2572 state:resolved]Jan Schwenzien2009-08-092-1/+26
|/ | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Update truncate documentation / examples to more clearly demonstrate its ↵Steve St. Martin2009-08-081-8/+10
| | | | | | | | actual behavior [#3016 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Allow content_tag options to take an array [#1741 state:resolved] ↵rizwanreza2009-08-082-9/+20
| | | | | | | | | | [rizwanreza, Nick Quaranto] Example: content_tag('p', "limelight", :class => ["song", "play"]) # => <p class="song play">limelight</p> Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Add test ensuring redirect_to uses the given protocol [#2886]Dan Croak2009-08-081-0/+10
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Allow radio buttons to work with booleans.José Valim2009-08-082-2/+12
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Add :include_blank option for select_tag [#1987 status:resolved]rizwanreza2009-08-082-0/+19
| | | | | Signed-off-by: José Valim <jose.valim@gmail.com> Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Polymorphic routes generates collection URL from model class [#1089 ↵Niklas Holmgren2009-08-082-0/+38
| | | | | | | state:resolved] Signed-off-by: Dan Pickett <dpickett@enlightsolutions.com> Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Merge commit 'jose/responder'Yehuda Katz2009-08-084-31/+31
|\
| * Renamed ActionController::Renderer to ActionController::Responder and ↵José Valim2009-08-084-31/+31
| | | | | | | | ActionController::MimeResponds::Responder to ActionController::MimeResponds::Collector.
* | Fixes "Cached fragment hit" written to log even if fragment is not cached ↵Yehuda Katz2009-08-082-2/+17
|/ | | | (Erik Andrejko) [#2917 state:resolved]
* First pass at making partial rendering an Object. More cleanup to come.Yehuda Katz2009-08-084-73/+93
|
* remove duplicate call to stringify_keys [#2587 status:resolved]Steve St. Martin2009-08-081-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Fix number_to_precision rounding error [#2071 state:resolved]wmoxam2009-08-082-1/+2
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Ruby 1.9 compat: fix route recognition encoding testJeremy Kemper2009-08-071-1/+1
|
* Ruby 1.9.2: implicit argument passing of super from method defined by ↵Jeremy Kemper2009-08-071-3/+1
| | | | define_method() is not supported