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

रेल 4.2 . में कम ज्ञात विशेषताएं

रेल 4.2 का पहला बीटा पिछले हफ्ते घोषित किया गया था, और यह पहले से ही अद्भुत लग रहा है। मैं अपने स्वयं के ऐप्स में ActiveJob, वेब कंसोल, पर्याप्त रिकॉर्ड और विदेशी कुंजी समर्थन का उपयोग करने के लिए वास्तव में उत्साहित हूं।

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

कॉन्फ़िगरेशन फ़ाइलें आसानी से लोड करें

ठीक है, मैं पक्षपाती हो सकता हूं। लेकिन कॉन्फिग फाइलों को लोड करने के लिए बिल्ट-इन तरीका कमाल का होने वाला है।

config_for , Rails 4.2 में नया, ठीक वैसे ही काम करता है जैसे आप उम्मीद करते हैं:

config/redis.yml
development:
  host: localhost
  port: 6379
test:
  host: localhost
  port: 6379
production:
  host: redis-production
  port: 6379
irb(main):001:0> Rails.application.config_for(:redis)
=> {"host"=>"localhost", "port"=>6379}

यानी, अगर आप config_for(:redis) . को कॉल करते हैं , यह config/redis.yml को खोजेगा अपने रेल ऐप में, इसे पार्स करें, और आपके RAILS_ENV के लिए सही कॉन्फ़िगरेशन लौटाएं ।

यह आपको अपने यमल में ERB डालने की सुविधा भी देता है:

config/redis.yml
development:
  host: localhost
  port: <%= ENV['REDIS_PORT'] %>
test:
  host: localhost
  port: <%= ENV['REDIS_PORT'] %>
production:
  host: redis-production
  port: <%= ENV['REDIS_PORT'] %>
$ REDIS_PORT=6380 bin/rails c
Loading development environment (Rails 4.2.0.beta1)
irb(main):001:0>  Rails.application.config_for(:redis)
=> {"host"=>"localhost", "port"=>6380}

अगर आप अपने ऐप में बहुत सारी सेवाओं को कॉन्फ़िगर करते हैं, तो इससे आपके इनिशियलाइज़र्स को पढ़ने में बहुत आसानी होगी।

अपने ऐप्स को बूटस्ट्रैप करना

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

इसलिए, रेल ने एक बार फिर कॉन्फ़िगरेशन पर कन्वेंशन के साथ जा रहे हैं, विशेष रूप से आपके सेटअप कोड के लिए एक जगह बनाई है:bin/setup

डिफ़ॉल्ट अच्छा है। लेकिन bin/setup अपना ऐप शुरू करने के लिए आपको कोई अन्य कोड डालने का भी स्थान है।

तो अब जबकि यह परंपरा है, यदि आप पहले से ही अपने ऐप के लिए बूटस्ट्रैप स्क्रिप्ट लिख चुके हैं, तो उसका नाम बदलकर bin/setup कर दें। , ताकि आपके ऐप्स का उपयोग करने वाले लोग आसानी से आरंभ कर सकें।

bin/setup जब आप नए रेल ऐप्स जेनरेट करते हैं तो आपको एक कम निर्णय लेने की सुविधा मिलती है। और एक बार जब आप bin/setup running चलाने की आदत डाल लें आपके बाद git pull , आपको rake db:setup run चलाने के लिए कभी भी याद नहीं रखना पड़ेगा जब आप फिर से एक नया ऐप जनरेट करते हैं।

अपने हैश मानों को रूपांतरित करें

यह एक और चीज है जिसकी मुझे अक्सर आवश्यकता होती है कि मेरी इच्छा है कि यह रूबी में अंतर्निहित हो। जब आप transform_values को कॉल करते हैं हैश पर, यह map . को कॉल करने जैसा काम करता है हैश मानों पर, और बदले गए मानों से संबद्ध मूल कुंजियों के साथ एक नया हैश लौटाता है:

h = {a: 1, b: 2, c: 3}

h.transform_values { |v| v * 2 } # => {a: 2, b: 4, c: 6}

काफी सरल। लेकिन आपको आश्चर्य होगा कि यह कितनी बार काम आता है।

बोनस:अधिक कॉन्फ़िगरेशन!

Rails 4.2 अपना वैश्विक कॉन्फ़िगरेशन सेट करने का एक आसान तरीका प्रदान करता है:

Rails.application.config.x.some_configuration_key = "Some Value"

Rails.application.config.x.some_configuration_key # => "Some Value"
Rails.configuration.x.some_configuration_key # => "Some Value"

यह विशेष रूप से तब काम करता है जब आप इसे config_for . के साथ जोड़ते हैं :

app_config = Rails.application.config_for(:app)
Rails.application.config.x.block_phone_calls = app_config["block_phone_calls"]

और भी बहुत कुछ है!

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

(और अगर आप करते हैं कुछ अच्छी चीजें खोजें, इसे अपने तक ही सीमित न रखें। इसे यहां साझा करें, ताकि हम सब कुछ नया सीख सकें!)


  1. ओपेरा जीएक्स बनाम ओपेरा - कौन सा बेहतर ब्राउज़र है?

    ओपेरा यह उद्योग के सबसे पुराने ब्राउज़रों में से एक है, और यह सर्वश्रेष्ठ में से एक भी है। इसमें एक अंतर्निहित वीपीएन, विज्ञापन-अवरोधक आदि जैसी विशेषताएं हैं। हालांकि, कंपनी ओपेरा जीएक्स भी बनाती है। जिसे वे एक गेमिंग ब्राउज़र . के रूप में संदर्भित करते हैं . इस लेख में, हम ओपेरा जीएक्स बनाम ओपेरा द

  1. Android पर Google सहायक की सर्वोत्तम सुविधाएं

    एक Google सहायक है जो अन्य सभी सहायकों को उनके पैसे के लिए एक रन देना चाहता है। यह नाम बहुत ही आत्म-व्याख्यात्मक है क्योंकि इसे Google सहायक कहा जाता है। यह एलेक्सा, सिरी और कोरटाना को सीधे पानी से बाहर निकालना चाहता है। Google सहायक को पहली बार पिछले साल मई में Google I/O में प्रस्तुत किया गया था,

  1. सर्वश्रेष्ठ टेक-फ्रेंडली बैकपैक्स में से 5

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