Blob of app/models/mailer.rb (raw blob data)

1 class Mailer < ActionMailer::Base
2 def signup_notification(user)
3 setup_email(user)
4 @subject += 'Please activate your new account'
5 @body[:url] = url_for(
6 :controller => 'users',
7 :action => 'activate',
8 :activation_code => user.activation_code
9 )
10 end
11
12 def activation(user)
13 setup_email(user)
14 @subject += 'Your account has been activated!'
15 end
16
17 def new_repository_clone(repository)
18 setup_email(repository.project.user)
19 @subject += %Q{#{repository.user.login} has cloned #{repository.project.slug}/#{repository.parent.name}}
20 @body[:user] = repository.project.user
21 @body[:cloner] = repository.user
22 @body[:project] = repository.project
23 @body[:repository] = repository
24 @body[:url] = project_repository_url(repository.project, repository)
25 end
26
27 def merge_request_notification(merge_request)
28 setup_email(merge_request.target_repository.user)
29 @subject += %Q{#{merge_request.source_repository.user.login} has requested a merge in #{merge_request.target_repository.project.title}}
30 @body[:merge_request] = merge_request
31 @body[:project] = merge_request.target_repository.project
32 @body[:url] =
33 project_repository_merge_request_url(
34 merge_request.target_repository.project,
35 merge_request.target_repository,
36 merge_request
37 )
38 end
39
40 def forgotten_password(user, password)
41 setup_email(user)
42 @subject += "Your new password"
43 @body[:password] = password
44 end
45
46 protected
47 def setup_email(user)
48 @recipients = "#{user.email}"
49 @from = "Gitorious <no-reply@#{GitoriousConfig['gitorious_host']}>"
50 @subject = "[Gitorious] "
51 @sent_on = Time.now
52 @body[:user] = user
53 end
54 end