Sha256: bf9d0fc37a257b7e461c5d8804255b97c121c330307d2c685e2846b81a433708
Contents?: true
Size: 632 Bytes
Versions: 14
Compression:
Stored size: 632 Bytes
Contents
module UcbRailsUser::UserSearch def self.find_users_by_name(name) return [] unless name.present? (name1, name2) = name .downcase .split .take(2) .reject { |n| n.blank? } .map { |n| "#{n}%" } query = if name1.present? && name2.present? User.where("LOWER(first_name) LIKE ? AND LOWER(last_name) LIKE ?", name1, name2) .or(User.where("LOWER(last_name) LIKE ? AND LOWER(first_name) LIKE ?", name1, name2)) else User.where("LOWER(first_name) LIKE ? OR LOWER(last_name) LIKE ?", name1, name1) end query.order(:last_name, :first_name) end end
Version data entries
14 entries across 14 versions & 1 rubygems