On Oct 1, 2007, at 03:02 , Gareth Adams wrote: > I just got stung by rather annoying feature of URI.join: > > irb(main):001:0> URI.join('http://www.example.com/something', > 'else').to_s > => "http://www.example.com/else" > > Note that this completely ignores the 'something' in the original > URI. I had assumed that it joined in a similar way to File.join: > > irb(main):002:0> File.join('/something', 'else').to_s > => "/something/else" > > I notice that adding a slash works as expected, but why is there a > difference? URIs and paths are not the same, "http://example.com/something" and "http://example.com/something/" are allowed to return different content. URI.join works off the directory, "/" in your case, rather than assuming that "/something" is a directory, which may be incorrect. (My annoyance with this method is that the first argument cannot be a URI::Generic.) -- Poor workers blame their tools. Good workers build better tools. The best workers get their tools to do the work for them. -- Syndicate Wars