আপনি যখন সফ্টওয়্যার তৈরি করছেন, তখন এমন কিছু জিনিস থাকবে যা আপনাকে প্রতিবার লিখতে গেলে হতাশ করবে। কুশ্রী দেখায় যে কোড বিট. অথবা এই লাইনগুলি আপনি কখনই মনে রাখতে পারেন না কিভাবে লিখতে হয়, তাই আপনি আপনার কোডবেসের অন্য কোথাও অনুলিপি এবং পেস্ট করার জন্য একটি উদাহরণ খুঁজে পান। এই আপনার প্রবাহ ভাঙ্গা! তাই তাদের চিনতে এবং তাদের আরও সুবিধাজনক করে তোলা গুরুত্বপূর্ণ৷৷
উদাহরণস্বরূপ, কখনও কখনও আপনার Rails অ্যাপে কাস্টম কনফিগারেশনের প্রয়োজন হবে। হয়তো আপনি কিছু অতিরিক্ত অ্যাপ-নির্দিষ্ট সেটিংস চান। অথবা হয়ত আপনি যে লাইব্রেরিগুলি ব্যবহার করছেন সেগুলি config/
দেখতে চায় না তাদের নিজস্ব কনফিগারেশন ফাইলের জন্য। সাধারণত, আপনি YAML-ERB-read-Rails.env
করবেন নাচ:
YAML.load(ERB.new(File.read(Rails.root.join('config', 'google_analytics.yml'))).result)[Rails.env]
কিন্তু এটা এক প্রকার হাস্যকর। এবং কখনও কখনও আপনি ERB
ভুলে যাবেন , এবং জিনিসগুলি ভেঙে যাবে যখন আপনি এটি আশা করছেন না।
আমাদের কোডবেসে, আমাদের একটি সহজ Settings
আছে এটি আরও সুবিধাজনক করতে ক্লাস:
require 'settings'
GoogleAnalyticsSettings = Settings.new(:google_analytics)
GoogleAnalyticsSettings.google_analytics_id # => "UA-XXXXXXX-1"
Settings
config/
-এ স্বয়ংক্রিয়ভাবে সঠিক কনফিগারেশন ফাইল খুঁজে পাবে ডিরেক্টরি তারপর, এটি YAML এবং ERB এর মাধ্যমে পাইপ করে এবং Rails.env
ব্যবহার করে রেল পরিবেশের জন্য কনফিগারেশন দখল করতে। অবশেষে, শীর্ষ-স্তরের কনফিগারেশনটি একটু সুন্দর করে অ্যাক্সেস করার জন্য এটি একটি OpenStruct-এ সবকিছু মুড়ে দেয়। এখানে একটি মৌলিক সেটিংস বাস্তবায়নের একটি সারাংশ রয়েছে৷৷
এটা সত্যিই সহজ. কিন্তু এটা সুবিধাজনক। এটা অনেক মনে রাখা সহজ Settings.new
যে সমস্ত ফাইল লোড স্টাফ চেয়ে. এবং এই সামান্য সুবিধাগুলি যোগ করে, এবং আপনার কোডবেসকে কাজ করার জন্য আরও মজাদার করে তুলবে৷
আপনার কোডে, আপনি কি এমন কিছু ভাবতে পারেন যা আপনাকে বিরক্ত করে, আপনার প্রবাহ ভেঙে দেয় বা যেখানে আপনাকে প্রতিবার একটি উদাহরণ দেখতে হবে? আপনি কি আপনার জন্য এটি ব্যবহার করা সহজ করার উপায় খুঁজে পেতে পারেন?