From d1e08bd38c029f0b47dfd2f3ba61ca5bb3e414b8 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 1 Jun 2017 08:20:36 -0400 Subject: Handle nil and blank cases in Account finders (#3500) --- app/models/concerns/account_finder_concern.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'app/models/concerns/account_finder_concern.rb') diff --git a/app/models/concerns/account_finder_concern.rb b/app/models/concerns/account_finder_concern.rb index d3ad519b1..561c7ab9f 100644 --- a/app/models/concerns/account_finder_concern.rb +++ b/app/models/concerns/account_finder_concern.rb @@ -37,21 +37,25 @@ module AccountFinderConcern def scoped_accounts Account.unscoped.tap do |scope| + scope.merge! with_usernames scope.merge! matching_username scope.merge! matching_domain end end + def with_usernames + Account.where.not(username: [nil, '']) + end + def matching_username - raise(ActiveRecord::RecordNotFound) if username.blank? - Account.where(Account.arel_table[:username].lower.eq username.downcase) + Account.where(Account.arel_table[:username].lower.eq username.to_s.downcase) end def matching_domain if domain.nil? Account.where(domain: nil) else - Account.where(Account.arel_table[:domain].lower.eq domain.downcase) + Account.where(Account.arel_table[:domain].lower.eq domain.to_s.downcase) end end end -- cgit