Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी में रेक क्या है और इसका उपयोग कैसे करें

रूबी में रेक एक लोकप्रिय टास्क रनर है।

कार्य क्या है?

  • अपने डेटाबेस का बैकअप बनाना
  • अपने परीक्षण चलाना
  • आंकड़े इकट्ठा करना और रिपोर्ट करना

ये छोटे-छोटे कार्य हैं जो बिना रेक के आपके पूरे प्रोजेक्ट में अलग-अलग फाइलों में बिखर जाएंगे।

रेक आपके कार्यों तक पहुंच को केंद्रीकृत करता है।

रेक कुछ चीजों को आसान भी बनाता है, जैसे एक निश्चित पैटर्न से मेल खाने वाली फाइलों को ढूंढना और जिन्हें हाल ही में संशोधित किया गया है।

एक और बात :

रैक को रैक के साथ भ्रमित न करें, बहुत समान नाम, लेकिन पूरी तरह से अलग चीजें।

  • रेक एक कार्य धावक है।
  • रैक रूबी सर्वर और फ्रेमवर्क को एक साथ काम करने में मदद करता है।

अब:

आइए रेक को और विस्तार से देखें!

रेक का उपयोग कौन करता है?

रेल!

यदि आपने रेल के साथ कुछ भी किया है, तो आप शायद rake db:migrate से परिचित हैं। आदेश।

या rake routes

यह वहीं रेक इन एक्शन है।

ध्यान दें कि रेल, संस्करण 5.0 के बाद से, आपको अधिकांश rake . को कॉल करने की अनुमति देता है rails . के साथ कमांड इसके बजाय।

दूसरे शब्दों में :

आप rails db:migrate कर सकते हैं , लेकिन रेक अभी भी काम कर रहा है।

रेक टास्क कैसे लिखें

यहाँ एक आसान रेक कार्य है:

desc "Print reminder about eating more fruit."

task :apple do
  puts "Eat more apples!"
end

आप इस कोड को Rakefile . नाम की फाइल के अंदर रख सकते हैं , या यदि आप रेल का उपयोग कर रहे हैं, तो आप इसे lib/tasks/apple.rake के अंतर्गत सहेज सकते हैं ।

इस कार्य को चलाने के लिए :

rake apple

# "Eat more apples!"

कार्य के अंदर, आप सामान्य रूबी कोड लिख सकते हैं, लेकिन कुछ उपयोगी रेक विधियां हैं जिनका आप उपयोग कर सकते हैं।

उदाहरण के लिए :

  • रूबी (एक रूबी फ़ाइल चलाएँ)
  • sh (सिस्टम कमांड चलाएँ)
  • safe_ln (अपने फाइल सिस्टम में एक प्रतीकात्मक लिंक बनाएं)

रेक में FileUtils . शामिल है मॉड्यूल।

इसका मतलब है कि आप फ़ाइलों को cp . के साथ कॉपी कर सकते हैं , mkdir_p . के साथ निर्देशिका बनाएं , और यहां तक ​​कि chown . के साथ फ़ाइल अनुमतियां भी बदलें ।

यहां एक उदाहरण दिया गया है :

task :clean_cache do
  rm_r FileList["tmp/cache/*"]
end

rm_r से सावधान रहें (पुनरावृत्ति के साथ हटाएं) क्योंकि यह बिना पुष्टि के फ़ाइलों को हटा देगा, यदि आप एक पुष्टिकरण चरण जोड़ना चाहते हैं तो आप एक आश्रित कार्य जोड़ सकते हैं (इस लेख में बाद में कवर किया गया) और यदि आप जारी नहीं रखना चाहते हैं तो एक अपवाद उठाएं।

किसी अन्य निर्देशिका के अंदर रेक कमांड चलाना

आप एक विशिष्ट निर्देशिका के अंदर एक रेक कमांड चलाना चाह सकते हैं।

यहां बताया गया है :

task :import do
  puts "Importing data..."

  Dir.chdir(Rails.root.join("data")) { ruby "load-data.rb" }
end

इस उदाहरण में, मैं data . के अंदर एक रूबी स्क्रिप्ट चला रहा हूं मेरी रेल परियोजना में फ़ोल्डर।

रेक में नेमस्पेस का उपयोग कैसे करें

क्योंकि कार्यों के समान नाम हो सकते हैं, एक ही नाम का दो बार उपयोग करना आसान है।

इसलिए रेक में नेमस्पेस हैं।

उदाहरण के लिए :

आप एक backup बना सकते हैं आपके सभी बैकअप कार्यों के लिए नाम स्थान।

इसे पसंद करें :

namespace :backup do
  task :create do
    # ...
  end

  task :list do
    # ...
  end

  task :restore do
    # ...
  end
end

नेमस्पेस्ड टास्क चलाने के लिए :

rake backup:create

आश्रित कार्य

रेक आपको अन्य कार्यों की एक सूची को परिभाषित करने की अनुमति देता है जो वर्तमान कार्य से पहले चलना चाहिए।

इससे आप कोई भी सेटअप कर सकते हैं जिसकी टास्क को जरूरत होती है।

उदाहरण:

task create_examples: "load_database" do
  # ...
end

इस उदाहरण में, load_database create_examples . से पहले चलेगा ।

आश्रित कार्यों की सूची तारों की एक सरणी या प्रतीकों की एक सरणी भी हो सकती है।

एक अन्य कार्य के भीतर एक रेक कार्य चलाएँ

यदि वर्तमान कार्य से पहले चलने वाले कार्य का एक सेट होने के बजाय, आप वर्तमान कार्य के भीतर कोई अन्य कार्य चलाना चाहते हैं, तो आप निम्न कोड का उपयोग कर सकते हैं।

उदाहरण :

task :coverage do
  ENV['COVERAGE'] = 'true'
  Rake::Task["test"].execute
end

यह पर्यावरण चर सेट करने में मददगार हो सकता है जो परीक्षण कवरेज और अन्य विकल्पों को सक्षम करते हैं।

रेक नियमों का उपयोग कैसे करें

नियम फ़ाइल एक्सटेंशन रूपांतरण को परिभाषित करते हैं।

उदाहरण :

task compress: FileList["/tmp/*.txt"].ext(".txt.gz")

rule '.txt.gz' => '.txt' do |t|
  sh "gzip", "-k", "-f", t.source
end

नियमों का उपयोग करने का लाभ यह है कि एक बार फ़ाइल को संपीड़ित करने के बाद, स्रोत फ़ाइल में परिवर्तन होने तक इसे फिर से संपीड़ित नहीं किया जाएगा।

इस कोड में कुछ बातों पर ध्यान दें :

  1. हम FileList का उपयोग करते हैं क्लास, जो रेक का हिस्सा है, उन फाइलों की सूची को परिभाषित करने के लिए जिनके साथ हम काम करना चाहते हैं।
  2. नियम TARGET एक्सटेंशन से शुरू होता है, नियम से मेल खाने के लिए हमें .ext(".txt.gz") का उपयोग करना होगा FileList . पर ।
  3. यह .txt.gz => .txt इसका मतलब यह नहीं है कि हम txt.gz से जाते हैं करने के लिए txt , यह दूसरा तरीका है। तीर हैश सिंटैक्स है।

रेक विकल्प और कमांड

यहां उपयोगी रेक विकल्पों की सूची दी गई है :

  • रेक-टी (उपलब्ध कार्यों की सूची बनाएं)
  • रेक-पी (कार्यों और उनकी निर्भरता की सूची बनाएं)
  • रेक-डब्ल्यू (कार्यों की सूची बनाएं और जहां उन्हें परिभाषित किया गया है)
  • रेक -V (वर्बोज़ मोड, इको सिस्टम कमांड)
  • रेक-टी (डीबगिंग मोड)
  • रेक-एफ (एक विशिष्ट रेकफाइल का उपयोग करें)

उदाहरण के लिए, रेल ऐप में :

> rake -T test

rake test         # Runs all tests in test folder except system ones
rake test:db      # Run tests quickly, but also reset db
rake test:system  # Run system tests only

सारांश

आपने रूबी के लिए लोकप्रिय टास्क रनर रेक के बारे में सीखा।

rake -T का उपयोग करें यह पता लगाने के लिए कि कौन से कार्य उपलब्ध हैं, अपने स्वयं के कार्य बनाएं और उन्हें Rakefile . में जोड़ें , या lib/tasks . के अंदर फ़ोल्डर, और याद रखें कि rake &Rack अलग चीजें हैं।

रूबी में रेक क्या है और इसका उपयोग कैसे करें

इस लेख को शेयर करना न भूलें ताकि अधिक से अधिक लोग इसका आनंद उठा सकें 🙂

पढ़ने के लिए धन्यवाद!


  1. डिस्क प्रबंधन क्या है और इसका उपयोग कैसे करें?

    आप सभी ने देखा होगा, जब आप फाइल एक्सप्लोरर खोलते हैं, तो वहां विंडोज (सी:), रिकवरी (डी:), न्यू वॉल्यूम (ई:), न्यू वॉल्यूम (एफ:) और बहुत से फोल्डर उपलब्ध होते हैं। क्या आपने कभी सोचा है कि क्या ये सभी फोल्डर पीसी या लैपटॉप में अपने आप उपलब्ध हो जाते हैं या कोई इन्हें बनाता है। इन सभी फ़ोल्डरों का क्य

  1. मार्गदर्शित पहुंच क्या है और इसका उपयोग कैसे करें?

    लोगों में यह प्रवृत्ति होती है कि जब आप उन्हें अपना फोन सौंपते हैं तो वे इधर-उधर झांकते हैं। उदाहरण के लिए, आप अपने मित्र को एक मज़ेदार फ़ोटो देखने के लिए अपना फ़ोन सौंपते हैं, लेकिन वे स्क्रॉल करना शुरू कर देते हैं और अगली बात जो आप जानते हैं, वे आपकी व्यक्तिगत चीज़ों को देखना शुरू कर देते हैं। इसस

  1. RSS फ़ीड क्या है और इसका उपयोग कैसे करें

    पढ़ना एक स्वस्थ आदत है जो न केवल आपको पर्याप्त ज्ञान देती है बल्कि आपके पारस्परिक कौशल में भी मदद करती है। अब जब इंटरनेट के साथ आपके पास कागज बचाने और हरे होने का विकल्प है, तो यह भी सिरदर्द का कारण बनता है, खासकर जब आप पढ़ने लायक कुछ खोजने की कोशिश करते हैं। पढ़ने योग्य सामग्री का चयन उन प्रमुख मुद