Module: ActionMailer::DeliveryMethods::ClassMethods
- Defined in:
- actionmailer/lib/action_mailer/delivery_methods.rb
Instance Method Summary (collapse)
-
- (Object) add_delivery_method(symbol, klass, default_options = {})
Adds a new delivery method through the given class using the given symbol as alias and the default options supplied:.
-
- (Object) wrap_delivery_behavior(mail, method = nil)
:nodoc:.
Instance Method Details
- (Object) add_delivery_method(symbol, klass, default_options = {})
Adds a new delivery method through the given class using the given symbol as alias and the default options supplied:
Example:
add_delivery_method :sendmail, Mail::Sendmail,
:location => '/usr/sbin/sendmail',
:arguments => '-i -t'
54 55 56 57 58 |
# File 'actionmailer/lib/action_mailer/delivery_methods.rb', line 54 def add_delivery_method(symbol, klass, ={}) class_attribute(:#{symbol}_settings") unless respond_to?(:#{symbol}_settings") send(:#{symbol}_settings=", ) self.delivery_methods = delivery_methods.merge(symbol.to_sym => klass).freeze end |
- (Object) wrap_delivery_behavior(mail, method = nil)
:nodoc:
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'actionmailer/lib/action_mailer/delivery_methods.rb', line 60 def wrap_delivery_behavior(mail, method=nil) #:nodoc: method ||= self.delivery_method mail.delivery_handler = self case method when NilClass raise "Delivery method cannot be nil" when Symbol if klass = delivery_methods[method.to_sym] mail.delivery_method(klass, send(:#{method}_settings")) else raise "Invalid delivery method #{method.inspect}" end else mail.delivery_method(method) end mail.perform_deliveries = perform_deliveries mail.raise_delivery_errors = raise_delivery_errors end |