From 26c090439def7699e00ff1949c8b6afd4e6ebe08 Mon Sep 17 00:00:00 2001 From: Rafael George Date: Thu, 3 Oct 2013 17:06:14 -0400 Subject: [PATCH] Refactor: Topic#invite_by_email Extract Topic#email_already_existas_for? and Topic#grant_permission_to_user --- app/models/topic.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/app/models/topic.rb b/app/models/topic.rb index 33b3160e39..b5c95d9cea 100644 --- a/app/models/topic.rb +++ b/app/models/topic.rb @@ -426,11 +426,7 @@ class Topic < ActiveRecord::Base invite = Invite.create(invited_by: invited_by, email: lower_email) unless invite.valid? - # If the email already exists, grant permission to that user - if invite.email_already_exists and private_message? - user = User.where(email: lower_email).first - topic_allowed_users.create!(user_id: user.id) - end + grant_permission_to_user if email_already_exists_for?(invite) return end @@ -444,6 +440,15 @@ class Topic < ActiveRecord::Base invite end + def email_already_exists_for?(invite) + invite.email_already_exists and private_message? + end + + def grant_permission_to_user + User.where(email: lower_email).first + topic_allowed_users.create!(user_id: user.id) + end + def max_post_number posts.maximum(:post_number).to_i end