Class: Recipes::Mailer

Inherits:
Rails::AppBuilder
  • Object
show all
Defined in:
lib/potassium/recipes/mailer.rb

Instance Method Summary collapse

Instance Method Details

#add_mailer_queueObject



35
36
37
# File 'lib/potassium/recipes/mailer.rb', line 35

def add_mailer_queue
  insert_into_file "config/sidekiq.yml", "  - mailers", after: "- default\n"
end

#askObject



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/potassium/recipes/mailer.rb', line 2

def ask
  email_services = {
    aws_ses: "Amazon SES",
    sendgrid: "Sendgrid (beta)",
    none: "None, thanks"
  }

  email_service = answer(:email_service) do
    email_services.keys[Ask.list("Which email service are you using?", email_services.values)]
  end
  set :email_service, email_service.to_sym
end

#createObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/potassium/recipes/mailer.rb', line 15

def create
  email_service = email_services(get(:email_service))
  return if email_service.nil?

  set(:mailer_delivery_method, email_service[:delivery_method])
  set(:mailer_gem_name, email_service[:gem_name])

  add_readme_header :mailing

  dependencies(email_service)
  config(email_service)

  ensure_sidekiq_install_and_add_mailers_queue
end

#installObject



30
31
32
33
# File 'lib/potassium/recipes/mailer.rb', line 30

def install
  ask
  create
end