Ruby позволяет нарезать строку:
my_string = my_string[0, 40] if (my_string.length > 40)
Как напомнил мне Энди Х., это можно замкнуть на:
my_string = my_string[0, 40]
Вот пример:
str = '1234567890' * 5 #=> "12345678901234567890123456789012345678901234567890"
str[0, 40] #=> "1234567890123456789012345678901234567890"