Rails Lameness Filter? - PullRequest
       6

Rails Lameness Filter?

3 голосов
/ 21 октября 2009

Я провел некоторый поиск и не смог найти какой-либо фильтр хромоты с открытым исходным кодом для рельсов. Существует ли что-нибудь подобное? Я пытаюсь ограничить содержание, созданное пользователем, в частности, все заглавные буквы, неправильную заглавную букву, чрезмерные восклицательные знаки и чрезмерный жирный или курсив.

Ответы [ 2 ]

2 голосов
/ 21 октября 2009

Я не знаю ни одного из существующих, но должно быть слишком сложно поймать большинство из них с помощью набора регулярных выражений в пользовательской проверке. Неправильную заглавную букву трудно уловить из-за собственных имен и сокращений.

before_validation :filter_lameness

def filter_lameness
  # reduce exclamation marks
    content.gsub!(/![!1]+/, "!")
  # Proper capitalization. 
    content.gsub!(/(\.\s*[a-z])/, $1.upcase) # capital starts sentence
    content.gsub!(/([A-Z]{5,})/, $1.capitalize) # lowercases all but first letter in a string of capitals. Minimum length 5.
  # etc...
    return true # needed in case the last gsub matches nothing, otherwise validation returns nil and will fail
end

Лично у меня будет соблазн отследить нарушения пользователей в руководстве по стилю и прикрепить их к значкам с недостатками после достаточного количества преступлений, для публичного унижения.

2 голосов
/ 21 октября 2009

Вот рубин Байесовский классификатор , который можно обучить блокировать определенные типы контента. Потребовалось бы немного креативности, чтобы применить ее непосредственно к вашей проблеме.

Это коммерческий сервис, но SocialMod стоит упомянуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...