Path generation does not escape URI reserved characters nor dots. (It escapes "%"s though.)
Route recognition correctly unescapes after separators are found, I think that's thanks to
But, to give an extreme example, if I say
and Url#to_param outputs a URL, I'd expected that to have "value" semantics in path generation. In general, if a route has a parameter :foo, I'd expected to be able to assign and retrieve any possible string in :foo. The writing side of this seems to be missing.
I'd write a patch to address that, but I'd like first to be sure I am not missing some rationale for the current behaviour.