1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionmailer/CHANGELOG.md
Edouard CHIN e139a3ce13 Fix ActionMailer assertion not working for mail defining delivery_job:
- If a Mail defines a custom delivery_job, all ActionMailer assertion
  helper (assert_emails, assert_enqueued_emails ...) wouldn't work.

  ```ruby
    MyMailer < ApplicationMailer
      self.delivery_job = MyJob
    end

    # This assertion will fail
    assert_emails(1) do
      MyMailer.my_mail.deliver_later
    end

  This PR leverage the new ActiveJob feature that accepts Procs for the
  `only` keyword and check if the delivery job is one of ActionMailer
   registered ones.
2018-11-21 23:17:04 +01:00

2 KiB

  • Fix ActionMailer assertions not working when a Mail defines a custom delivery job class

    Edouard Chin

  • Mails with multipart format blocks with implicit render now also check for a template name in options hash instead of only using the action name.

    Marcus Ilgner

  • Allow ActionMailer classes to configure the parameterized delivery job Example:

    class MyMailer < ApplicationMailer
      self.parameterized_delivery_job = MyCustomDeliveryJob
      ...
    end
    

    Luke Pearce

  • ActionDispatch::IntegrationTest includes ActionMailer::TestHelper module by default.

    Ricardo Díaz

  • Add perform_deliveries to a payload of deliver.action_mailer notification.

    Yoshiyuki Kinjo

  • Change delivery logging message when perform_deliveries is false.

    Yoshiyuki Kinjo

  • Allow call assert_enqueued_email_with with no block.

    Example:

    def test_email
      ContactMailer.welcome.deliver_later
      assert_enqueued_email_with ContactMailer, :welcome
    end
    
    def test_email_with_arguments
      ContactMailer.welcome("Hello", "Goodbye").deliver_later
      assert_enqueued_email_with ContactMailer, :welcome, args: ["Hello", "Goodbye"]
    end
    

    bogdanvlviv

  • Ensure mail gem is eager autoloaded when eager load is true to prevent thread deadlocks.

    Samuel Cochran

  • Perform email jobs in assert_emails.

    Gannon McGibbon

  • Add Base.unregister_observer, Base.unregister_observers, Base.unregister_interceptor, Base.unregister_interceptors, Base.unregister_preview_interceptor and Base.unregister_preview_interceptors. This makes it possible to dynamically add and remove email observers and interceptors at runtime in the same way they're registered.

    Claudio Ortolina, Kota Miyake

  • Rails 6 requires Ruby 2.4.1 or newer.

    Jeremy Daer

Please check 5-2-stable for previous changes.