@@ -117,14 +117,7 @@ def invite_coaches_to_virtual_workshop(workshop, logger = nil)
117117 next unless invitation
118118
119119 count += 1
120- if logger
121- begin
122- VirtualWorkshopInvitationMailer . invite_coach ( workshop , coach , invitation ) . deliver_now
123- logger . log_success ( coach , invitation )
124- rescue StandardError => e
125- logger . log_failure ( coach , invitation , e )
126- end
127- else
120+ send_email_with_logging ( logger , coach , invitation ) do
128121 VirtualWorkshopInvitationMailer . invite_coach ( workshop , coach , invitation ) . deliver_now
129122 end
130123 end
@@ -138,14 +131,7 @@ def invite_coaches_to_workshop(workshop, logger = nil)
138131 next unless invitation
139132
140133 count += 1
141- if logger
142- begin
143- WorkshopInvitationMailer . invite_coach ( workshop , coach , invitation ) . deliver_now
144- logger . log_success ( coach , invitation )
145- rescue StandardError => e
146- logger . log_failure ( coach , invitation , e )
147- end
148- else
134+ send_email_with_logging ( logger , coach , invitation ) do
149135 WorkshopInvitationMailer . invite_coach ( workshop , coach , invitation ) . deliver_now
150136 end
151137 end
@@ -159,14 +145,7 @@ def invite_students_to_virtual_workshop(workshop, logger = nil)
159145 next unless invitation
160146
161147 count += 1
162- if logger
163- begin
164- VirtualWorkshopInvitationMailer . invite_student ( workshop , student , invitation ) . deliver_now
165- logger . log_success ( student , invitation )
166- rescue StandardError => e
167- logger . log_failure ( student , invitation , e )
168- end
169- else
148+ send_email_with_logging ( logger , student , invitation ) do
170149 VirtualWorkshopInvitationMailer . invite_student ( workshop , student , invitation ) . deliver_now
171150 end
172151 end
@@ -180,20 +159,26 @@ def invite_students_to_workshop(workshop, logger = nil)
180159 next unless invitation
181160
182161 count += 1
183- if logger
184- begin
185- WorkshopInvitationMailer . invite_student ( workshop , student , invitation ) . deliver_now
186- logger . log_success ( student , invitation )
187- rescue StandardError => e
188- logger . log_failure ( student , invitation , e )
189- end
190- else
162+ send_email_with_logging ( logger , student , invitation ) do
191163 WorkshopInvitationMailer . invite_student ( workshop , student , invitation ) . deliver_now
192164 end
193165 end
194166 count
195167 end
196168
169+ def send_email_with_logging ( logger , member , invitation )
170+ if logger
171+ begin
172+ yield
173+ logger . log_success ( member , invitation )
174+ rescue StandardError => e
175+ logger . log_failure ( member , invitation , e )
176+ end
177+ else
178+ yield
179+ end
180+ end
181+
197182 def retrieve_and_notify_waitlisted ( workshop , role :)
198183 WaitingList . by_workshop ( workshop ) . where_role ( role ) . each do |waiting_list |
199184 WorkshopInvitationMailer . notify_waiting_list ( waiting_list . invitation ) . deliver_now
0 commit comments