method
normalize_paths
v1.2.6 -
Show latest stable
- Class:
ActionController::Routing
normalize_paths(paths)public
No documentation available.
# File actionpack/lib/action_controller/routing.rb, line 264
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{\w+[/\\]\.\.[/\\]}
path.gsub!(%r{\w+[/\\]\.\.[/\\]}, "") while path.match(re)
path
end
# start with longest path, first
paths = paths.uniq.sort_by { |path| - path.length }
end