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

रूबी में पर्यावरण चर का उपयोग कैसे करें?

पर्यावरण चर एक कुंजी/मान युग्म है, यह इस तरह दिखता है:

KEY=VALUE

हम आपके कंप्यूटर के सभी प्रोग्रामों के बीच कॉन्फ़िगरेशन विकल्पों को साझा करने के लिए इन चरों का उपयोग करते हैं।

इसलिए यह सीखना महत्वपूर्ण है कि वे कैसे काम करते हैं और ENV का उपयोग करके अपने रूबी कार्यक्रमों से उन्हें कैसे एक्सेस करें। विशेष चर।

पर्यावरण चर के उदाहरण :

  • अपना डिफ़ॉल्ट संपादक कॉन्फ़िगर करना
  • रूबी को बताएं कि रत्न कहां से लाएं (GEM_PATH / GEM_HOME )
  • एपीआई कुंजी को स्रोत नियंत्रण (गिट) के लिए प्रतिबद्ध किए बिना, आपके एप्लिकेशन में पास करना
  • यह परिभाषित करना कि आपके ऑपरेटिंग सिस्टम को बाइनरी फ़ाइलों (.exe in Windows) के लिए कहां देखना चाहिए
  • रेल को परीक्षण/विकास/उत्पादन मोड में शुरू करना

आप env . के साथ अपने सभी पर्यावरण चरों की सूची पा सकते हैं Linux / Mac में कमांड और set विंडोज़ में कमांड।

उदाहरण :

PWD=/home/jesus
SHELL=/usr/bin/zsh
RUBY_ENGINE=ruby
RUBY_VERSION=2.6.0
GEM_ROOT=/opt/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0

# ...

सूची काफी लंबी हो सकती है, लेकिन आपको इसे याद रखने की जरूरत नहीं है।

आप सभी रत्न-विशिष्ट चर और कॉन्फ़िगरेशन को gem env . के साथ प्रिंट भी कर सकते हैं आदेश।

अब :

यदि आप रूबी से इन पर्यावरण चर का उपयोग करना चाहते हैं तो एक विशेष वस्तु है जिसका आप उपयोग कर सकते हैं।

आइए जानें कि यह कैसे काम करता है!

रूबी में पर्यावरण चर का उपयोग करना

रूबी के पास यह ईएनवी ऑब्जेक्ट है जो हैश की तरह व्यवहार करता है और यह आपको उन सभी पर्यावरण चरों तक पहुंच प्रदान करता है जो आपके लिए उपलब्ध हैं।

यहां कुछ उदाहरण दिए गए हैं...

आप पता लगा सकते हैं कि आपके पास कितनी चाबियां हैं :

ENV.size
# 48

उनकी एक सूची प्राप्त करें :

ENV.keys

और विशिष्ट कुंजियों तक पहुंचें :

ENV["GEM_HOME"]
# "/home/jesus/.gem/ruby/2.6.0"

आप मानचित्र और चयन जैसी विधियों का भी उपयोग कर सकते हैं:

ENV.select { |k,v| k.size < 4 }

लेकिन आप इन पर्यावरण चरों को रूबी के बाहर कैसे सेट करते हैं?

पर्यावरण चर कैसे सेट करें

आप एक बार उपयोग के लिए पर्यावरण चर सेट कर सकते हैं।

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

API_KEY=1 ruby -e 'p ENV["API_KEY"]'

आईआरबी के बाहर टर्मिनल में इसका इस्तेमाल करें, फिर रूबी के पास इस API_KEY तक पहुंच होगी मूल्य।

यह एपीआई कुंजी के लिए सहायक है, लेकिन रेल मोड सेट करने के लिए भी।

उदाहरण :

RAILS_ENV=production rails console

याद रखें :

यह इस विशिष्ट परिवेश चर को इस प्रक्रिया के लिए सेट करता है जिसे आप अभी लॉन्च कर रहे हैं।

मतलब कि अगर मैं API_KEY=1 <command> . करता हूं ...

यह केवल उस आदेश के लिए काम करेगा!

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

यह करें :

export API_KEY=1

अब यदि आप करते हैं :

ruby -e 'p ENV["API_KEY"]'

आपको मिलेगा 1 , बिना उपसर्ग वाले चर के भी।

चेतावनी :

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

आंतरिक कॉन्फ़िगरेशन विकल्पों के लिए ड्राई-कॉन्फ़िगर करने योग्य रत्न जैसे रत्न का प्रयास करें।

पर्यावरण चर के महत्वपूर्ण गुण

आपको ये विशेषताएँ मददगार लग सकती हैं क्योंकि वे (संभवतः अप्रत्याशित) व्यवहार की व्याख्या करती हैं।

  • स्नैपशॉटिंग , जब आप कोई प्रोग्राम लॉन्च करते हैं तो पर्यावरण चर सेट होते हैं और बाहरी परिवर्तनों से प्रभावित नहीं होते हैं
  • बंद वातावरण , प्रक्रिया के अंदर चर बदलना (आपका रूबी प्रोग्राम एक प्रक्रिया है) प्रक्रिया के बाहर पर्यावरण चर नहीं बदलता है
  • पर्यावरण चर स्थायी नहीं हैं , जब आप अपने कंप्यूटर को रीबूट करते हैं, या जब आप अपना टर्मिनल बंद करते हैं, तब भी पर्यावरण चर में परिवर्तन खो जाते हैं (भले ही आप export का उपयोग करते हों) लिनक्स + मैक / set विंडोज़ में)

इन बातों का ध्यान रखें!

रेल क्रेडेंशियल

API कुंजियों को प्रबंधित करने में आपकी सहायता करने के लिए Rails 5.2 ने एक नया सिस्टम पेश किया है।

यह क्रेडेंशियल्स को सीधे config/credentials.yml.enc . में सहेज कर काम करता है , यह एक एन्क्रिप्टेड फ़ाइल है जिसे आप केवल तभी पढ़ सकते हैं जब आपके पास master.key . हो फ़ाइल।

विचार यह है कि आप केवल credentials.yml.enc commit प्रतिबद्ध करते हैं और आप कुंजी को निजी रखते हैं।

आप नए क्रेडेंशियल कैसे जोड़ते हैं?

ठीक है, आप .enc संपादित नहीं कर सकते सीधे फाइल करें।

इसके बजाय इस आदेश का उपयोग करें :

bin/rails credentials:edit

यह एक YAML फ़ाइल है, इसे सही ढंग से प्रारूपित करना सुनिश्चित करें।

अब :

आप इस तरह अपने रेल ऐप से क्रेडेंशियल पढ़ सकते हैं...

Rails.application.credentials.github_api_key

वीडियो ट्यूटोरियल देखें

सारांश

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

रूबी में पर्यावरण चर का उपयोग कैसे करें?

कृपया इस लेख को अपने दोस्तों के साथ साझा करें ताकि अधिक लोग इसे ढूंढ सकें 🙂

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


  1. रूबी उपनाम कीवर्ड का उपयोग कैसे करें

    आप रूबी पद्धति को दो तरह से वैकल्पिक नाम दे सकते हैं: उपनाम (कीवर्ड) उपनाम_विधि क्योंकि वे एक ही काम को थोड़े अलग तरीके से करते हैं, यह एक भ्रमित करने वाला विषय हो सकता है। यह छवि मतभेदों का सारांश है : आइए एक ठोस समझ पाने के लिए इन अंतरों को और अधिक विस्तार से देखें! उपनाम कीवर्ड सबसे पहले

  1. रूबी में स्ट्रक्चर और ओपनस्ट्रक्चर का उपयोग कैसे करें?

    रूबी में स्ट्रक्चर क्या है? एक संरचना एक अंतर्निहित रूबी वर्ग है, इसका उपयोग नए वर्ग बनाने के लिए किया जाता है जो मूल्य वस्तुओं का उत्पादन करते हैं। संबंधित विशेषताओं को एक साथ संग्रहीत करने के लिए एक मूल्य वस्तु का उपयोग किया जाता है। यहां एक उदाहरण दिया गया है : एक Point दो निर्देशांकों के साथ

  1. Windows 10 में पर्यावरण चर कैसे सेट करें

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