aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/journey/visitors.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-05-21 14:27:09 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2014-05-21 14:27:30 -0700
commit4d1b3a13129eb7d5fdb1564706acbcd25a5ffa9b (patch)
tree2f991e9a772cf1fc52273918cd01a1853fafb6c6 /actionpack/lib/action_dispatch/journey/visitors.rb
parent931ee4186b877856b212b0085cd7bd7f6a4aea67 (diff)
downloadrails-4d1b3a13129eb7d5fdb1564706acbcd25a5ffa9b.tar.gz
rails-4d1b3a13129eb7d5fdb1564706acbcd25a5ffa9b.tar.bz2
rails-4d1b3a13129eb7d5fdb1564706acbcd25a5ffa9b.zip
reuse path formatter from the non-optimized path.
The optimized and non-optimized path share more code now without significant performance degretation
Diffstat (limited to 'actionpack/lib/action_dispatch/journey/visitors.rb')
-rw-r--r--actionpack/lib/action_dispatch/journey/visitors.rb31
1 files changed, 2 insertions, 29 deletions
diff --git a/actionpack/lib/action_dispatch/journey/visitors.rb b/actionpack/lib/action_dispatch/journey/visitors.rb
index b635576b6a..52b4c8b489 100644
--- a/actionpack/lib/action_dispatch/journey/visitors.rb
+++ b/actionpack/lib/action_dispatch/journey/visitors.rb
@@ -38,7 +38,8 @@ module ActionDispatch
@parameters.each do |index|
param = parts[index]
- value = hash.fetch(param.name) { return ''.freeze }
+ value = hash[param.name]
+ return ''.freeze unless value
parts[index] = param.escape value
end
@@ -149,34 +150,6 @@ module ActionDispatch
end
end
- class OptimizedPath < Visitor # :nodoc:
- def accept(node)
- Array(visit(node))
- end
-
- private
-
- def visit_CAT(node)
- [visit(node.left), visit(node.right)].flatten
- end
-
- def visit_SYMBOL(node)
- node.left[1..-1].to_sym
- end
-
- def visit_STAR(node)
- visit(node.left)
- end
-
- def visit_GROUP(node)
- []
- end
-
- %w{ LITERAL SLASH DOT }.each do |t|
- class_eval %{ def visit_#{t}(n); n.left; end }, __FILE__, __LINE__
- end
- end
-
class Dot < Visitor # :nodoc:
def initialize
@nodes = []