Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

การติดตั้งที่รวดเร็วและสม่ำเสมอสำหรับเครื่องมือ Ruby และ Rails ของคุณ

หลังจากที่คุณสร้างแอป Rails ไม่กี่แอป คุณจะเริ่มมีวิธีการทำงานที่ต้องการกับแอปเหล่านั้น บางทีคุณอาจต้องการใช้ awesome_print ในคอนโซล Rails ของคุณ หรือคุณอาจต้องการ rails new เพื่อสร้างโครงการที่ใช้ rspec แทน minitest

แน่นอนว่ามันน่ารำคาญนิดหน่อยที่ต้องระบุการตั้งค่าเหล่านี้ทุกครั้งที่คุณเรียกใช้คำสั่ง แต่มันง่ายที่จะลืม และเป็นเรื่องที่น่าโมโหเมื่อคอมพิวเตอร์ไม่ทำในสิ่งที่คุณคิดว่าคุณบอกให้ทำ:

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

มีวิธีที่ง่ายกว่า ด้วยการปรับแต่งเล็กๆ น้อยๆ คุณสามารถให้คำสั่งเหล่านี้จดจำค่ากำหนดของคุณ คุณไม่จำเป็นต้องทำ

บันทึกการตั้งค่าของคุณด้วย .rc ไฟล์

เครื่องมือ Ruby มากมายให้วิธีง่ายๆ ในการจัดเก็บค่ากำหนดของคุณโดยใช้ .rc ไฟล์.

.rc ไฟล์อยู่ในโฮมไดเร็กตอรี่ของคุณ:

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

และพวกเขาให้คำสั่งเช่น gem , irb และ rails สถานที่เพื่อค้นหาความชอบของคุณ นี่คือ .rc . บางส่วน ไฟล์ที่คุณควรลองใช้:

.irbrc

เมื่อคุณเรียกใช้ rails console คุณอาจต้องการเห็นวัตถุทั้งหมดของคุณ awesome_printed เป็นค่าเริ่มต้น คุณสามารถพิมพ์ AwesomePrint.irb! ที่จุดเริ่มต้นของแต่ละเซสชันคอนโซล หรือคุณสามารถเพิ่มคำสั่งใน ~/.irbrc . ของคุณ ไฟล์:

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

และครั้งต่อไปที่คุณเริ่ม rails console วัตถุของคุณจะถูกพิมพ์ออกมาอย่างยอดเยี่ยมโดยอัตโนมัติ

.irbrc ยังเป็นที่ที่ดีในการใส่วิธีการอำนวยความสะดวกแบบแฮ็คที่ช่วยให้คุณเล่นกับวัตถุของคุณ:

~/.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 เร็วขึ้นมาก:

~/.gemrc
gem: --no-document

แต่ยังมีอะไรอีกมากมายที่คุณทำได้ มีค่าอื่นๆ อีกสองสามค่าที่คุณปรับแต่งได้ใน .gemrc รวมถึง :sources: (เพื่อค้นหาอัญมณีบนเซิร์ฟเวอร์อัญมณีอื่น) และ :backtrace: (เพื่อดู backtrace ทั้งหมดเมื่อเกิดข้อผิดพลาด):

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

สำหรับการตั้งค่าที่เหลือที่คุณใส่ในไฟล์นี้ได้ โปรดดูเอกสารคำสั่งของ gem environment

.railsrc

เมื่อหลายปีก่อน Rails 3 ทำให้การสร้างแอปที่ไม่ใช้สแต็ก Rails เริ่มต้นเป็นเรื่องง่าย หากคุณต้องการแอปที่ไม่ใช้ minitest (เช่น คุณสามารถใส่ rspec ได้ในภายหลัง) ก็ทำได้ง่ายๆ ดังนี้:

$ rails new my_awesome_app --skip-test-unit

หรือสถานที่ที่คุณทำงานอาจมีเทมเพลตโครงการของตัวเอง:

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

เมื่อคุณคุ้นเคยกับ Rails stack แล้ว คุณอาจต้องการใช้มันกับโปรเจ็กต์ใหม่ทั้งหมดของคุณ แต่มันง่ายที่จะลืมเพิ่มพารามิเตอร์เหล่านี้เมื่อคุณสร้างแอปอื่น คุณสามารถใส่พารามิเตอร์เหล่านี้ใน .railsrc . แทน ไฟล์:

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

และตอนนี้ คุณสามารถเรียกใช้ rails new ด้วยพารามิเตอร์ที่เหมาะสมทุกครั้ง และหากคุณต้องการแทนที่พารามิเตอร์เหล่านั้นสำหรับโครงการเดียว คุณสามารถทำได้ด้วย --no-skip-test-unit -คำสั่งสไตล์

ทำให้สภาพแวดล้อมของคุณเป็นของคุณ

การกำหนดค่าล่วงหน้าเพียงเล็กน้อยจะทำให้สภาพแวดล้อมของคุณรู้สึกเหมือนอยู่บ้าน คุณสามารถข้ามความเจ็บปวดจากการรันคำสั่งโดยไม่ตั้งใจได้โดยไม่ต้องใช้พารามิเตอร์ที่คุณต้องการ คุณไม่จำเป็นต้องค้นหาเอกสารเพื่อหาตัวเลือกที่เหมาะสมเสมอไป และคุณจะได้สนุกไปกับการเขียนโค้ดได้ทันที