Looking for ruby Keywords? Try Ask4Keywords

Ruby Language रिफाइनमेंट्स के साथ सुरक्षित बंदर पैचिंग


उदाहरण

रूबी 2.0 के बाद से, रूबी शोधन के साथ बंदर बंदर को सुरक्षित रखने की अनुमति देता है। मूल रूप से यह बंदर पैच कोड को केवल तभी लागू करने की अनुमति देता है जब यह अनुरोध किया जाता है।

पहले हम एक मॉड्यूल में शोधन करते हैं:

module RefiningString
  refine String do
    def reverse
      "Hell riders"
    end
  end
end

फिर हम यह तय कर सकते हैं कि इसका उपयोग कहां किया जाए:

class AClassWithoutMP   
  def initialize(str)
    @str = str
  end
   
  def reverse
    @str.reverse
  end
end

class AClassWithMP
  using RefiningString

  def initialize(str)
    @str = str
  end
   
  def reverse
    str.reverse
  end
end

AClassWithoutMP.new("hello".reverse # => "olle"
AClassWithMP.new("hello").reverse # "Hell riders"