module ActionMailerConfig

Constants

VERSION

Public Instance Methods

load(config) click to toggle source
# File lib/action_mailer_config.rb, line 6
def load(config)
  config = symbolize_keys(config)
  delivery_method = (config.delete(:delivery_method) || :test).to_sym

  if (default = config.delete(:default))
    ActionMailer::Base.default(default)
  end

  if defined?(Rails)
    Rails.application.config.action_mailer.delivery_method = delivery_method
    config.each do |attribute, value|
      Rails.application.config.action_mailer.send("#{attribute}=", value)
    end
  else
    ActionMailer::Base.instance_eval do
      self.delivery_method = delivery_method
      config.each do |attribute, value|
        send("#{attribute}=", value)
      end
    end
  end
end
symbolize_keys(obj) click to toggle source

for actionmailer 4

# File lib/action_mailer_config.rb, line 30
def symbolize_keys(obj)
  case obj
  when Hash
    obj.each_with_object({}) do |(k, v), h|
      h[k.to_sym] = symbolize_keys(v)
    end
  when Array
    obj.map {|e| symbolize_keys(e) }
  else
    obj
  end
end