1

ErrorReporter#unexpected, with_routing test helpers and more!

 9 months ago
source link: https://rubyonrails.org/2023/11/24/this-week-in-rails
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Friday, November 24, 2023

ErrorReporter#unexpected, with_routing test helpers and more!

Posted by vipulnsward

Happy Thanksgiving weekend everyone! This is Vipul bringing you the latest from this week’s changes in the Rails codebase.

ErrorReporter#unexpected to report in production but raise in development This change adds ErrorReported#unexpected to report precondition violations.

For example:

  def edit
    if published?
      Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible")
        return false
    end
      # ...
  end

The above will raise an error in development and test, but only report the error in production.

Make with_routing test helper work for integration tests with_routing test helper support has now been added to ActionDispatch::IntegrationTest to allow usage in integration tests.

Support nested elements inside button tag in Active Storage uploads This change addresses a potential issue that could arise when a button or an input of type submit contains child elements, such as spans, icons, or other HTML elements.

Remove deprecations This PR is an ongoing effort to remove all deprecated code, marked as deprecated for Rails 7.2. Checkout the PR for all things going away and if you are handling them already!

Handle case in MySQL where the ActiveRecord.db_warnings_action is not called even when a DB query has warnings This change handles cases where MySQL returns warning_count greater than zero, but returns no warnings when the SHOW WARNINGS query is executed, ActiveRecord.db_warnings_action proc will still be called with a generic warning message rather than silently ignoring the warning(s).

Delay validation of registered Active Record adapters and allow aliasing of adapters This change is from an ongoing effort to allow aliasing of DB adapters by name. The end state here is to allow mysql to be mapped to either trilogy or mysql2 at an application level.

Fix ActiveStorage::Representations::ProxyController not returning the proper preview image variant for previewable files.

You can view the whole list of changes here. We had 20 contributors to the Rails codebase this past week!

Until next time!

Subscribe to get these updates mailed to you.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK