当我们运行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