module MtaSettings::ActionMailerExtensions
Public Instance Methods
mta_settings()
click to toggle source
# File lib/mta_settings.rb, line 127 def mta_settings [delivery_method, send("#{delivery_method}_settings")] if delivery_method end
mta_settings=(arg)
click to toggle source
# File lib/mta_settings.rb, line 131 def mta_settings=(arg) self.delivery_method, settings = *case arg when nil, "" [nil, nil] when String, URI MtaSettings.from_url(arg) when Array arg when Symbol [arg, {}] when Hash arg = arg.dup [arg.delete(:adapter) || arg.delete(:transport), arg] when ENV MtaSettings.from_env(arg) else raise ArgumentError, "Unsupported MTA settings #{arg.inspect}" end return unless delivery_method && settings accessor = :"#{delivery_method}_settings" class_attribute(accessor) unless respond_to?(accessor) send(:"#{accessor}=", settings) if settings[:from] default :from => settings[:from] elsif !default.has_key?(:from) && ![nil, LOCALHOST].include?(settings[:domain]) default :from => "noreply@#{settings[:domain]}" elsif !default.has_key?(:from) && settings[:user_name] =~ /\A\S+@\S+\.\w+\z/ default :from => settings[:user_name] end end