Sometimes it is necessary to override inbuilt functionality of Rails (or other dependencies) by creating a monkey patch. However this may only be intended as a temporary solution, waiting on some future fix or upgrade to the framework.

In that case, it would be helpful to create a warning that will remind team members to remove the override later.

Consider:

# config/initializers/special_tableize.rb

module ActiveSupport
  module Inflector
    def tableize(class_name)
      base_name = pluralize(underscore(class_name))

      "special_" + base_name
    end
  end
end

if Rails.version =~ /^6\.2/
  warn "Rails is now at 6.2, special tableize() may be removed"
end

In this (very contrived) example, ActiveSupport::Inflector’s tableize method has been overridden, pending a future framework change. A warning has been added that will keep a reminder of the change visible, without interrupting normal operation.