Как я могу центрировать усеченную строку? - PullRequest
14 голосов
/ 20 сентября 2009

У кого-нибудь есть какой-нибудь удобный код, который по центру усекает строку в Ruby on Rails?

Примерно так: Пример: "Привет, мир, как дела?" => "Хел ... ты?"

Ответы [ 11 ]

0 голосов
/ 31 декабря 2012

Я добавил опцию позиции к методу Гроссера:

def ellipsize(str, options={})
  max = options[:max] || 40
  delimiter = options[:delimiter] || "..."
  position =  options[:position] || 0.8
  return str if str.size <= max
  remainder = max - delimiter.size
  offset_left = remainder * position
  offset_right = remainder * (1 - position)
  (str[0,offset_left + (remainder.odd? ? 1 : 0)].to_s + delimiter + str[-offset_right,offset_right].to_s)[0,max].to_s
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...