aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Got tests to pass with some more changes.Yehuda Katz2009-08-1520-127/+123
| | | | | | | | | | | | | | | | * 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".
* Caches and cache clearing seems to actually work, but the actual ↵Yehuda Katz2009-08-155-57/+144
| | | | architecture is kind of messy. Next: CLEAN UP.
* More cleanup of ActionView and reduction in need for blocks in some cases:Yehuda Katz2009-08-159-42/+14
| | | | | | | | * 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
* Clean up ActionView some:Yehuda Katz2009-08-156-75/+56
| | | | | | | | | | * 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
* Fix ActiveResource load test for 64bit machines [#3051 state:resolved]Jatinder Singh2009-08-151-3/+3
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Skip isolation test tests when using MiniTestJeremy Kemper2009-08-151-2/+4
|
* Attempt to rewrite most of the highly coupled router segments testsJoshua Peek2009-08-141-741/+221
|
* Kill routing timed testsJoshua Peek2009-08-141-50/+3
|
* Break up concerns for choosing what attributes should be serialized and the ↵Joshua Peek2009-08-138-163/+136
| | | | actual serializer
* Use safe tmp dirJoshua Peek2009-08-132-0/+2
|
* Merge branch 'master' of git://github.com/rails/railsJosé Valim2009-08-1342-546/+555
|\
| * make mysql and postgresql rebuild databases on every CI build, to prevent ↵Chad Woolley2009-08-121-2/+2
| | | | | | | | | | | | breakages such as collation and character set changing Signed-off-by: Yehuda Katz <wycats@gmail.com>
| * Remove submoduleYehuda Katz2009-08-112-3/+0
| |
| * Made benchmarks submodule so it's easier to keep in syncYehuda Katz2009-08-1112-219/+3
| |
| * Allow superclass_delegating_accessor to take a block for initial set.Yehuda Katz2009-08-111-3/+4
| |
| * More perf work:Yehuda Katz2009-08-1111-100/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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!
| * Got overhead down from 127 to 85. All tests pass:Yehuda Katz2009-08-115-42/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * Add tests for hm:t#push failuresPratik Naik2009-08-111-0/+18
| |
| * Allow delegating to nil, because the method might actually exist on itBryan Helmkamp2009-08-102-5/+21
| |
| * Rewrite hm:t#create tests using assert_no_difference and assert_differencePratik Naik2009-08-101-12/+8
| |
| * Remove unnecessary scoping for creating hm:t join recordPratik Naik2009-08-101-3/+4
| |
| * Remove unnecessary scoping and validation checks from hm:t#createPratik Naik2009-08-101-1/+1
| |
| * Unify hm:t#create and create! implementationPratik Naik2009-08-101-17/+13
| |
| * Extract common dirty tracking methods in AMoJoshua Peek2009-08-103-114/+122
| |
| * AMo overrides alias_attribute and manages aliasing all known attribute ↵Joshua Peek2009-08-102-17/+10
| | | | | | | | method matchers
| * Centralize attr method name concatenation in AttributeMethodMatchJoshua Peek2009-08-101-11/+22
| |
| * Fixed typo in test name and CHANGELOG [#3017 state:resolved]Arthur Zapparoli2009-08-102-3/+3
| | | | | | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
| * Move :with/:without check outside the method generated by validates_format_ofPratik Naik2009-08-101-6/+6
| |
| * Add validates_format_of :without => /regexp/ option [Elliot Winkler, Peer Allan]Elliot Winkler2009-08-103-8/+64
| | | | | | | | | | | | | | | | | | | | [#430 state:resolved] Example : validates_format_of :subdomain, :without => /www|admin|mail/ Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* | Ensure collections are not treated as nested resources.José Valim2009-08-134-18/+36
| |
* | Use less strict rules in generators lookup, so people can lay their ↵José Valim2009-08-107-68/+64
|/ | | | generators wherever they want.
* find_cmd should return the full path of the db commandKamal Fariz Mahyuddin2009-08-101-4/+8
| | | | | | [#1488 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Introduce grouped_collection_select helper.codeape2009-08-093-0/+103
| | | | | | [#1249 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Correctly handle offsets in Multibyte::Chars#index and #rindex.Erik Ostrom2009-08-092-4/+11
| | | | | | | | The offset in codepoints was being passed directly to the wrapped string's index/rindex method. Now we translate the offset into bytes first. [#3028 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Add tests for scoping schema_migrations index by global table prefix and suffixCristi Balan2009-08-091-0/+18
| | | | | | [#1543 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Use table prefix and suffix for schema_migrations index.Tim Peters2009-08-091-1/+1
| | | | | | [#1543 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Introduce validates_with to encapsulate attribute validations in a class.Jeff Dean2009-08-096-1/+255
| | | | | | [#2630 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Add support for errors in JSON format.Fabien Jakimowicz2009-08-094-26/+83
| | | | | | [#1956 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fixing isolation testJay Pignata2009-08-091-1/+1
| | | | | | [#3022 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix that JSON parser fails to read escaped backslashes.Daniel Sheppard2009-08-092-4/+9
| | | | | | [#973 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* PostgreSQL: XML datatype supportLeonardo Borges2009-08-096-25/+81
| | | | | | [#1874 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* raises an exception on habtm join table inserts if join table contains a ↵Jaime Bellmyer2009-08-092-3/+26
| | | | | | | | primary key. Caches this check to save time on subsequent inserts. [#2086 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* raises exception (ActiveRecord::ConfigurationError with message) on habtm ↵Jaime Bellmyer2009-08-097-0/+99
| | | | | | association creation if join table contains a primary key Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix that creating a table whose primary key prefix type is :table_name ↵Morgan Schweers2009-08-092-3/+3
| | | | | | | | generates an incorrectly pluralized primary key. [#872 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>