當我們運行bundle gem new_gem
命令,目錄與這些文件創建:新寶石與捆紮機,從一類
create new_gem/Gemfile
create new_gem/Rakefile
create new_gem/.gitignore
create new_gem/new_gem.gemspec
create new_gem/lib/new_gem.rb
create new_gem/lib/new_gem/version.rb
默認情況下,該文件new_gem/lib/new_gem.rb
是一個名爲NewGem
模塊。
我的問題是:如果NewGem
是一個類,我該怎麼辦?而不是NewGem::NewGem
,我想只定義這個類(沒有根模塊)。
我試着只是用這個文件裏的類替換模塊,然後做一個本地gem來測試它,但是在安裝之後,我不能在IRB中加載它(用require 'new_gem'
)。
感謝您的幫助。
問題仍然存在。我認爲唯一干淨的方法就是將課程放在主模塊中,正如你所解釋的那樣。謝謝。 –
那麼,它*應該*工作。當我回答時,我確實自己完成了這些步驟,並且我能夠將沒有任何問題的純班級寶石加載到IRB中。但是,只要堅持模塊命名空間可能是最好的路線。 – numbers1311407