aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #7329 from guilleiguaran/move-default-headers-ad-railtieRafael Mendonça França2012-08-101-0/+5
|\ \ | | | | | | Move AD default_headers configurations to railtie
| * | Move AD default_headers configurations to railtieGuillermo Iguaran2012-08-101-0/+5
| | | | | | | | | | | | | | | | | | ActionDispatch railtie is a better place for config.action_dispatch.default_headers settings, users can continue overriding those settings in their configuration files if needed.
* | | Further refactor build_conditions in route setCarlos Antonio da Silva2012-08-101-5/+3
|/ / | | | | | | | | Return the conditions from the keep_if call, and ignore the value argument since it's not being used.
* | Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-111-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* | Merge pull request #7321 from bogdan/refactor_routes_setSantiago Pastorino2012-08-101-10/+7
|\ \ | | | | | | RouteSet: refactor internals
| * | RouteSet: refactor internalsBogdan Gusiev2012-08-101-10/+7
| | | | | | | | | | | | | | | No need to build valid_conditions array. We can get all the data in place.
* | | Merge pull request #7302 from homakov/default_headersAaron Patterson2012-08-092-0/+6
|\ \ \ | | | | | | | | Introduce default_headers. closes #6311 #6515
| * | | introduce default_headers configEgor Homakov2012-08-092-0/+6
| |/ /
* / / initialize instance variablesAaron Patterson2012-08-093-0/+22
|/ /
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* | Revert "polymorphic_url with an array generates a query string"Andrew White2012-08-041-4/+1
| | | | | | | | | | Passing options as the last value in an array doesn't work with form_for. This reverts commit 61c8a4d926343903593a27080216af7e4ed81268.
* | Revert "Refactor passing url options via array for polymorphic_url"Andrew White2012-08-041-2/+2
| | | | | | | | | | Passing options as the last value in an array doesn't work with form_for. This reverts commit 6be564c7a087773cb0b51c54396cc190e4f5c983.
* | RouteSet: cleanup some unneeded compexityBogdan Gusiev2012-08-041-16/+7
| |
* | Renamed _path_segments to _recallBogdan Gusiev2012-08-041-2/+2
| |
* | Simplify logical statementBogdan Gusiev2012-08-041-4/+2
| |
* | Merge branch 'polymorphic_url_builds_query_string_with_array'Andrew White2012-08-041-1/+4
|\ \
| * | Refactor passing url options via array for polymorphic_urlAndrew White2012-08-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Rather than keep the url options in record_or_hash_or_array, extract it and reverse merge with options as it may contain important private keys like `:routing_type`. Closes #7259
| * | polymorphic_url with an array generates a query stringRomain Tribes2012-08-041-1/+4
| | | | | | | | | | | | | | | Generating an URL with an array of records is now able to build a query string if the last item of the array is a hash.
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-041-0/+8
|\ \ \ | |/ / |/| | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * | copy edits [ci skip]Vijay Dev2012-08-041-2/+2
| | |
| * | fix punctuation in #resources and #match documentation [ci skip]Francesco Rodriguez2012-07-311-4/+4
| | |
| * | Update #match documentation [ci skip]Robert Pankowecki2012-07-311-0/+4
| | |
| * | Update #resources documentation [ci skip]Robert Pankowecki2012-07-311-0/+4
| | |
* | | load active_support/core_ext/module/delegation in active_support/railsXavier Noria2012-08-022-2/+0
| | |
* | | load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-023-3/+0
| | |
* | | load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-0211-11/+0
| | |
* | | Merge pull request #7198 from cfcosta/refactor-cache_control_headersRafael Mendonça França2012-07-291-11/+19
|\ \ \ | | | | | | | | Refactor ActionDispatch::Http::Cache::Response#cache_control_headers
| * | | Refactor ActionDispatch::Http::Cache::Response#cache_control_headers.Cainã Costa2012-07-301-11/+19
| | | |
* | | | header hash is duped before being sent up the rack stackAaron Patterson2012-07-291-12/+16
| | | |
* | | | ActionController::DataStreaming::FileBody doesn't respond to #close.Rafael Mendonça França2012-07-291-1/+1
| | | |
* | | | flushing output should write to the stream rather than mutating the response ↵Aaron Patterson2012-07-291-8/+12
|/ / / | | | | | | | | | object
* | | adding a buffered stream to the response objectAaron Patterson2012-07-291-2/+42
| | |
* | | initialize ivars, refactor recycle! to call initializeAaron Patterson2012-07-291-0/+2
| | |
* | | adds a missing require from Active SupportXavier Noria2012-07-281-0/+1
| | | | | | | | | | | | This file uses mattr_accessor.
* | | threads can wait on responses to be committedAaron Patterson2012-07-271-1/+24
| | |
* | | fix typo in documentationAnatoly Makarevich2012-07-261-1/+1
| | |
* | | Remove ActionDispatch::Head middleware in favor of Rack::HeadSantiago Pastorino2012-07-232-20/+2
|/ / | | | | | | Closes #7110 there's more work to do on rack-cache issue 69
* | Don't assume resource param is :id when using shallow routesAndrew White2012-07-201-1/+3
| | | | | | | | | | Since #5581 added support for resources with custom params we should not assume that it is :id when using shallow resource routing.
* | Support constraints on resource custom params when nestingAndrew White2012-07-201-8/+12
| | | | | | | | | | | | | | The Mapper looks for a :id constraint in the scope to see whether it should apply a constraint for nested resources. Since #5581 added support for resource params other than :id, we need to check for a constraint on the parent resource's param name and not assume it's :id.
* | Add support for optional root segments containing slashesAndrew White2012-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optional segments with a root scope need to have the leading slash outside of the parentheses, otherwise the generated url will be empty. However if the route has non-optional elements then the leading slash needs to remain inside the parentheses otherwise the generated url will have two leading slashes, e.g: Blog::Application.routes.draw do get '/(:category)', :to => 'posts#index', :as => :root get '/(:category)/author/:name', :to => 'posts#author', :as => :author end $ rake routes root GET /(:category)(.:format) posts#index author GET (/:category)/author/:name(.:format) posts#author This change adds support for optional segments that contain a slash, allowing support for urls like /page/2 for the root path, e.g: Blog::Application.routes.draw do get '/(page/:page)', :to => 'posts#index', :as => :root end $ rake routes root GET /(page/:page)(.:format) posts#index Fixes #7073
* | Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-181-1/+1
| |
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-151-7/+4
|\ \
| * | Updated with_routing example to 3.x syntax [ci skip]Wojciech Wnętrzak2012-07-131-7/+4
| |/
* | Raise a helpful error message on #mount misuseCarl Lerche2012-07-101-0/+4
| |
* | Rename RouteInspector to RoutesInspectorCarlos Antonio da Silva2012-07-082-3/+2
| | | | | | | | Follow the consistency defined in dbc43bc.
* | move route_inspector to actionpack@schneems and @mattt2012-07-072-5/+128
| | | | | | | | this is so we can show route output in the development when we get a routing error. Railties can use features of ActionDispatch, but ActionDispatch should not depend on Railties.
* | show routes while debugging RoutingErrorschneems2012-07-072-3/+20
|/ | | | If someone receives a routing error, they likely need to view the routes. Rather than making them visit '/rails/info/routes' or run `rake routes` we can give them that information on the page.
* Prevent conflict between mime types and Object methodsMircea Pricop2012-07-061-1/+12
| | | | | | | | | | | | | | | | | | | | | | | Assuming the type ":touch", Collector.new was calling send(:touch), which instead of triggering method_missing and generating a new collector method, actually invoked the private method `touch` inherited from Object. By generating the method for each mime type as it is registered, the private methods on Object can never be reached by `send`, because the `Collector` will have them before `send` is called on it. To do this, a callback mechanism was added to Mime::Type This allows someone to add a callback for whenever a new mime type is registered. The callback then gets called with the new mime as a parameter. This is then used in AbstractController::Collector to generate new collector methods after each mime is registered.
* add Mime.fetch so we can have default mime typesAaron Patterson2012-07-031-0/+5
|
* make the default environment have actual defaultsAaron Patterson2012-07-031-1/+7
| | | | | | instead of deleting keys on every instantiation, create defaults we actually use. eventually we can pass an environment in to the request, and create a new req / res object on each call.