Skip to content

Commit

Permalink
Merge pull request #219 from cgunther/lazy-load-ar-base
Browse files Browse the repository at this point in the history
Avoid eagerly loading ActionMailer::Base
  • Loading branch information
etagwerker committed Sep 12, 2022
2 parents d53cbc3 + edc1d27 commit 58f94e2
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 5 deletions.
17 changes: 12 additions & 5 deletions lib/email_spec/deliveries.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,19 @@ module Deliveries
if defined?(Pony)
def deliveries; Pony::deliveries ; end
include EmailSpec::MailerDeliveries
elsif ActionMailer::Base.delivery_method == :activerecord
include EmailSpec::ARMailerDeliveries
else
def mailer; ActionMailer::Base; end
include EmailSpec::MailerDeliveries
ActiveSupport.on_load(:action_mailer) do
if delivery_method == :activerecord
::EmailSpec::Helpers.include EmailSpec::ARMailerDeliveries
else
::EmailSpec::Deliveries.module_eval do
def mailer
ActionMailer::Base
end
end
::EmailSpec::Helpers.include ::EmailSpec::MailerDeliveries
end
end
end
end
end

1 change: 1 addition & 0 deletions spec/email_spec/mail_ext_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'active_support'

describe EmailSpec::MailExt do
describe "#default_part" do
Expand Down
3 changes: 3 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
require 'mail'
require File.expand_path(File.dirname(__FILE__) + '/../lib/email_spec.rb')

# Trigger loading ActionMailer::Base
ActionMailer::Base

RSpec.configure do |config|
config.include EmailSpec::Helpers
config.include EmailSpec::Matchers
Expand Down

0 comments on commit 58f94e2

Please sign in to comment.