From 82444b87876ea64f9332b7f357cb020ca75ae794 Mon Sep 17 00:00:00 2001 From: nilsding Date: Sun, 14 Dec 2014 12:03:57 +0100 Subject: [PATCH 1/3] bugfox! --- app/models/inbox.rb | 6 +----- app/models/question.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/models/inbox.rb b/app/models/inbox.rb index 5084084a..06c9a2eb 100644 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -13,11 +13,7 @@ class Inbox < ActiveRecord::Base end def remove - unless self.question.user.nil? - self.question.user.decrement! :asked_count if self.question.answer_count == 1 - end - - self.question.destroy if self.question.answer_count == 1 + self.question.destroy if self.question.can_be_removed self.destroy end end diff --git a/app/models/question.rb b/app/models/question.rb index adc1f802..48e6c596 100644 --- a/app/models/question.rb +++ b/app/models/question.rb @@ -3,4 +3,13 @@ class Question < ActiveRecord::Base has_many :answers validates :content, length: { maximum: 255 } + + class << self + def can_be_removed + return false if self.answers.count > 0 + return false if Inbox.where(question: self).count > 0 + self.user.decrement! :asked_count + true + end + end end From 72f0f577a18800f2aa61b69d28ff50f267f05b18 Mon Sep 17 00:00:00 2001 From: nilsding Date: Sun, 14 Dec 2014 12:13:05 +0100 Subject: [PATCH 2/3] case insensitive user names in URLs? why the heck knot! --- app/controllers/user_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 0d8f6784..32d0229f 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -1,6 +1,6 @@ class UserController < ApplicationController def show - @user = User.find_by_screen_name!(params[:username]) + @user = User.where('LOWER(screen_name) = ?', params[:username].downcase).first @answers = @user.answers.reverse_order.paginate(page: params[:page]) respond_to do |format| format.html @@ -23,7 +23,7 @@ class UserController < ApplicationController def followers @title = 'Followers' - @user = User.find_by_screen_name!(params[:username]) + @user = User.where('LOWER(screen_name) = ?', params[:username].downcase).first @users = @user.followers.reverse_order.paginate(page: params[:page]) @type = :friend render 'show_follow' @@ -31,7 +31,7 @@ class UserController < ApplicationController def friends @title = 'Following' - @user = User.find_by_screen_name!(params[:username]) + @user = User.where('LOWER(screen_name) = ?', params[:username].downcase).first @users = @user.friends.reverse_order.paginate(page: params[:page]) @type = :friend render 'show_follow' From 0ebf918d837ad31eb2c91a256a8e1c2eac4e7ab7 Mon Sep 17 00:00:00 2001 From: nilsding Date: Sun, 14 Dec 2014 12:19:52 +0100 Subject: [PATCH 3/3] fixed this thing. --- app/models/inbox.rb | 2 +- app/models/question.rb | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/models/inbox.rb b/app/models/inbox.rb index 06c9a2eb..5c664c4a 100644 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -13,7 +13,7 @@ class Inbox < ActiveRecord::Base end def remove - self.question.destroy if self.question.can_be_removed + self.question.destroy if self.question.can_be_removed? self.destroy end end diff --git a/app/models/question.rb b/app/models/question.rb index 48e6c596..0408a02b 100644 --- a/app/models/question.rb +++ b/app/models/question.rb @@ -4,12 +4,10 @@ class Question < ActiveRecord::Base validates :content, length: { maximum: 255 } - class << self - def can_be_removed - return false if self.answers.count > 0 - return false if Inbox.where(question: self).count > 0 - self.user.decrement! :asked_count - true - end + def can_be_removed? + return false if self.answers.count > 0 + return false if Inbox.where(question: self).count > 1 + self.user.decrement! :asked_count + true end end