From 9bb63e9b32acb8586e89470abec1f2971d9d15ae Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 4 Sep 2015 14:04:45 +0200 Subject: [PATCH] Makes comments increase the hot_score --- app/models/comment.rb | 6 ++++++ app/models/debate.rb | 4 ++++ spec/models/debate_spec.rb | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/app/models/comment.rb b/app/models/comment.rb index 422d39f8d..8190ff363 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -24,6 +24,8 @@ class Comment < ActiveRecord::Base scope :for_render, -> { with_hidden.includes(user: :organization) } + after_create :call_after_commented + def self.build(commentable, user, body, p_id=nil) new commentable: commentable, user_id: user.id, @@ -87,4 +89,8 @@ class Comment < ActiveRecord::Base !root? end + def call_after_commented + self.commentable.try(:after_commented) + end + end diff --git a/app/models/debate.rb b/app/models/debate.rb index ef28f5132..84181c26d 100644 --- a/app/models/debate.rb +++ b/app/models/debate.rb @@ -104,6 +104,10 @@ class Debate < ActiveRecord::Base update(ignored_flag_at: Time.now) end + def after_commented + save # updates teh hot_score because there is a before_save + end + def calculate_hot_score z = 1.96 # Normal distribution with a confidence of 0.95 time_unit = 1.0 * 12.hours diff --git a/spec/models/debate_spec.rb b/spec/models/debate_spec.rb index 93403c591..537cc303c 100644 --- a/spec/models/debate_spec.rb +++ b/spec/models/debate_spec.rb @@ -229,6 +229,12 @@ describe Debate do 3.times { debate.register_vote(create(:user), false) } expect(previous).to be > debate.hot_score end + + it "increases with comments" do + previous = debate.hot_score + Comment.create(user: create(:user), commentable: debate, body: 'foo') + expect(previous).to be < debate.hot_score + end end end