module Extensions
module Routing
module AbstractRequest
def self.included(base)
base.alias_method_chain :path, :localization
end
def path_with_localization
@localized_path ||=
Extensions::Routing.localize_path(path_without_localization)
end
end
def self.localize_path(path)
return "" if path.blank?
path.split("/").map do |segment|
case segment
when "": segment
when /\A:/: segment
else
fragment = UrlFragment.find_by_localized(segment)
fragment.blank? ? segment : fragment.original
end
end.join("/")
end
end
end