# File lib/action_controller/routing.rb, line 299 def normalize_paths(paths) # do the hokey-pokey of path normalization... paths = paths.collect do |path| path = path. gsub("//", "/"). # replace double / chars with a single gsub("\\\\", "\\"). # replace double \ chars with a single gsub(%r{(.)[\\/]$}, '\1') # drop final / or \ if path ends with it # eliminate .. paths where possible re = %r{[^/\\]+[/\\]\.\.[/\\]} path.gsub!(re, "") while path.match(re) path end # start with longest path, first paths = paths.uniq.sort_by { |path| - path.length } end