Class: Spree::Core::MailSettings

Inherits:
Object
  • Object
show all
Defined in:
lib/spree/core/mail_settings.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.initObject

Override the Rails application mail settings based on preferences This makes it possible to configure the mail settings through an admin interface instead of requiring changes to the Rails envrionment file



7
8
9
10
# File 'lib/spree/core/mail_settings.rb', line 7

def self.init
  instance = new
  instance.override! if instance.override?
end

Instance Method Details

#override!Object



12
13
14
15
16
17
18
19
20
# File 'lib/spree/core/mail_settings.rb', line 12

def override!
  if mail_method.prefers_enable_mail_delivery?
    ActionMailer::Base.default_url_options[:host] ||= Spree::Config[:site_url]
    ActionMailer::Base.smtp_settings = mail_server_settings
    ActionMailer::Base.perform_deliveries = true
  else
    ActionMailer::Base.perform_deliveries = false
  end
end

#override?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/spree/core/mail_settings.rb', line 22

def override?
  override_actionmailer_config? && mail_method
end