रत्न बनाना - एक मार्गदर्शक

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

तो आपको वास्तव में अपने रत्नों को बनाने, विकसित करने और प्रकाशित करने की आवश्यकता कैसे है?

आधुनिक दृष्टिकोण बुंडलर को अन्य उपकरणों जैसे गिट, यार्ड और आरएसईपीके -2 के साथ संयोजन के रूप में उपयोग करना है।

एक मूल संरचना बनाना


तो, एक नया रत्न बनाने के लिए, बस कमांड चलाएं
bundle gem YOUR-GEM-NAME 

स्वाभाविक रूप से, इस कमांड को निष्पादित करने से पहले, बंडलर gem install bundler ( gem install bundler ) पहले से ही स्थापित होना चाहिए।

उसके बाद, आपको रत्न- निर्माण के लिए तैयार किए गए आदेशों के साथ अपने नए रत्न की मूल संरचना को रत्न के निर्माण के लिए तैयार कर दिया जाएगा, इसे स्थापित करना और इसे माणिकों के लिए प्रकाशित करना होगा:
 cd YOUR-GEM-NAME rake -T rake build # Build YOUR-GEM-NAME-0.0.1.gem into the pkg directory rake install # Build and install YOUR-GEM-NAME-0.0.1.gem into system gems rake release # Create tag v0.0.1 and build and push YOUR-GEM-NAME-0.0.1.gem to Ru... 


यह ध्यान रखना महत्वपूर्ण है कि स्रोत पुस्तकालय कोड को वैश्विक नाम स्थान पर नहीं रखना चाहिए। कृपया अपने सभी वर्गों को एक वर्ग या मॉड्यूल के अंदर लिबर / आपके GEM-NAME सबडायरेक्ट में Bundler द्वारा सुझाए गए नाम के साथ रखें, जिनमें से वह lib / Your -GEM-NAME .rb फ़ाइल से आपके पास है। ऑटोलैड का उपयोग न करने की कोशिश करें, क्योंकि यह सुविधा रूबी 2.0 के लिए पदावनत है।

यदि संभव हो तो, सभी दस्तावेज़ीकरण फ़ाइलों को मार्कडाउन मार्कअप (अधिमानतः README.md फ़ाइल वाले) का उपयोग करना चाहिए।

कोड प्रलेखन


एक आधुनिक कोड प्रलेखन उपकरण GitHub सिंटैक्स का उपयोग करते हुए कोड हाइलाइटिंग का समर्थन करने के लिए रेडकारपेट मॉड्यूल का उपयोग करते हुए मार्कडाउन मोड में YARD है। इस मामले में, आप स्वचालित रूप से rubydoc.info ( उदाहरण ) पर प्रलेखन का प्रकाशन प्राप्त करते हैं।

इसे जोड़ना काफी सरल है:

अब, रेक यार्ड कमांड के साथ, हमें डॉक डायरेक्टरी में लाइब्रेरी के लिए पूर्ण प्रलेखन मिलता है।

वैसे, डॉक्स / .ardoc / और Gemfile.lock को .gitignore में जोड़ना न भूलें।

चश्मा लिखना शुरू करें


व्यक्तिगत रूप से, मैं आरआर के साथ संयोजन के रूप में चश्मे के लिए RSpec 2 का उपयोग करना पसंद करता हूं। जवाहरात में उपयुक्त निर्भरता जोड़ें:
  s.add_development_dependency "rspec-core", "~> 2.0" s.add_development_dependency "rspec-expectations", "~> 2.0" s.add_development_dependency "rr", "~> 1.0" 


रत्न स्थापित करें और बुनियादी RSpec 2 फाइलें बनाएं
 bundle install bundle exec rspec --init 


Rakefile में रेक स्पेक कार्य जोड़ें:
 require 'rspec/core/rake_task' RSpec::Core::RakeTask.new 

और कृपया spec / spec_helper.rb में डिफ़ॉल्ट RR का उपयोग करें:
  config.mock_with :rr 

यही है, अब आप चश्मा और कोड लिख सकते हैं।

निष्पादन योग्य के बारे में थोड़ा सा


आपके द्वारा अपने रत्न की बिन निर्देशिका में रखी गई फाइलें, जब मणि स्थापित करते हैं, लक्ष्य ऑपरेटिंग सिस्टम की निष्पादन योग्य फ़ाइलों के रूप में स्थापित की जाती हैं।

एक छोटी सी बारीकियों है: विभिन्न ऑपरेटिंग सिस्टमों में, यह इंस्टॉलेशन अलग-अलग तरीकों से होता है, और कभी-कभी आपकी निष्पादन योग्य फाइलें आपके मणि के बिन उपनिर्देशिका से बिल्कुल भी लॉन्च नहीं होती हैं, जिसे आप गलती से ट्यून कर सकते हैं।

इस संबंध में, एक निष्पादन योग्य फ़ाइल बनाते समय सबसे अच्छा अभ्यास पुस्तकालय में सभी तर्क को स्थानांतरित करना है ताकि आपका मणि-निष्पादित बाइनरी कुछ इस तरह दिखे:

 require 'rubygems' #    ruby 1.9   require 'your-gem' require 'your-gem/exec' 

इसके अलावा, इस दृष्टिकोण का मतलब है कि अधिकांश तर्क चश्मा के साथ कवर किए जा सकते हैं।

संस्करण नियंत्रण


सामान्य नियम यह है कि मणि संस्करण संख्या उत्पन्न करते समय Git को एक रिपॉजिटरी और सिमेंटिक संस्करण के रूप में उपयोग करें। रेक रिलीज स्वचालित रूप से रिपॉजिटरी में आवश्यक टैग बनाएगा और माणिक को रगड़ें प्रकाशित करेगा।

रत्नों के गलत संस्करणों को हटाना


कभी-कभी एक कार्य एक विशिष्ट संस्करण की समस्याओं (कोड या गलत संस्करण में त्रुटियां) के कारण माणिक के साथ मणि के एक संस्करण को हटाने के लिए उठता है। यह कार्य कमांड का उपयोग करके किया जाता है

 gem yank gemname -v version 

यह आदेश डिफ़ॉल्ट रूप से रूबीज के साथ नहीं आता है, इसलिए आपको इसका उपयोग करने के लिए जौहरी रत्न को स्थापित करने की आवश्यकता है।

 gem install jeweler 

Source: https://habr.com/ru/post/In138582/


All Articles