From 2fede640a358a21b96a89b0063903cd0b4767fab Mon Sep 17 00:00:00 2001 From: Kazuyoshi Kato Date: Wed, 9 Oct 2024 21:32:24 -0700 Subject: [PATCH 1/2] Fix "ORDER BY" --- app/controllers/messages_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index e2477a2..0fdd1f0 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -15,7 +15,8 @@ def index # %> and <-> are defined by pg_trgm. # https://www.postgresql.org/docs/17/pgtrgm.html message_where = if Rails.env.production? - Message.where('body %> ? AND list_id IN (?) ORDER BY body <-> ?', query, list_ids, query) + Message.where('body %> ? AND list_id IN (?)', query, list_ids) + .order(Arel.sql('body <-> ?', query)) else Message.where('body LIKE ? AND list_id IN (?)', "%#{query}%", list_ids) end @@ -36,7 +37,7 @@ def show def get_list_ids(params) list_ids = [] ['ruby-talk', 'ruby-core', 'ruby-list', 'ruby-dev'].each do |name| - if params[name.tr('-', '_').to_sym] == '1' + if params[name.tr('-', '_').to_sym] != '0' list_ids << List.find_by_name(name).id end end From f302e9c885d1cb496641e4b190628eee9636ecb6 Mon Sep 17 00:00:00 2001 From: Kazuyoshi Kato Date: Wed, 9 Oct 2024 21:34:29 -0700 Subject: [PATCH 2/2] The default is too low --- .rubocop.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 29d19a8..d05e655 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -9,3 +9,6 @@ Metrics/BlockLength: Metrics/MethodLength: Max: 40 + +Metrics/AbcSize: + Max: 50