aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Create new ActionController::Middleware class that will work as a normal ↵Yehuda Katz2009-08-269-110/+166
| | | | | | 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.
* Track all AC base subclasses as possible controllers for internal testingJoshua Peek2009-08-256-92/+50
|
* And the same thing for BasicYehuda Katz + Carl Lerche2009-08-251-1/+2
|
* HTTP Auth should not depend on RenderingControllerYehuda Katz + Carl Lerche2009-08-251-1/+2
|
* Redirector had an undeclared dependency on Logger.Yehuda Katz + Carl Lerche2009-08-251-0/+3
|
* Rework Middleware stack to match the Rack middleware protocol more closelyYehuda Katz + Carl Lerche2009-08-251-3/+3
|
* Modify Digest and Basic to take a request so they can be used outside of the ↵Yehuda Katz + Carl Lerche2009-08-251-7/+7
| | | | controller
* Add a TODO so we remember to fix partial layoutsYehuda Katz + Carl Lerche2009-08-251-0/+3
|
* Fix typoJeremy Kemper2009-08-251-1/+1
|
* ActionController::Metal can be a middlewareYehuda Katz + Carl Lerche2009-08-254-13/+85
|
* timestamps gives a created_at field not created_on.Emilio Tagua2009-08-241-2/+2
| | | | | | [#3093 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Ruby 1.9: fix Time#beginning_of_day inaccuracy due to subtracting a FloatJeremy Kemper2009-08-221-1/+2
|
* Move legacy param_parsers config onto AD::ParamsParserJoshua Peek2009-08-213-73/+74
|
* Added first/last/all aliases for equivalent find scopestaryn2009-08-212-0/+60
| | | | | | | Just a copy from Active Record (with tests). Each is a warpper function for the equivalent scoped call to find eg first is a wrapper for find(:first) Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Benchmark script via miloops' arel fork via DataMapper's AR comparison scriptJeremy Kemper2009-08-202-0/+163
|
* Added save! which raises ResourceInvalid unless valid?taryn2009-08-193-2/+31
| | | | | | | | | | | | | | | Similar to Active Record - it will raise ActiveResouce::ResourceInvalid if the resource is not valid (ie if <tt>valid?</tt> returns false) However - does not raise ActiveResource::ResourceNotFound if the callbacks fail (callbacks have not yet been implemented) - it will just try to save and raise if the callbacks all fail. This is not ideal behaviour - but will do until we decide to change the behaviour of save_with_validations to actually raise (rather than catch) the ResourceInvalid exception. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Swallow ResourceNotFound error on find_everytaryn2009-08-192-10/+42
| | | | | | | | | | | | | | Active Record does not explode with RecordNotFound if you go looking for a collection of objects - it just returns nil. Thus Active Resource should also not explode. After all - finding no objects that match a set of conditions is not exceptional behaviour - unlike looking for a specific object with a given id (which you'd expect to exist). I've also added documentation to +find+ to reflect this. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Pulled find-based tests into their own test case. This matches Active ↵taryn2009-08-192-76/+182
| | | | | | Record, and allows us to have one places where all find-tests are located, which will help when adding dynamic finders later. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Moved all test cases into a new test/cases directory to match Active Record ↵taryn2009-08-199-0/+0
| | | | | | test directory structure. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Added validations to ActiveResource. Added a smoke test to see if we can add ↵taryn2009-08-193-15/+123
| | | | | | a validation and use it, and add a validates callback and use it. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Remove sqlite2 build from CI recipe [#3066 state:resolved]Mike Gunderloy2009-08-181-8/+0
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Remove support for SQLite 2.Pratik Naik2009-08-179-107/+19
| | | | If you're still using it, please install the plugin from git://github.com/rails/sqlite2_adapter.git
* k, thats really slow, lets notJoshua Peek2009-08-161-8/+0
|
* Cleanup route reloading in tests. Prefer with_routing over using ↵Joshua Peek2009-08-1614-139/+147
| | | | ActionController::Routing::Routes directly
* Fixes ActionMailer regression [#3059 state:resolved]Yehuda Katz2009-08-151-1/+1
|
* Missing fixture template -- fixes AP testsYehuda Katz2009-08-151-0/+1
|
* Fix test_has_many_through_polymorphic_has_one on sqlite2 [#3054 state:resolved]Jay Pignata2009-08-151-1/+1
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Fix calculation tests on sqlite2 [#3053 state:resolved]Jay Pignata2009-08-151-1/+1
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Bump pg gem requirement to 0.8.0. Build psql db with UTF8 encoding.Jeremy Kemper2009-08-152-3/+3
|
* Adding a call to logger from params_parser to give detailed debug ↵Jay Pignata2009-08-153-5/+46
| | | | | | | | information when invalid xml or json is posted [#2481 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Axe "best fit" generation supportJoshua Peek2009-08-152-39/+2
|
* Normalize route generation order: associations, yield block, then own routes.Jeremy Kemper2009-08-151-9/+9
|
* 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
| |