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 1
1
class InvitationsController < ApplicationController
2
2
def new
3
3
@survey = Survey . find ( params [ :survey_id ] )
4
- @survey_inviter = SurveyInviter . new ( '' )
4
+ @survey_inviter = SurveyInviter . new ( '' , '' )
5
5
end
6
6
7
7
def create
8
8
@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 ?
11
11
recipient_list . each do |email |
12
12
invitation = Invitation . create (
13
13
survey : @survey ,
@@ -27,14 +27,6 @@ def create
27
27
28
28
private
29
29
30
- def valid_recipients?
31
- invalid_recipients . empty?
32
- end
33
-
34
- def valid_message?
35
- message . present?
36
- end
37
-
38
30
def invalid_recipients
39
31
@survey_inviter . invalid_recipients
40
32
end
Original file line number Diff line number Diff line change 1
1
class SurveyInviter
2
2
EMAIL_REGEX = /\A ([^@\s ]+)@((?:[-a-z0-9]+\. )+[a-z]{2,})\z /
3
3
4
- def initialize ( recipients )
4
+ def initialize ( message , recipients )
5
+ @message = message
5
6
@recipients = recipients
6
7
end
7
8
9
+ def valid?
10
+ valid_message? && valid_recipients?
11
+ end
12
+
8
13
def invalid_recipients
9
14
@invalid_recipients ||= recipient_list . map do |item |
10
15
unless item . match ( EMAIL_REGEX )
@@ -16,4 +21,14 @@ def invalid_recipients
16
21
def recipient_list
17
22
@recipient_list ||= @recipients . gsub ( /\s +/ , '' ) . split ( /[\n ,;]+/ )
18
23
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
19
34
end
You can’t perform that action at this time.
0 commit comments