मैं विधि एकल मॉडल श्रेणी के उदाहरण पर व्यवहार को ओवरराइड करना चाहता हूं। चर को मानते हुए @alert
कहा जाता है इसके बारे में जाने का सबसे अच्छा तरीका क्या है? स्पष्ट होने के लिए, मैं पूरी कक्षा के लिए इस विधि के व्यवहार को संशोधित करना चाहता हूं।एकल ऑब्जेक्ट पर बंदर पैच विधि
अस्वीकरण:
मैं यह करने के false
वापस जाने के लिए जब मैं यह इतना है कि मैं निम्नलिखित कोड से निपटने त्रुटि के लिए इकाई परीक्षण लिख सकते हैं करना चाहते हैं विधि के लिए मजबूर करने की जरूरत है। मैं समझता हूं कि यह सबसे अच्छा अभ्यास नहीं हो सकता है।
के बारे में मैं शब्द "बंदर पैच" के आपके उपयोग को सही करने के था - यह केवल रूबी के अंतर्निहित तरीकों में से संशोधन के लिए आवेदन किया सोच - लेकिन googling के बाद ऐसा लगता है इसके अर्थ के रूप में कोई आम सहमति नहीं है। उदाहरण के लिए, [यह SO सवाल] देखें (http://stackoverflow.com/questions/394144/what-does-monkey-patching-exactly-mean-in-ruby)। –
@CarySwoveland ऐतिहासिक रूप से "पैस पैच" का अर्थ है मौजूदा विधियों को अपने स्वयं के कार्यान्वयन के साथ रोकना जहां ये पूरी तरह से लेते हैं। इस मामले में यह एक "नकली" ऑपरेशन है, जहां यह केवल एक वस्तु को बदल रहा है, और अन्य वस्तुओं, दोनों मौजूदा और भविष्य में बनाए गए, अप्रभावित हैं। – tadman
यह एक विधि स्टब की तरह बहुत गंध करता है, जो किसी भी सभ्य परीक्षण ढांचे को समायोजित करेगा। – zetetic