Class: Mail::TestMailer

Inherits:
Object show all
Includes:
CheckDeliveryParams
Defined in:
lib/mail/network/delivery_methods/test_mailer.rb

Overview

The TestMailer is a bare bones mailer that does nothing. It is useful when you are testing.

It also provides a template of the minimum methods you require to implement if you want to make a custom mailer for Mail

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods included from CheckDeliveryParams

#check_delivery_params

Constructor Details

- (TestMailer) initialize(values)

Returns a new instance of TestMailer



32
33
34
# File 'lib/mail/network/delivery_methods/test_mailer.rb', line 32

def initialize(values)
  @settings = values.dup
end

Instance Attribute Details

- (Object) settings

Returns the value of attribute settings



36
37
38
# File 'lib/mail/network/delivery_methods/test_mailer.rb', line 36

def settings
  @settings
end

Class Method Details

+ (Object) deliveries

Provides a store of all the emails sent with the TestMailer so you can check them.



13
14
15
# File 'lib/mail/network/delivery_methods/test_mailer.rb', line 13

def TestMailer.deliveries
  @@deliveries ||= []
end

+ (Object) deliveries=(val)

Allows you to over write the default deliveries store from an array to some other object. If you just want to clear the store, call TestMailer.deliveries.clear.

If you place another object here, please make sure it responds to:

  • << (message)

  • clear

  • length

  • size

  • and other common Array methods



28
29
30
# File 'lib/mail/network/delivery_methods/test_mailer.rb', line 28

def TestMailer.deliveries=(val)
  @@deliveries = val
end

Instance Method Details

- (Object) deliver!(mail)



38
39
40
41
# File 'lib/mail/network/delivery_methods/test_mailer.rb', line 38

def deliver!(mail)
  check_delivery_params(mail)
  Mail::TestMailer.deliveries << mail
end