Commit Graph

41 Commits

Author SHA1 Message Date
Jeremy Kemper
c69d8c043f Fix formatted_* deprecation message 2008-12-30 15:16:51 -08:00
Joshua Peek
5d89605c11 Make router and controller classes better rack citizens 2008-12-28 15:31:03 -06:00
Xavier Noria
a2270ef259 Inline code comments for class_eval/module_eval [#1657 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-12-28 19:49:28 +00:00
Joshua Peek
f23c2796ee When checking for the wrong routing method, ensure the environment is passed to recognize optimize [#1406 state:resolved] 2008-12-17 10:20:19 -06:00
Jeremy Kemper
635e2ccd3e Extract named_helper module_eval so it's easier to override 2008-11-29 19:32:13 -08:00
David Heinemeier Hansson
40b40c4870 Added support for multiple routes files and made draw not clear the map so they can be additive 2008-11-26 15:57:36 +01:00
Jeremy Kemper
133c349b0a Merge branch 'master' of git@github.com:rails/rails 2008-11-26 02:05:53 -08:00
Jeremy Kemper
a88094fd7a No need to have #generate and #generate_extras per instance 2008-11-26 02:05:28 -08:00
Aaron Batalion
fef6c32afe Added optimal formatted routes to rails, deprecating the formatted_* methods, and reducing routes creation by 50% [#1359 state:committed]
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
2008-11-26 10:52:05 +01:00
Joshua Peek
31ce92f7b5 Use autoload instead of explicit requires for ActionController 2008-11-23 16:35:47 -06:00
Gabe da Silveira
917428bcce Make optimized named routes respect all reserved options and tie it into UrlRewriter::RESERVED_OPTIONS so it's DRY
Signed-off-by: Michael Koziarski <michael@koziarski.com>
2008-11-18 22:47:33 +01:00
Jeremy Kemper
278b6cd952 Eliminate excess Regexp creation due to capture counting 2008-11-10 22:21:09 -08:00
Jeremy Kemper
5db9f9b3ad Pare down object creation during route building 2008-11-10 22:21:09 -08:00
Aliaksey Kandratsenka
099f10679e Don't eval recognize_optimized use __FILE__ and __LINE__ in the optimised recognition code.
It produces meaningless line numbers.  This also easily produces line numbers greater than recognition_optimization.rb have, which causes rcov to trash memory outside of it's coverage counting arrays.

[#1319 state:committed]
Signed-off-by: Michael Koziarski <michael@koziarski.com>
2008-11-06 19:52:44 +00:00
Tom Lea
5a02f0bccf Cleaned up route optimisation guard condition generation code as it was getting a little messy.
Add additional condition to handle the case where default_url_options is only defined in the controller, not the view.

Signed-off-by: Michael Koziarski <michael@koziarski.com>
2008-11-01 19:06:25 +01:00
Joshua Peek
0f651aec4e Thread Safety: Ensure recognize_optimized is immediately written instead of lazily 2008-10-27 12:34:54 -05:00
Tom Stuart
e28ad77bba Allow use of :path_prefix and :name_prefix outside of namespaced routes. [#1188 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-10-08 14:56:52 +01:00
Jeremy Kemper
fd71a1a354 Remove recognized_optimized method before redefining it 2008-09-08 19:42:20 -07:00
Matt Jones
7e6cda15f8 Ensure routing optimizations are cleared when new routes are added [#981 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
2008-09-07 10:21:34 -05:00
Clemens Kofler
948ed34600 Some performance goodness for routing.
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2008-09-03 00:55:23 +02:00
Jeremy Kemper
a1eb4e11c2 Get rid of 'Object#send!'. It was originally added because it's in Ruby 1.9, but it has since been removed from 1.9.
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>

Conflicts:

	actionpack/test/controller/layout_test.rb
2008-08-31 13:20:15 -07:00
Luke Melia
7ce03db778 Fixes optimised named routes generating question mark followed by nothing when provided an empty hash as the last argument.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#481 state:committed]
2008-08-31 19:42:01 +02:00
Brennan Dunn
9cc8c0a0a1 Routes may be restricted to lists of HTTP methods instead of a single method or :any.
[#407 state:resolved]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2008-08-28 12:29:49 -07:00
Jeremy Kemper
ddd552504b Expose Routing::Segment::SAFE_PCHAR list of path characters that don't need escaping 2008-08-04 18:37:53 -07:00
Joshua Peek
a5db148825 Prepare Route#generate and Route#recognize early. Also refactor segments a bit to try to make immutable. 2008-07-28 13:41:42 -05:00
Joshua Peek
e0513e33c4 Routing whitespace cleanup 2008-07-28 13:38:20 -05:00
Joshua Peek
a87462afcb AbstractRequest.relative_url_root is no longer automatically configured by a HTTP header. It can now be set in your configuration environment with config.action_controller.relative_url_root 2008-07-24 13:41:51 -05:00
Tom Ward
d39485078e Raise ArgumentError if an invalid method is specified as part of a route's conditions. Also raise an error if HEAD is specified as the method, as rails routes all HEAD requests through the equivalent GET, though doesn't return the response body [#182 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
2008-07-18 20:19:03 -05:00
Tarmo Tänav
a37d065f85 Use :namespace instead of :path_prefix for finding controller. [#544 state:resolved]
:namespace is supposed to be the module where controller exists.
:path_prefix can contain anything, including variables, which
makes it unsuitable for determining the module for a controller.

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-07-03 16:11:50 +01:00
Jeremy Kemper
5b53a06959 Ensure we have an array to collect 2008-06-06 22:02:48 -07:00
Pratik Naik
98dc582742 Merge docrails.
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-25 12:29:00 +01:00
Sven Fuchs
345f030c5b Ensure routing generator works with non-string keys. [#172 state:resolved]
Make sure that (with recent correction to globbed parameter escaping) non-string
values can still be passed route generation helpers for globbed route segments.

For example, foo_path([1, 2, 3]) should still work for a route like map.foo "*globbed"
by implicitely calling to_s on the Fixnums.

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-16 17:36:09 +01:00
Chris Roos
6776edccf6 Escape globbed parameters in routes correctly.
:controller => 'glob', :action=> 'show', :additional => ['foo/bar', 'baz']

Should generate /glob/show/foo%2Fbar/baz not  /glob/show/foo/bar/baz
2008-05-10 14:55:41 +12:00
Cheah Chu Yeow
ee1d508a6b Allow ActionController::Base#default_url_options to have a default options argument of nil.
This fixes a bug introduced in [6a6b4392c1] which was breaking routing in ActionController::UrlWriter.
2008-05-05 23:41:33 -07:00
Cheah Chu Yeow
6a6b4392c1 Ensure that default_url_options, if defined, are used in named routes.
Signed-off-by: Michael Koziarski <michael@koziarski.com>

[#22 state:resolved]
2008-05-04 12:49:44 +12:00
Xavier Noria
64092de257 Improve documentation coverage and markup
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-02 14:45:23 +01:00
David Heinemeier Hansson
926f4648f0 Made the location of the routes file configurable with config.routes_configuration_file (Scott Fleckenstein) [#88 state:resolved] 2008-05-01 17:26:31 -05:00
David Heinemeier Hansson
db3a60eb92 Added support for regexp flags like ignoring case in the :requirements part of routes declarations (closes #11421) [NeilW]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9115 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 20:01:21 +00:00
Michael Koziarski
6e165b8940 Make it simpler to make the root route an alias for another route. Closes #10818 [bscofield]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8738 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-26 08:41:19 +00:00
Jeremy Kemper
f95ff8d4dc Performance: optimize route recognition. Large speedup for apps with many resource routes. Closes #10835.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8674 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-19 05:25:20 +00:00
Michael Koziarski
3845de022b Restructure routing into several smaller files. References #10835 [oleganza]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8652 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-17 22:45:54 +00:00