Sha256: e977696f901f56042136847c3c578ffbcf3ca5c95693a8211e103904978655d2
Contents?: true
Size: 1.14 KB
Versions: 16
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true require 'mail/smtp_envelope' module Mail # 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 class TestMailer # Provides a store of all the emails sent with the TestMailer so you can check them. def self.deliveries @@deliveries ||= [] end # 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 def self.deliveries=(val) @@deliveries = val end attr_accessor :settings def initialize(values) @settings = values.dup end def deliver!(mail) # Create the envelope to validate it Mail::SmtpEnvelope.new(mail) Mail::TestMailer.deliveries << mail end end end
Version data entries
16 entries across 15 versions & 6 rubygems