कुछ रेल्स ऐप्स बनाने के बाद, आप उनके साथ काम करने के कुछ पसंदीदा तरीके विकसित करना शुरू कर देंगे। हो सकता है आप हमेशा अपने रेल्स कंसोल में awesome_print का उपयोग करना चाहें। या आप चाहें कि rails new मिनिटेस्ट के बजाय rspec का उपयोग करने वाले प्रोजेक्ट बनाए।
ज़रूर, हर बार जब आप कोई कमांड चलाते हैं तो इन प्राथमिकताओं को निर्दिष्ट करना केवल थोड़ा कष्टप्रद होता है। लेकिन उन्हें भूलना आसान है। और यह क्रोधित करने वाला होता है जब एक कंप्यूटर वह नहीं करता जो आपने सोचा था कि आपने उसे करने के लिए कहा था:
$ rails new best_app_ever ^C (sigh...) $ rm -r best_app_ever $ rails new best_app_ever --template=my_template एक आसान तरीका है। कुछ छोटे ट्वीक के साथ, आप इन कमांड को अपनी प्राथमिकताओं को याद रखने के लिए बना सकते हैं, ताकि आपको न करना पड़े।
.rc फाइलों के साथ अपनी प्राथमिकताएं कैप्चर करें
बहुत सारे रूबी टूल आपको .rc फाइलों का उपयोग करके अपनी प्राथमिकताओं को स्टोर करने का एक सरल तरीका देते हैं।
.rc फाइलें आपकी होम डायरेक्टरी में रहती हैं:
$ ls ~/.*rc .bashrc .irbrc .screenrc .gemrc .railsrc .zshrc और वे gem, irb, और rails जैसे कमांड को आपकी प्राथमिकताएं खोजने के लिए एक जगह देते हैं। यहां कुछ .rc फाइलें हैं जिन्हें आपको उपयोग करने का प्रयास करना चाहिए:
.irbrc
जब आप rails console चलाते हैं, तो आप डिफ़ॉल्ट रूप से अपने सभी ऑब्जेक्ट को awesome_printed देखना चाह सकते हैं। आप प्रत्येक कंसोल सत्र की शुरुआत में AwesomePrint.irb! टाइप कर सकते हैं। या, आप कमांड को अपनी ~/.irbrc फाइल में जोड़ सकते हैं:
require "awesome_print" AwesomePrint.irb! और अगली बार जब आप rails console शुरू करेंगे, तो आपके ऑब्जेक्ट स्वचालित रूप से अधिक शानदार ढंग से प्रिंट होंगे।
.irbrc हैकी सुविधा मेथड डालने के लिए भी एक शानदार जगह है जो आपको अपने ऑब्जेक्ट के साथ खेलने में मदद करते हैं:
require "awesome_print" AwesomePrint.irb! # returns the instance methods on klass # that aren't already on Object def m(klass) klass.public_instance_methods - Object.public_instance_methods end ~/Source/rcfiles jweiss$ bin/rails c Loading development environment (Rails 4.1.1) irb(main):001:0> m ActiveRecord::Base [ [ 0] [](attr_name) ActiveRecord::Base (ActiveRecord::AttributeMethods) (unbound) [ 1] []=(attr_name, value) ActiveRecord::Base (ActiveRecord::AttributeMethods) (unbound) [ 2] _commit_callbacks() ... about 200 more methods... जब आप अपने वातावरण को इस तरह अनुकूलित करते हैं, तो आप यह महसूस करना शुरू कर देंगे कि आपके द्वारा उपयोग की जाने वाली लाइब्रेरी आपकी हैं, न कि केवल लाइब्रेरी जिन्हें आप उपयोग करते हैं।
.gemrc
रूबीजेम्स का अपना .rc फाइल है जो जेम के साथ व्यवहार को अधिक सुविधाजनक बनाता है। बहुत सारे लोग .gemrc का उपयोग rdoc और ri जनरेशन को छोड़ने के लिए करते हैं, जिससे जेम बहुत तेजी से इंस्टॉल होते हैं:
gem: --no-document लेकिन आप बहुत कुछ कर सकते हैं। कुछ अन्य मान हैं जिन्हें आप अपनी .gemrc में 조정 सकते हैं, जिसमें :sources: (अन्य जेम सर्वर पर जेम खोजने के लिए) और :backtrace: (त्रुटि होने पर पूर्ण बैकट्रेस देखने के लिए) शामिल हैं:
gem: --no-document :backtrace: true :sources: - https://my.internal.gem.server - https://rubygems.org इस फाइल में रखी जा सकने वाली बाकी सेटिंग्स के लिए, जेम एनवायरनमेंट कमांड डॉक्यूमेंटेशन देखें।
.railsrc
सालों पहले, रेल्स 3 ने उन ऐप्स को जनरेट करना आसान बना दिया जो डिफ़ॉल्ट रेल्स स्टैक का उपयोग नहीं करते। यदि आप एक ऐसा ऐप चाहते हैं जो मिनिटेस्ट का उपयोग नहीं करता (ताकि आप बाद में rspec शामिल कर सकें, उदाहरण के लिए), यह उतना ही सरल है:
$ rails new my_awesome_app --skip-test-unit या शायद जहां आप काम करते हैं उनका अपना प्रोजेक्ट टेम्पलेट है:
$ rails new my_awesome_corporate_app --template=https://example.com/my_app_template एक बार जब आप एक रेल्स स्टैक से परिचित हो जाते हैं, तो आप शायद इसे अपने सभी नए प्रोजेक्ट्स के लिए उपयोग करना चाहेंगे। लेकिन जब आप एक और ऐप जनरेट करते हैं तो इन पैरामीटर्स को जोड़ना भूलना आसान है। इसके बजाय, आप इन पैरामीटर्स को .railsrc फाइल में रख सकते हैं:
--template=https://example.com/my_app_template --database=postgresql और अब आप हर बार सही पैरामीटर्स के साथ rails new चला सकते हैं। और यदि आप कभी उन पैरामीटर्स को एक प्रोजेक्ट के लिए ओवरराइड करना चाहते हैं, तो आप इसे --no-skip-test-unit-स्टाइल कमांड के साथ कर सकते हैं।
अपने वातावरण को अपना बनाएं
थोड़ा सा अग्रिम कॉन्फ़िगरेशन कार्य आपके वातावरण को घर जैसा महसूस करा सकता है। आप गलती से उन पैरामीटर्स के बिना कमांड चलाने के दर्द को छोड़ सकते हैं जो आप चाहते हैं। आपको सही विकल्प खोजने के लिए हमेशा डॉक्यूमेंटेशन खोदने की ज़रूरत नहीं है। और आप कोड लिखने के मजेदार हिस्से पर तुरंत पहुंच सकते हैं।