Skip to content

Commit

Permalink
KBP-137 #time 1h - configure mailer
Browse files Browse the repository at this point in the history
FatihAvsan committed Oct 31, 2017
1 parent e10314b commit d8620ce
Showing 8 changed files with 56 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/cybele.rb
Original file line number Diff line number Diff line change
@@ -12,4 +12,5 @@
require 'cybele/helpers/haml'
require 'cybele/helpers/locale_language'
require 'cybele/helpers/dotenv'
require 'cybele/helpers/mailer'
require 'cybele/app_builder'
9 changes: 9 additions & 0 deletions lib/cybele/app_builder.rb
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ class AppBuilder < Rails::AppBuilder
include Cybele::Helpers::Haml
include Cybele::Helpers::LocaleLanguage
include Cybele::Helpers::Dotenv
include Cybele::Helpers::Mailer

def readme
template 'README.md.erb',
@@ -67,5 +68,13 @@ def generate_rollbar
def configure_environment(rails_env, config)
inject_into_file("config/environments/#{rails_env}.rb", "\n#{config}", before: "\nend")
end

def action_mailer_host(rails_env)
config = <<-RUBY
# Mail Setting
config.action_mailer.default_url_options = { host: ENV['ROOT_PATH'] }
RUBY
configure_environment(rails_env, config)
end
end
end
8 changes: 8 additions & 0 deletions lib/cybele/generators/app_generator.rb
Original file line number Diff line number Diff line change
@@ -182,6 +182,14 @@ def setup_dotenv
build :configure_dotenv
end

def configure_mail_setting
say '-*-*-*-*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-Setup mail settings-*-*-*-*--*-*-*-*--*-*-*--*-*-*-*--**-*-*-*-*-*-*-*-*-*-'
build :configure_action_mailer
build :configure_smtp
build :setup_letter_opener
say '-*-*-*-*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-Setup mail settings-*-*-*-*--*-*-*-*--*-*-*--*-*-*-*--**-*-*-*-*-*-*-*-*-*-'
end

def goodbye
say 'Congratulations! That\'s all...', :green
end
27 changes: 27 additions & 0 deletions lib/cybele/helpers/mailer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# frozen_string_literal: true

module Cybele
module Helpers
module Mailer
def configure_action_mailer
action_mailer_host 'development'
action_mailer_host 'staging'
action_mailer_host 'production'
end

def configure_smtp
# remove_file 'config/settings/production.yml', force: true
copy_file 'config/settings/production.yml', 'config/settings/production.yml'
copy_file 'config/settings/staging.yml', 'config/settings/staging.yml'

configure_environment 'staging', template_content('recipient_interceptor/recipient_interceptor_staging.rb.erb')
configure_environment 'production', template_content('mailer/smtp.rb.erb')
configure_environment 'staging', template_content('mailer/smtp.rb.erb')
end

def setup_letter_opener
configure_environment 'development', template_content('mailer/letter_opener.rb.erb')
end
end
end
end
Empty file.
Empty file.
1 change: 1 addition & 0 deletions templates/mailer/letter_opener.rb.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
config.action_mailer.delivery_method = :letter_opener
10 changes: 10 additions & 0 deletions templates/mailer/smtp.rb.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = false
config.action_mailer.smtp_settings = {
address: Settings.smtp.address,
port: Settings.smtp.port,
enable_starttls_auto: Settings.smtp.enable_starttls_auto,
user_name: Settings.smtp.user_name,
password: Settings.smtp.password,
authentication: Settings.smtp.authentication
}

0 comments on commit d8620ce

Please sign in to comment.