module PostSets class Base def has_wiki? false end def raw false end def wiki_page nil end def has_artist? false end def artist nil end def is_single_tag? false end def tag_string nil end def presenter raise NotImplementedError end def arbitrary_sql_order_clause(ids, table_name) if ids.empty? return "#{table_name}.id desc" end conditions = [] ids.each_with_index do |x, n| conditions << "when #{x} then #{n}" end "case #{table_name}.id " + conditions.join(" ") + " end" end end end