Основные плагины, где использовался форк объединённого плагина

В определенной степени вы можете заменять или расширять логику в существующих классах. Это может быть вариантом для расширения встроенного плагина. Вам нужно написать новый плагин, который просто добавляет измененную логику. Используйте module prepend.

enabled_site_setting :myoverridingplugin_enabled

module ::MyOverridingPlugin
	PLUGIN_NAME = "my-overriding-plugin"

	class Engine < ::Rails::Engine
		engine_name MyOverridingPlugin::PLUGIN_NAME
		isolate_namespace MyOverridingPlugin
	end

	module SomeClassOverrides
		def overriding_method(foo, bar)
			if foo == "something"
				# выполните пользовательское действие
			else
				# это вызовет исходную логику
				super(foo, bar)
			end
		end
	end
end

after_initialize do
	SomeClass.prepend(MyOverridingPlugin::SomeClassOverrides)
end

Я использовал этот подход, чтобы ограничить некоторые контроллеры при определенных условиях.