Class: Suspenders::Production::EmailGenerator

Inherits:
Generators::Base
  • Object
show all
Defined in:
lib/suspenders/generators/production/email_generator.rb

Instance Method Summary collapse

Methods inherited from Generators::Base

default_source_root, inherited

Methods included from Actions

#action_mailer_asset_host, #action_mailer_host, #configure_environment, #expand_json, #replace_in_file

Instance Method Details

#env_varsObject



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/suspenders/generators/production/email_generator.rb', line 21

def env_vars
  expand_json(
    "app.json",
    env: {
      SMTP_ADDRESS: {required: true},
      SMTP_DOMAIN: {required: true},
      SMTP_PASSWORD: {required: true},
      SMTP_USERNAME: {required: true}
    }
  )
end

#smtp_configurationObject



6
7
8
9
10
11
# File 'lib/suspenders/generators/production/email_generator.rb', line 6

def smtp_configuration
  copy_file "smtp.rb", "config/smtp.rb"

  prepend_file "config/environments/production.rb",
    %{require Rails.root.join("config/smtp")\n}
end

#use_smtpObject



13
14
15
16
17
18
19
# File 'lib/suspenders/generators/production/email_generator.rb', line 13

def use_smtp
  inject_template_into_file(
    "config/environments/production.rb",
    "partials/email_smtp.rb",
    after: "config.action_mailer.perform_caching = false"
  )
end