aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/routing/route.rb
diff options
context:
space:
mode:
authorAaron Batalion <aaron@hungrymachine.com>2008-11-24 02:24:19 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2008-11-26 10:52:05 +0100
commitfef6c32afe2276dffa0347e25808a86e7a101af1 (patch)
tree42a43392f0e478e7b752bfd885a4e91b08828487 /actionpack/lib/action_controller/routing/route.rb
parent6599dd907f87875045005c3754fc7fe75c130c3e (diff)
downloadrails-fef6c32afe2276dffa0347e25808a86e7a101af1.tar.gz
rails-fef6c32afe2276dffa0347e25808a86e7a101af1.tar.bz2
rails-fef6c32afe2276dffa0347e25808a86e7a101af1.zip
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>
Diffstat (limited to 'actionpack/lib/action_controller/routing/route.rb')
-rw-r--r--actionpack/lib/action_controller/routing/route.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/routing/route.rb b/actionpack/lib/action_controller/routing/route.rb
index a610ec7e84..e4dfdb1718 100644
--- a/actionpack/lib/action_controller/routing/route.rb
+++ b/actionpack/lib/action_controller/routing/route.rb
@@ -35,6 +35,11 @@ module ActionController
segment.key if segment.respond_to? :key
end.compact
end
+
+ def required_segment_keys
+ required_segments = segments.select {|seg| (!seg.optional? && !seg.is_a?(DividerSegment)) || seg.is_a?(PathSegment) }
+ required_segments.collect { |seg| seg.key if seg.respond_to?(:key)}.compact
+ end
# Build a query string from the keys of the given hash. If +only_keys+
# is given (as an array), only the keys indicated will be used to build