2011-01-10 16 views
14

मैंने एक स्क्रिप्ट लिखी है जो रूबी कोर ऑब्जेक्ट क्लास में रेल के एक्सटेंशन का उपयोग करती है, और अब मैं इसे अपने आप से बाहर करना चाहता हूं। इन्हें फिर से लिखने के बजाय, क्या कोई लाइब्रेरी या एक्सटेंशन है जिसका उपयोग मैं उन्हें स्वतंत्र रूप से उपलब्ध कराने के लिए कर सकता हूं?वर्तमान का उपयोग कैसे करें? रूबी परियोजनाओं में?

उत्तर

25

आप

require 'active_support/all' 

उपयोग करने के लिए रेल चलाने के लिए या यदि आप बस एक विशिष्ट एक्सटेंशन स्ट्रिंग के लिए तो बस

require 'active_support/core_ext/string' 

मैं looked uppresent? चाहते हैं और blank? की तरह, यह वास्तव में परिभाषित किया है की जरूरत नहीं है

def present? 
    !blank? 
end 

रिक्त परिभाषित सक्रिय समर्थन में

def blank? 
    respond_to?(:empty?) ? !!empty? : !self 
end 
+3

tokland के रूप में कहते हैं नीचे आप और भी अधिक विशिष्ट हो सकता है: "active_support/core_ext/वस्तु/खाली" –

+0

@tokland अच्छा बिंदु की आवश्यकता होती है! –

+0

ठीक है, इसे परिभाषित किया गया है! खाली? लेकिन यह भी आवश्यक है कि खाली विधि को हर दूसरे वर्ग (उसी फ़ाइल में भी) में जोड़ा जाए, इसलिए यह इतना आसान नहीं है कि – rogerdpack

8

आपको ActiveSupport से विशिष्ट कार्यक्षमता की आवश्यकता हो सकती है। इस मामले में:

require 'active_support/core_ext/object/blank' 
[].present? #=> false 
संबंधित मुद्दे