aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
Commit message (Collapse)AuthorAgeFilesLines
* update AD::Journey to follow Rails coding conventionsFrancesco Rodriguez2012-12-2016-437/+439
|
* :nodoc: Journey because is not part of the public API [ci skip]Francesco Rodriguez2012-12-1920-78/+75
|
* remove code for Ruby 1.8.x supportFrancesco Rodriguez2012-12-191-7/+2
|
* Remove the actual extension file as well [ci skip]Andrew White2012-12-191-11/+0
|
* Remove obsolete Hash extension needed for Ruby 1.8.x supportAndrew White2012-12-191-1/+0
| | | | [ci skip]
* Integrate Journey into Action DispatchAndrew White2012-12-1927-1/+2339
| | | | | | | | Move the Journey code underneath the ActionDispatch namespace so that we don't pollute the global namespace with names that may be used for models. Fixes rails/journey#49.
* Minor js review [ci skip]Carlos Antonio da Silva2012-12-181-7/+7
| | | | Remove/add ; where necessary, fix indentation.
* Format routes as html on debug pageschneems2012-12-174-2/+76
| | | | | | | | | When someone gets a routing exception, the routes are rendered (starting in Rails 4.0). This PR brings parity between the html routes in the `rails/info/routes` path and when rendered from an exception. This is the continuation of #8521 which brought html formatted routes. In addition to bringing parity to the two views, we're keeping our views DRY by rendering off of the same partials. In this case Railties depends on partials provided by ActionDispatch. I'm open to alternative implementations. Ideally both views will use the same code so any improvements or updates to it will be reproduced on both. <hr /> ![](http://f.cl.ly/items/3O1D0K1v0j0i343O3T3T/Screen%20Shot%202012-12-17%20at%203.07.20%20PM.png)
* Merge pull request #8529 from schneems/schneems/debug-exceptions-extend-pathSteve Klabnik2012-12-161-1/+1
|\ | | | | DebugExceptions `File.join` => `File.expand_path`
| * DebugExceptions `File.join` => `File.expand_path`schneems2012-12-161-1/+1
| |
* | Revert "Merge pull request #8499 from schneems/schneems/html-route-inspector"Steve Klabnik2012-12-141-24/+7
| | | | | | | | | | | | | | This reverts commit ae68fc3864e99ab43c18fd12577744e1583f6b64, reversing changes made to 0262a18c7b0ab6f60fee842b3007388f9ffeb0fa. See here: https://github.com/rails/rails/pull/8499#issuecomment-11356417
* | remove a cache we do not needAaron Patterson2012-12-141-5/+1
| |
* | Merge pull request #8510 from thedarkone/thread_safety_improvementsAaron Patterson2012-12-142-15/+7
|\ \ | | | | | | Thread safety improvements
| * | Replace some global Hash usages with the new thread safe cache.thedarkone2012-12-142-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of the changes: * Add thread_safe gem. * Use thread safe cache for digestor caching. * Replace manual synchronization with ThreadSafe::Cache in Relation::Delegation. * Replace @attribute_method_matchers_cache Hash with ThreadSafe::Cache. * Use TS::Cache to avoid the synchronisation overhead on listener retrieval. * Replace synchronisation with TS::Cache usage. * Use a preallocated array for performance/memory reasons. * Update the controllers cache to the new AS::Dependencies::ClassCache API. The original @controllers cache no longer makes much sense after @tenderlove's changes in 7b6bfe84f3 and f345e2380c. * Use TS::Cache in the connection pool to avoid locking overhead. * Use TS::Cache in ConnectionHandler.
* | | Clear url helper methods when routes are reloadedAndrew White2012-12-141-0/+6
| | | | | | | | | | | | | | | Remove all the old url helper methods when clear! is called on the route set because it's possible that some routes have been removed.
* | | Revert "Clear url helpers when reloading routes"Andrew White2012-12-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't actually remove old url helper methods as they are defined in a different module. This reverts commit 96bcef947bf713b7d9fc88f26dff69f568111262. Conflicts: actionpack/CHANGELOG.md
* | | Output routes in :html formatschneems2012-12-121-7/+24
| | | | | | | | | | | | | | | | | | By formatting routes for different media (txt/html) we can apply optimizations based on the format. We can include meta-data in the HTML to allow a rich experience while rendering and viewing the routes. This PR shows route helpers as they are used with the `_path` extension, it also has a javascript toggle on the top to switch to `_url`. This way the developer can see the exact named route helper they can use instead of having to modify a base. This is one example of an optimization that could be applied. Eventually we can link out to guides for the different columns to better explain what helper, HTTP Verb, Path, and Controller#action indicate. We could even add a route search box that could allow developers to input a given route and see all of the routes that match it. These are stand alone features and should be delivered separately.
* | | Fix rewinding in ActionDispatch::Request#raw_postMatt Venables2012-12-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | If env['RAW_POST_DATA'] is nil, #raw_post will attempt to set it to the result of #body (which will return env['rack.input'] if env['RAW_POST_DATA'] is nil). #raw_post will then attempt to rewind the result of another call to #body. Since env['RAW_POST_DATA'] has already been set, the result of #body is not env['rack.input'] anymore. This causes env['rack.input'] to never be rewound.
* | | Match the controller and path names defensively.Hiro Asari2012-12-101-1/+1
| | | | | | | | | | | | Use '\A' instead of '^', and make the alteration shorter.
* | | Merge pull request #8468 from schneems/schneems/rack-index-pageSantiago Pastorino2012-12-101-1/+1
|\ \ \ | |/ / |/| | Use Rails to Render Default Index Page
| * | Use Rails to Render Default Index Pageschneems2012-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an alternative implementation to #7771 thanks to the advice of @spastorino Rails is a dynamic framework that serves a static index.html by default. One of my first questions ever on IRC was solved by simply deleting my public/index.html file. This file is a source of confusion when starting as it over-rides any set "root" in the routes yet it itself is not listed in the routes. By making the page dynamic by default we can eliminate this confusion. This PR moves the static index page to an internal controller/route/view similar to `rails/info`. When someone starts a rails server, if no root is defined, this route will take over and the "dynamic" index page from rails/welcome_controller will be rendered. These routes are only added in development. If a developer defines a root in their routes, it automatically takes precedence over this route and will be rendered, with no deleting of files required. In addition to removing this source of confusion for new devs, we can now use Rails view helpers to build and render this page. While not the primary intent, the added value of "dogfooding" should not be under-estimated. The prior PR #7771 had push-back since it introduced developer facing files. This PR solves all of the same problems, but does not have any new developer facing files (it actually removes one). cc/ @wsouto, @dickeyxxx, @tyre, @ryanb, @josevalim, @maxim, @subdigital, @steveklabnik ATP Railties and Actionpack.
* | | Merge pull request #8476 from sheerun/fix/multipart-getRafael Mendonça França2012-12-101-1/+5
|\ \ \ | |/ / |/| | Prevent raising EOFError on multipart GET request.
| * | Prevent raising EOFError on multipart GET request.Adam Stankiewicz2012-12-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Such request can happen on Internet Explorer. When we redirect after multipart form submission, the request type is changed to GET, but Content-Type is preserved as multipart. GET request cannot have multipart body and that caused Rails to fail. It's similar fix to Rack's one: https://github.com/chneukirchen/rack/blob/8025a4ae9477d1e6231344c2b7d795aa9b3717b6/lib/rack/request.rb#L224
* | | use `_action` instead of `_filter` callbacksFrancesco Rodriguez2012-12-071-2/+2
|/ /
* | Revert "Invert precedence of content in ActionDispatch::Static"Andrew White2012-12-071-11/+7
| | | | | | | | This reverts commit c59734f756b79c39486c45273d2cc5d42cd0c864.
* | Invert precedence of content in ActionDispatch::StaticAndrew White2012-12-061-7/+11
|/ | | | | | | | | | This commit inverts the precedence in ActionDispatch::Static so that dynamic content will be served before static content. This is so that precompiled assets do not inadvertently get included when running in development mode - it should have no effect in production where static files are usually handled by the web server. Closes #6421
* Merge pull request #8412 from ↵Rafael Mendonça França2012-12-051-18/+14
|\ | | | | | | | | JoeyButler/action_dispatch_routing_mapper_refactoring Extract method refactoring.
| * Extract method refactoring in ActionDispatch::Routing::SingletonResource.Joey Butler2012-12-051-18/+14
| |
* | Adding filter capability to ActionController logsFabrizio Regini2012-12-052-0/+38
| |
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-12-046-14/+2
|\ \ | | | | | | | | | | | | Conflicts: guides/source/migrations.md
| * | Remove nodoc from FlashHash #[]= [ci skip]Pablo Torres2012-12-011-1/+1
| | |
| * | Cleans and removes 'Examples' tag [ci skip]Alvaro Pereyra2012-12-011-2/+0
| | |
| * | Cleans and removes useless 'Examples' tag [ci skip]Alvaro Pereyra2012-12-013-10/+0
| | |
| * | Revert "Remove trailing whitespaces"Florent Guilleux2012-12-011-1/+1
| | | | | | | | | | | | This reverts commit 90c887fa7d0c454b7533e208daefc342dea4d5f3.
| * | Remove trailing whitespacesFlorent Guilleux2012-12-011-1/+1
| | |
| * | nodoc AD & AV railties classesCarlos Duclos2012-12-011-1/+1
| |/
* / Fixed issue where routes with globs caused constraints on that glob toMaura Fitzgerald2012-12-041-1/+1
|/ | | | | | be ignored. A regular expression constraint gets overwritten when the routes.rb file is processed. Changed the overwriting to an ||= instead of an = assignment.
* Use File.join to better integrate fixture_path in fixture_file_upload.Ben Woosley2012-11-261-5/+7
|
* Refector a bit to remove extra slice iteration and splat callCarlos Antonio da Silva2012-11-241-2/+2
| | | | | | | | | This yields a small bit of performance improvement when building the defaults from constraints, specially considering that it's rather common for constraints to be empty. Also, there's a bit of duplicated code in here that I have to check before extracting.
* Use merge! in some places to avoid creating extra hashesCarlos Antonio da Silva2012-11-242-4/+4
|
* Simplify scope options recovery by using merge!Carlos Antonio da Silva2012-11-241-6/+1
| | | | | | Instead of iterating again over the options and setting one by one, we can just merge the recover hash back to the scope one since all keys match.
* Normalize scope recovering :blocks option nameCarlos Antonio da Silva2012-11-241-3/+3
| | | | | Use the same :blocks key in the recover hash to revert the scope options later.
* Simplify constraints condition in scope when checking for HashCarlos Antonio da Silva2012-11-241-7/+4
|
* Allow setting a symbol as path in scope on routesGuillermo Iguaran2012-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Was surprising found that this example doesn't work: scope :api do resources :users end and the right form to use it is: scope 'api' do resources :users end I think this should work similary as `namespace` where both are allowed. These two are equivalent: namespace :api do resources :users end namespace 'api' do resources :user end
* Merge pull request #8183 from jcoglan/objectless_sessionsJon Leighton2012-11-211-10/+24
|\ | | | | Store FlashHashes in the session as plain hashes
| * Store FlashHashes in the session as plain hashes rather than custom objects ↵James Coglan2012-11-091-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with unstable class names and instance variables. Refactor FlashHash to take values for its ivars in the constructor, to pretty up FlashHash.from_session_value. Remove stale comment on FlashHash: it is no longer Marshaled in the session so we can change its implementation. Remove blank lines I introduced in controller/test_case.rb. Unit tests for FlashHash#to_session_value. Put in a compatibility layer to accept FlashHash serializations from Rails 3.0+. Test that Rails 3.2 session flashes are correctly converted to the new format. Remove code path for processing Rails 3.0 FlashHashes since they can no longer deserialize. Fix session['flash'] deletion condition: it will never be empty?, it will either be nil or a hash with 'discard' and 'flashes' keys.
* | Correct the use of params options when given to url_forCarlos Antonio da Silva2012-11-191-1/+1
| | | | | | | | Merge url for tests and add changelog entry for #8233.
* | Fix issue with params in url_fortumayun2012-11-191-1/+1
| | | | | | | | | | | | With a "params" argument, the following error is raised: undefined method `reject!` for "":String
* | Fix UpgradeSignatureToEncryptionCookieStore docSantiago Pastorino2012-11-191-9/+4
| |
* | Removed extra call to #diff in #assert_recognizes. assert_equal calls it for ↵Ryan Davis2012-11-171-4/+7
| | | | | | | | you and shows the diff. Also delayed message calculation so the cost of the diff on success is now gone.