- 26 8月, 2009 7 次提交
-
-
- 22 8月, 2009 1 次提交
-
-
由 Joshua Peek 提交于
-
- 17 8月, 2009 1 次提交
-
-
由 Joshua Peek 提交于
Cleanup route reloading in tests. Prefer with_routing over using ActionController::Routing::Routes directly
-
- 16 8月, 2009 8 次提交
-
-
由 Yehuda Katz 提交于
-
由 Jay Pignata 提交于
Adding a call to logger from params_parser to give detailed debug information when invalid xml or json is posted [#2481 state:committed] Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
-
由 Joshua Peek 提交于
-
由 Jeremy Kemper 提交于
-
由 Yehuda Katz 提交于
* request.formats is much simpler now * For XHRs or Accept headers with a single item, we use the Accept header * For other requests, we use params[:format] or fallback to HTML * This is primarily to work around the fact that browsers provide completely broken Accept headers, so we have to whitelist the few cases we can specifically isolate and treat other requests as coming from the browser * For APIs, we can support single-item Accept headers, which disambiguates from the browsers * Requests to an action that only has an XML template from the browser will no longer find the template. This worked previously because most browsers provide a catch-all */*, but this was mostly accidental behavior. If you want to serve XML, either use the :xml format in links, or explicitly specify the XML template: render "template.xml".
-
由 Yehuda Katz 提交于
Caches and cache clearing seems to actually work, but the actual architecture is kind of messy. Next: CLEAN UP.
-
由 Yehuda Katz 提交于
* only one of partial_name or :as will be available as a local * `object` is removed * Simplify _layout_for in most cases. * Remove <% render :partial do |args| %> * <% render :partial do %> still works fine
-
由 Yehuda Katz 提交于
* Call _evaluate_assigns_and_ivars at the two entry points so we don't have to do a check at every render. * Make template.render viable without having to go through a wrapper method * Remove old TemplateHandler#render(template, local_assigns) path so we don't have to set self.template every time we render a template. * Move Template rescuing code to Template#render so it gets caught every time. * Pull in some tests from Pratik that test render @object in ActionView
-
- 13 8月, 2009 1 次提交
-
-
由 José Valim 提交于
-
- 12 8月, 2009 6 次提交
-
-
由 Yehuda Katz 提交于
* 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!
-
由 Yehuda Katz 提交于
* 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.
-
由 Yehuda Katz 提交于
-
由 Yehuda Katz 提交于
Further experimentation. Was able to cut the cost of rendering 100 partials 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.
-
由 Yehuda Katz 提交于
-
由 Yehuda Katz 提交于
This change causes some failing tests, but it should be possible to make them pass with minimal performance impact.
-
- 10 8月, 2009 7 次提交
-
-
由 codeape 提交于
[#1249 state:committed] Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
-
由 Joshua Peek 提交于
-
由 Max Lapshin 提交于
Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
-
由 Matt Duncan 提交于
Signed-off-by: NJosé Valim <jose.valim@gmail.com>
-
由 Hugo Peixoto 提交于
[#1218 state:committed] Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
-
由 Bence Nagy 提交于
Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
-
由 Gabe da Silveira 提交于
Remove unused routeset method routes_for_controller_and_action in favour for routes_for [#3023 state:resolved] Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
-
- 09 8月, 2009 9 次提交
-
-
由 Felipe Talavera 提交于
Allow to configure trusted proxies via ActionController::Base.trusted_proxies [#2126 state:resolved] Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
-
由 rizwanreza 提交于
Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
-
由 José Valim 提交于
Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
-
由 Yehuda Katz 提交于
Experimental: Improve performance of ActionView by preventing method cache 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.
-
由 Yehuda Katz 提交于
Cache controller_path on the AV instance to avoid needing to make additional 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)
-
由 Yehuda Katz 提交于
-
由 Yehuda Katz 提交于
Rendering a template from ActionView will default to looking for partials 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
-
由 Yehuda Katz 提交于
-
由 Yehuda Katz 提交于
-