कुछ परियोजनाओं को आवर्ती घटनाओं के लिए नियमों को कॉन्फ़िगर करने में सक्षम होने के लिए उपयोगकर्ता की आवश्यकता होती है। कभी-कभी घटनाओं के नियम काफी जटिल हो सकते हैं, उदाहरण के लिए, "महीने का प्रत्येक दिन" या "निश्चित तारीख तक महीने के हर दूसरे शुक्रवार"। ऐसी समस्याओं को हल करने के लिए, आप
मणि ice_cube का सफलतापूर्वक उपयोग कर सकते हैं।
मणि ice_cube आपको आईकैलेंडर के समान एपीआई का उपयोग करके आवर्ती घटनाओं के लिए नियम निर्धारित करने और यमल और रूबी हैश प्रारूपों में क्रमबद्ध / डीसर्विलाइज़ शेड्यूल करने की अनुमति देता है। Ice_cube आपको केवल एक शेड्यूल स्टोर करने की अनुमति देता है, और तुरंत पहले सैकड़ों इवेंट उत्पन्न नहीं करता है। हमने सुविधाजनक और लचीली API, निरंतर अपडेट और बग फिक्स, अन्य डेवलपर्स के बीच लोकप्रियता के कारण ice_cube को चुना।
मणि स्थापना:
gem install ice_cube
शेड्यूल बनाने के लिए, आपको आइसक्यूब :: शेड्यूल क्लास का उपयोग करना चाहिए:
require 'rubygems' require 'ice_cube' include IceCube
IceCube :: नियम को दोहराने के नियम बनाने के लिए उपयोग किया जाता है। Ice_cube दैनिक, साप्ताहिक, मासिक, वार्षिक, प्रति घंटा, मिनट और दूसरे दोहराव के नियमों को बनाए रखता है। उपयोग के कुछ उदाहरण (उदाहरणों की एक पूरी सूची परियोजना पृष्ठ पर पाई जा सकती है):
अनन्य नियमों सहित कई नियमों को एक अनुसूची में जोड़ा जा सकता है:
नियमों के लिए, आप एक निश्चित तिथि तक दोहराव की संख्या पर सीमा निर्धारित कर सकते हैं:
अब, शायद, सबसे दिलचस्प बात अनुसूची अनुरोध हैं:
YAML / HASH / iCal स्वरूपों में डेटा का क्रमांकन:
हम FullCalendar और DelayedJob के साथ पुनरावर्ती घटनाओं के एक कैलेंडर को लागू करने के लिए मणि ice_cube का उपयोग करते हैं,
इस पृष्ठ पर उपयोग का एक उदाहरण देखा जा सकता है।
इस लेख के लिए कुछ उदाहरण आधिकारिक दस्तावेज से लिए गए हैं। यदि आपके पास कोई प्रश्न या टिप्पणी है, तो मुझे उनका उत्तर देने में खुशी होगी।
संदर्भ:
gitub.com/seejohnrun/ice_cube - GitHub पर प्रोजेक्ट पेज।
seejohnrun.github.com/ice_cube/static/ice_cube_ruby_nyc.pdf -
ice_cube की प्रस्तुति।
seejohnrun.github.com/ice_cube/static/lsrc_ice_cube.pdf एक और प्रस्तुति है।
www.inexfinance.com/en/blog/2012/12/2/gem_ice_cube - इस लेख का अंग्रेजी संस्करण।
github.com/inex-finance/blog-examples - इस लेख से उदाहरण।