- 1
- 2
- 3
- 4
scope :search_by_title, proc { |title|
title = sanitize_sql(title).gsub(/'/, '').strip().split().join(':* &') << ":*"
where("to_tsvector('english', title) @@ to_tsquery('english', '#{title}')").order("case when title ~* '^#{title}' then 1 else 2 end")
}
И можно было разделить на несколько независимых строк. Слишком уж длинная цепочка операций
Если язык позволяет запутать код до неузнаваемости - это большая архитектурная проблема языка.
Попробуйте повторить на том же PHP - не получится. Т.е. даже такое уг как PHP лучше Ruby.
В первый раз думал - шизофрения началась (я был единственный Ruby-программист и git blame, конечно, не делал).