यह आपको एक अन्य वर्ग से प्राप्त करने देता है जो डीएम वर्ग नहीं है।
यह डीएम सुविधाओं को फ्लाई पर कक्षा में जोड़ने की भी अनुमति देता है।
def datamapper_class
klass = self.dup
klass.send(:include, DataMapper::Resource)
klass.storage_names[:default] = @table_name
klass.property(:id, DataMapper::Types::Serial)
klass.property(:created_at, DateTime, :nullable => false)
klass.property(:updated_at, DateTime, :nullable => false)
columns_with_types { |n, t| klass.property(n, t, :field => n.to_s) }
klass
end
यह मैं एक SAXMachine वर्ग (बहुत हल्के) लेने के लिए और यह तुरंत एक Datamapper वर्ग में बदल जाते हैं, और इसके साथ DataMappery सामान करने देता है: यहाँ एक मॉड्यूल से एक वर्ग विधि मैं पर काम कर रहा हूँ अभी है । आप इसे ऑब्जेक्ट की सिंगलटन कक्षा में भी कर सकते हैं।
मैं कल्पना है कि यह मेरी स्मृति पदचिह्न जब मैं XML से 100K वस्तुओं का आयात कर रहा हूँ (मैं बड़े पैमाने पर आयात के लिए डीएम का उपयोग नहीं करते) को कम करता है, और केवल और अधिक जटिल डेटाबेस कार्यों में मिश्रण जब मैं उन्हें जरूरत
चाहते
स्रोत
2009-07-24 23:16:09
मैंने सोचा कि यह पूरी तरह से 'दार्शनिक' कारण हो सकता है - चलिए देखते हैं कि अन्य लोग क्या कहते हैं। – cloudhead