-
-
Notifications
You must be signed in to change notification settings - Fork 199
Expand file tree
/
Copy pathmember_mailer.rb
More file actions
81 lines (67 loc) · 2.12 KB
/
member_mailer.rb
File metadata and controls
81 lines (67 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
class MemberMailer < ApplicationMailer
include EmailHeaderHelper
include EmailDelivery
after_deliver :log_sent_email, only: [:chaser]
def chaser
@member = params[:member]
subject = "It’s been a while, how are you doing? ♥️"
mail mail_args(@member, subject, 'hello@codebar.io', 'hello@codebar.io') do |format|
format.html {render 'three_month_chaser'}
end
end
def welcome(member)
if member.student?
welcome_student(member)
elsif member.coach?
welcome_coach(member)
end
end
def welcome_for_subscription(subscription)
member = subscription.member
if subscription.student?
welcome_student(member)
member.received_student_welcome_email = true
elsif subscription.coach?
welcome_coach(member)
member.received_coach_welcome_email = true
end
member.save
end
def welcome_student(member)
@member = member
subject = 'How codebar works'
mail(mail_args(member, subject, 'hello@codebar.io')) do |format|
format.html { render 'welcome_student' }
end
end
def welcome_coach(member)
@member = member
subject = 'How codebar works'
mail(mail_args(member, subject, 'hello@codebar.io')) do |format|
format.html { render 'welcome_coach' }
end
end
def eligibility_check(member, sender = 'hello@codebar.io')
@member = member
subject = 'Eligibility confirmation'
mail(mail_args(member, subject, 'hello@codebar.io', 'hello@codebar.io', sender)) do |format|
format.html { render 'eligibility_check' }
end
end
def attendance_warning(member, sender = 'hello@codebar.io')
@member = member
subject = 'Attendance warning'
mail(mail_args(member, subject, 'hello@codebar.io', 'hello@codebar.io', sender)) do |format|
format.html { render 'attendance_warning' }
end.deliver
end
def ban(member, ban)
@member = member
@reason = ban.reason
@expiry_date = I18n.l(ban.expires_at, format: :default)
@ban = ban
mail(mail_args(member, @reason, 'hello@codebar.io', 'hello@codebar.io')) do |format|
format.html { render 'ban' }
end.deliver
end
end