Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Thiết lập Ruby & Rails hiệu quả: Cấu hình tool nhất quán cho phát triển nhanh hơn

Sau khi build vài app Rails, bạn sẽ bắt đầu có cách làm việc ưa thích. Có thể bạn luôn muốn dùng awesome_print trong Rails console. Hoặc bạn muốn rails new tạo project dùng rspec thay vì minitest.

Chắc, chỉ hơi phiền phải chỉ định sở thích mỗi lần chạy lệnh. Nhưng dễ quên. Và cực kỳ chán nản khi máy tính không làm điều bạn nghĩ đã bảo nó làm:

$ rails new best_app_ever ^C (sigh...) $ rm -r best_app_ever $ rails new best_app_ever --template=my_template 

Có cách dễ dàng hơn. Với vài điều chỉnh nhỏ, bạn có thể khiến các lệnh nhớ sở thích của bạn, nên bạn không phải làm lại.

Lưu giữ sở thích với file .rc

Nhiều tool Ruby cho bạn cách đơn giản lưu sở thích dùng file .rc.

File .rc nằm trong thư mục home:

$ ls ~/.*rc .bashrc .irbrc .screenrc .gemrc .railsrc .zshrc 

và chúng cung cấp nơi cho lệnh như gem, irb, và rails tìm sở thích của bạn. Đây là một số file .rc bạn nên thử dùng:

.irbrc

Khi chạy rails console, bạn có thể muốn thấy tất cả object được awesome_print mặc định. Bạn có thể gõ AwesomePrint.irb! đầu mỗi session console. Hoặc, bạn có thể thêm lệnh vào file ~/.irbrc:

~/.irbrc
require "awesome_print" AwesomePrint.irb! 

Và lần sau bạn start rails console, object sẽ được in đẹp hơn, tự động.

.irbrc cũng là nơi tuyệt vời để đặt những method tiện lợi hack giúp bạn chơi với object:

~/.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... 

Khi bạn tùy chỉnh môi trường như này, bạn sẽ bắt đầu cảm thấy như thể thư viện bạn dùng là của bạn, thay vì chỉ thư viện bạn dùng.

.gemrc

Rubygems có file .rc riêng để làm việc với gem thuận tiện hơn. Nhiều người dùng .gemrc để bỏ qua tạo rdoc và ri, khiến gem cài nhanh hơn:

~/.gemrc
gem: --no-document 

Nhưng bạn có thể làm nhiều hơn. Có vài giá trị khác bạn có thể chỉnh trong .gemrc, bao gồm :sources: (tìm gem trên server gem khác) và :backtrace: (xem full backtrace khi lỗi):

~/.gemrc
gem: --no-document :backtrace: true :sources: - https://my.internal.gem.server - https://rubygems.org 

Để xem các setting còn lại bạn có thể đặt trong file này, xem tài liệu lệnh gem environment.

.railsrc

Nhiều năm trước, Rails 3 làm dễ dàng generate app không dùng stack mặc định Rails. Nếu bạn muốn app không dùng minitest (để include rspec sau, ví dụ), đơn giản như:

$ rails new my_awesome_app --skip-test-unit 

Hoặc có thể nơi bạn làm việc có project template riêng:

$ rails new my_awesome_corporate_app --template=https://example.com/my_app_template 

Khi bạn quen với một Rails stack, bạn có thể muốn dùng nó cho mọi project mới. Nhưng dễ quên thêm tham số khi generate app khác. Thay vào đó, bạn có thể đặt tham số này trong file .railsrc:

~/.railsrc
--template=https://example.com/my_app_template --database=postgresql 

Và bây giờ bạn có thể chạy rails new với tham số đúng mọi lúc. Và nếu bạn muốn override tham số đó cho một project đơn lẻ, bạn có thể làm với lệnh kiểu --no-skip-test-unit.

Làm môi trường thuộc về bạn

Một chút công việc cấu hình trước có thể làm môi trường giống nhà hơn. Bạn có thể bỏ qua nỗi đau vô tình chạy lệnh thiếu tham số bạn muốn. Bạn không phải luôn đào tài liệu tìm option đúng. Và bạn có thể vào phần vui - viết code - ngay lập tức.