Регулярные выражения являются ключевыми, но для простого сопоставления статических строк вы можете использовать вспомогательные функции, которые работают быстрее.Кроме того, вы можете использовать << вместо +, что также быстрее (хотя, вероятно, не имеет значения). </p>
string << '.' unless string.end_with?( '.' )
string = 'http://' << string unless string.start_with?( 'http://' )
примечание, s будет содержать правильное значение, но возвращаемое значение равно nil, если строка былане изменилось.не так, как вы, но лучше не включать в условное.