123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # encoding: utf-8
- #
- # Thanks to Nicolas Fouché for this wrapper
- #
- require 'singleton'
- module Mail
- # The Configuration class is a Singleton used to hold the default
- # configuration for all Mail objects.
- #
- # Each new mail object gets a copy of these values at initialization
- # which can be overwritten on a per mail object basis.
- class Configuration
- include Singleton
- def initialize
- @delivery_method = nil
- @retriever_method = nil
- super
- end
- def delivery_method(method = nil, settings = {})
- return @delivery_method if @delivery_method && method.nil?
- @delivery_method = lookup_delivery_method(method).new(settings)
- end
- def lookup_delivery_method(method)
- case method
- when nil
- Mail::SMTP
- when :smtp
- Mail::SMTP
- when :sendmail
- Mail::Sendmail
- when :exim
- Mail::Exim
- when :file
- Mail::FileDelivery
- when :smtp_connection
- Mail::SMTPConnection
- when :test
- Mail::TestMailer
- else
- method
- end
- end
- def retriever_method(method = nil, settings = {})
- return @retriever_method if @retriever_method && method.nil?
- @retriever_method = lookup_retriever_method(method).new(settings)
- end
- def lookup_retriever_method(method)
- case method
- when nil
- Mail::POP3
- when :pop3
- Mail::POP3
- when :imap
- Mail::IMAP
- when :test
- Mail::TestRetriever
- else
- method
- end
- end
- def param_encode_language(value = nil)
- value ? @encode_language = value : @encode_language ||= 'en'
- end
- end
- end
|