আপনি কয়েকটি রেল অ্যাপ তৈরি করার পরে, আপনি তাদের সাথে কাজ করার কিছু পছন্দের উপায় পেতে শুরু করবেন। হয়তো আপনি সবসময় 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
শুরু করবেন , আপনার অবজেক্টগুলি আরও দুর্দান্তভাবে, স্বয়ংক্রিয়ভাবে মুদ্রিত হবে।
.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
বাকি সেটিংসের জন্য আপনি এই ফাইলটিতে রাখতে পারেন, জহর পরিবেশ কমান্ড ডকুমেন্টেশন দেখুন।
.railsrc
বছর আগে, Rails 3 ডিফল্ট রেল স্ট্যাক ব্যবহার করে না এমন অ্যাপ তৈরি করা সহজ করেছে। আপনি যদি এমন একটি অ্যাপ চান যা মিনিটেস্ট ব্যবহার করে না (যাতে আপনি পরে rspec অন্তর্ভুক্ত করতে পারেন, উদাহরণস্বরূপ), এটি যতটা সহজ:
$ 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
দিয়ে করতে পারেন -স্টাইল কমান্ড।
আপনার পরিবেশকে আপনার মত করে তুলুন
একটু আপ-ফ্রন্ট কনফিগারেশন কাজ আপনার পরিবেশকে আরও বাড়ির মতো করে তুলতে পারে৷৷ আপনি চান এমন প্যারামিটার ছাড়াই দুর্ঘটনাক্রমে একটি কমান্ড চালানোর ব্যথা এড়িয়ে যেতে পারেন। সঠিক বিকল্পগুলি খুঁজতে আপনাকে সবসময় ডকুমেন্টেশন খনন করতে হবে না। এবং আপনি এখনই কোড লেখার মজার অংশে যেতে পারেন।