কয়েকটা রেইলস অ্যাপ বানালে, আপনি তাদের সাথে কাজ করার কিছু পছন্দের পদ্ধতি ডেভেলপ করবেন। হয়তো আপনি সবসময় রেইলস কনসোলে 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 স্টার্ট করলে আপনার অবজেক্টগুলো অটোমেটিক্যালি আরও awesome প্রিন্ট হবে।
.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
Rubygems-এর নিজস্ব .rc ফাইল আছে জেম ডিলিং সুবিধাজনক করতে। অনেক লোক .gemrc ব্যবহার করে rdoc এবং ri জেনারেশন স্কিপ করে, যা জেম ইনস্টল খুব দ্রুত করে:
gem: --no-document তবে এখানেই সীমাবদ্ধ নয়। .gemrc-এ আরো কয়েকটা ভ্যালু টুইক করা যায়, যেমন :sources: (অন্য জেম সার্ভারে জেম খুঁজতে) এবং :backtrace: (এরর হলে ফুল ব্যাকট্রেস দেখতে):
gem: --no-document :backtrace: true :sources: - https://my.internal.gem.server - https://rubygems.org বাকি সেটিংস জানতে gem environment কমান্ডের ডকুমেন্টেশন দেখুন।
.railsrc
বছরها আগে রেইলস ৩ এপ বানানো সহজ করলো ডিফল্ট স্ট্যাক ছাড়া। যদি মিনিটেস্ট ছাড়া অ্যাপ চান (রস্পেক যোগ করার জন্য), তাহলে:
$ 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 স্টাইল কমান্ড দিয়ে করা যাবে।
আপনার এনভায়রনমেন্টকে আপনার করুন
थोড়া আগে কনফিগারেশন কাজ করলে আপনার এনভায়রনমেন্ট বেশি হোমলি লাগবে। আপনি চাইনিয়া কমান্ড রান করলে প্যারামিটার ছাড়া যাবার পীড়া এড়াতে পারবেন। ডকুমেন্টেশন খুঁজে প্যারামিটার বের করার ঝামেলা নেই। এবং কোড লিখার মজার অংশে सीधে যেতে পারবেন।