Bence bu oldukça yerinde. Varsayılan olarak, Rubygems lib dizinini yük yoluna ekler, ancak istediğiniz dizini $: değişkenini kullanarak ona itebilirsiniz. yani
$:.push File.expand_path(File.dirname(__FILE__) + '/../surfcompstuff')
Bu, surfer.rbo dizinde, istediğiniz require "surfer"yere gidebileceğinizi ve dosyanın bulunacağını söylediğinizde anlamına gelir .
Ayrıca, bir kural olarak, sınıflar ve singletonlar bir dosya alır ve modüller bir dizin alır. Örneğin, LolCatzmodüle ve LolCatz::Moarşöyle görünecek sınıfa sahipseniz :
lib/
appname.rb
lolcatz/
moar.rb
Bu yüzden bir lib / appname klasörü vardır, çünkü çoğu kitaplık appnamead alanında bulunur.
Ek olarak, newgem --simple [projectname]bir Ruby projesi için (ve uzantı olarak bir Ruby Gem) sizin için hızlı bir şekilde bir yapı iskelesi oluşturacak komutu çalıştırmayı denerseniz . Bunu yapan başka araçlar da var, biliyorum ama newgem oldukça yaygın. Genelde TODO dosyasından ve tüm betik şeylerinden kurtulurum.