From f5a4ba60fe99eb9a01487d695fb18c37caa846aa Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 31 Aug 2025 05:38:33 +0000 Subject: [PATCH] Refactor hardcoded emails to a central configuration --- app/mailers/application_mailer.rb | 2 +- app/mailers/notifier_mailer.rb | 2 +- config/application.rb | 4 ++-- config/initializers/devise.rb | 2 +- config/initializers/email.rb | 9 +++++++++ 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 config/initializers/email.rb diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index d84cb6e71e..748601d8b0 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base - default from: 'from@example.com' + default from: "Growstuff <#{Rails.configuration.x.email[:from]}>" layout 'mailer' end diff --git a/app/mailers/notifier_mailer.rb b/app/mailers/notifier_mailer.rb index 4a85ea0f4d..5bbc5a08f4 100644 --- a/app/mailers/notifier_mailer.rb +++ b/app/mailers/notifier_mailer.rb @@ -2,7 +2,7 @@ class NotifierMailer < ApplicationMailer # include NotificationsHelper - default from: "Growstuff <#{ENV.fetch('GROWSTUFF_EMAIL', nil)}>" + default from: "Growstuff <#{Rails.configuration.x.email[:from]}>" def verifier unless ENV['RAILS_SECRET_TOKEN'] diff --git a/config/application.rb b/config/application.rb index ff16123eed..1e2fbc2823 100644 --- a/config/application.rb +++ b/config/application.rb @@ -62,9 +62,9 @@ class Application < Rails::Application # Growstuff-specific configuration variables config.currency = 'AUD' - config.bot_email = ENV.fetch('GROWSTUFF_EMAIL', nil) + config.bot_email = Rails.configuration.x.email[:from] config.user_agent = 'Growstuff' - config.user_agent_email = "info@growstuff.org" + config.user_agent_email = Rails.configuration.x.email[:from] Gibbon::API.api_key = ENV['GROWSTUFF_MAILCHIMP_APIKEY'] || 'notarealkey' # API key can't be blank or tests fail diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 18c21d5f9f..adf455d1fd 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -6,7 +6,7 @@ # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer, # note that it will be overwritten if you use your own mailer class with default "from" parameter. - config.mailer_sender = "Growstuff <#{ENV.fetch('GROWSTUFF_EMAIL', nil)}>" + config.mailer_sender = "Growstuff <#{Rails.configuration.x.email[:from]}>" config.secret_key = ENV.fetch('RAILS_SECRET_TOKEN', nil) diff --git a/config/initializers/email.rb b/config/initializers/email.rb new file mode 100644 index 0000000000..f7698de4a7 --- /dev/null +++ b/config/initializers/email.rb @@ -0,0 +1,9 @@ +module Growstuff + class Application < Rails::Application + config.x.email = { + from: ENV.fetch('GROWSTUFF_EMAIL', 'info@growstuff.org'), + admin: ENV.fetch('GROWSTUFF_ADMIN_EMAIL', 'sysadmin@growstuff.org'), + support: ENV.fetch('GROWSTUFF_SUPPORT_EMAIL', 'info@growstuff.org') + } + end +end