الإضافات الأساسية التي كان يتم فيها استخدام تفرع (fork) لإضافة مدمجة

إلى حد ما يمكنك استبدال/توسيع المنطق في الفئات الموجودة. قد يكون هذا خيارًا لتوسيع المكون الإضافي المجمع. ستقوم بكتابة مكون إضافي جديد يضيف المنطق المعدل فقط. باستخدام إلحاق الوحدة (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(f00, bar)
			end
		end
	end
end

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

لقد استخدمت هذا المُنشئ لتحديد بعض وحدات التحكم في ظل ظروف معينة.

إعجاب واحد (1)