Вы можете использовать Ruby URI class, чтобы получить фрагмент URI (то есть относительный путь к файлу) и разбить его на последнее вхождение точки (это также будет работать, если URL-адрес содержит часть запроса):
Я понимаю, что это древний вопрос, но здесь еще одно голосование за использование Addressable. Вы можете использовать метод .extname, который работает по желанию даже с строкой запроса: