2011-03-07 47 views
1

衆所周知,rubygem的通用結構假設存在lib目錄。我注意到,一般在這個目錄下有兩個項目:gem_name.rbgem_name/目錄。 gem_name/目錄包含項目的主要來源。這是應用的心臟。所以,問題是關於gem_name.rb文件。它代表什麼?寶石的通用結構

回答

2

它的結構類似,其原因是,如果你在lib/目錄中有其他的文件比gem_name.rb(比如說another_file_name.rb),你會很容易分開導致問題,如果有一個名爲another_file_name和某人做的require another_file_name的寶石 - 它會加載您的文件,而不是其他寶石的文件。

如果您的代碼足夠小,它可以全部適合gem_name.rb,然後放在那裏,否則將其放入gem_name/other_file_name.rb

1

通常,只需要gem_name/所需的所有內容。它被用來把所有的require S IN的中央位置,從實際代碼

+0

看看https://github.com/wycats/thor/blob/master/lib/thor.rb 我只看到一個需求。 – kyrylo 2011-03-07 00:38:31

+0

*聳聳肩*。這並不意味着這是規則。 'gem_name.rb'文件是需要的,所以它必須要求一切。在這種情況下,他們需要'thor/base',然後需要更多。 – 2011-03-07 00:41:51