File tree Expand file tree Collapse file tree 2 files changed +19
-12
lines changed
Expand file tree Collapse file tree 2 files changed +19
-12
lines changed Original file line number Diff line number Diff line change 11class InvitationsController < ApplicationController
22 def new
33 @survey = Survey . find ( params [ :survey_id ] )
4- @survey_inviter = SurveyInviter . new ( '' )
4+ @survey_inviter = SurveyInviter . new ( '' , '' )
55 end
66
77 def create
88 @survey = Survey . find ( params [ :survey_id ] )
9- @survey_inviter = SurveyInviter . new ( recipients )
10- if valid_recipients? && valid_message ?
9+ @survey_inviter = SurveyInviter . new ( message , recipients )
10+ if @survey_inviter . valid ?
1111 recipient_list . each do |email |
1212 invitation = Invitation . create (
1313 survey : @survey ,
@@ -27,14 +27,6 @@ def create
2727
2828 private
2929
30- def valid_recipients?
31- invalid_recipients . empty?
32- end
33-
34- def valid_message?
35- message . present?
36- end
37-
3830 def invalid_recipients
3931 @survey_inviter . invalid_recipients
4032 end
Original file line number Diff line number Diff line change 11class SurveyInviter
22 EMAIL_REGEX = /\A ([^@\s ]+)@((?:[-a-z0-9]+\. )+[a-z]{2,})\z /
33
4- def initialize ( recipients )
4+ def initialize ( message , recipients )
5+ @message = message
56 @recipients = recipients
67 end
78
9+ def valid?
10+ valid_message? && valid_recipients?
11+ end
12+
813 def invalid_recipients
914 @invalid_recipients ||= recipient_list . map do |item |
1015 unless item . match ( EMAIL_REGEX )
@@ -16,4 +21,14 @@ def invalid_recipients
1621 def recipient_list
1722 @recipient_list ||= @recipients . gsub ( /\s +/ , '' ) . split ( /[\n ,;]+/ )
1823 end
24+
25+ private
26+
27+ def valid_message?
28+ @message . present?
29+ end
30+
31+ def valid_recipients?
32+ invalid_recipients . empty?
33+ end
1934end
You can’t perform that action at this time.
0 commit comments