রেল 4.2 এর প্রথম বিটা গত সপ্তাহে ঘোষণা করা হয়েছিল এবং এটি ইতিমধ্যেই আশ্চর্যজনক দেখাচ্ছে। আমি আমার নিজের অ্যাপে ActiveJob, Web Console, পর্যাপ্ত রেকর্ড এবং বিদেশী কী সমর্থন ব্যবহার করতে সত্যিই উত্তেজিত।
কিন্তু রেলের সৌন্দর্য বিস্তারিত। এবং আপনি যদি একটু খনন করেন, আপনি কিছু কম বিজ্ঞাপনী বৈশিষ্ট্য পাবেন যা রেলের সাথে আপনার দৈনন্দিন কাজকে সম্পূর্ণরূপে উন্নত করবে।
সহজেই কনফিগার ফাইল লোড করুন
ঠিক আছে, আমি পক্ষপাতদুষ্ট হতে পারে. কিন্তু কনফিগার ফাইল লোড করার জন্য একটি অন্তর্নির্মিত উপায় থাকা দুর্দান্ত হতে চলেছে৷
৷
config_for
, Rails 4.2-এ নতুন, আপনি যেমন আশা করেন ঠিক তেমন কাজ করে:
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 অ্যাপে, এটিকে পার্স করুন এবং আপনার RAILS_ENV
এর জন্য সঠিক কনফিগারেশন প্রদান করুন .
এমনকি এটি আপনাকে আপনার yaml-এ ERB রাখতে দেয়:
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}
আপনি যদি আপনার অ্যাপে প্রচুর পরিসেবা কনফিগার করেন, তাহলে এটি আপনার ইনিশিয়ালাইজারকে পড়তে অনেক সহজ করে তুলবে।
আপনার অ্যাপ বুটস্ট্র্যাপিং
বেশির ভাগ রেল অ্যাপের জন্য আপনাকে কিছু কমান্ড চালানোর প্রয়োজন হয় আগে আপনি সেগুলি ব্যবহার করে দেখতে পারেন। এমনকি বেশিরভাগ খালি রেল অ্যাপগুলিকে বুট করার আগে ডেটাবেস সেট আপ করতে হবে।
সুতরাং, Rails, কনফিগারেশনের উপর কনভেনশনের সাথে গিয়ে, আপনার সেটআপ কোডের জন্য বিশেষভাবে একটি জায়গা তৈরি করেছে:bin/setup
.
ডিফল্ট ভাল. কিন্তু bin/setup
আপনার অ্যাপ শুরু করার জন্য আপনার প্রয়োজনীয় অন্য কোনো কোড রাখার জায়গাও।
সুতরাং এখন যেহেতু এটি কনভেনশন, আপনি যদি ইতিমধ্যেই আপনার অ্যাপের জন্য একটি বুটস্ট্র্যাপ স্ক্রিপ্ট লিখে থাকেন, তাহলে সেটির নাম পরিবর্তন করে bin/setup
করুন , যাতে লোকেরা আপনার অ্যাপ্লিকেশানগুলি ব্যবহার করে সহজে শুরু করতে পারে৷৷
bin/setup
আপনি যখন নতুন Rails অ্যাপ তৈরি করেন তখন আপনাকে একটি কম সিদ্ধান্ত নিতে দেয়। এবং একবার আপনি bin/setup
চালানোর অভ্যাস পেয়ে যান আপনি git pull
পরে , আপনাকে কখনই rake db:setup
চালানোর কথা মনে রাখতে হবে না যখন আপনি আবার একটি নতুন অ্যাপ তৈরি করবেন।
আপনার হ্যাশ মান পরিবর্তন করুন
এটি আরেকটি জিনিস যা আমি প্রায়ই যথেষ্ট প্রয়োজন যে আমি চাই যে এটি রুবিতে অন্তর্নির্মিত ছিল। যখন আপনি 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 রিলিজ নোটের মাধ্যমে দ্রুত দেখুন এবং দেখুন যে অন্য কোন সহায়ক উন্নতি আপনি খুঁজে পেতে পারেন।
(এবং আপনি যদি করেন কিছু দুর্দান্ত জিনিস খুঁজুন, নিজের কাছে রাখবেন না। এটি এখানে শেয়ার করুন, যাতে আমরা সবাই নতুন কিছু শিখতে পারি!)