我使用bundler创建了一个自定义gem,并在git repo中检查它。
custom_gem.rb
require "custom_gem/version"
require "custom_gem/custom_class"
module CustomGem
# Your code goes here...
end
custom_class.rb
require 'typhoeus'
module CustomGem
class CustomClass
def self.custom_method
#do stuff with typhoeus
end
end
end
将其作为依赖项添加到另一个项目并通过bundler安装。
gem 'custom_gem', :git => 'git@bitbucket.org:dir/repo.git'
之后我尝试通过调用
来使用它CustomGem::CustomClass.custom_method
我收到以下错误:
未初始化的常量CustomGem :: CustomClass
有什么建议吗?
可能是一件小事,但刚开始使用红宝石,所以任何建议都会很棒。
答案 0 :(得分:1)
要检查两件事:
答案 1 :(得分:1)
文件custom_gem.rb应位于 lib / custom_gem.rb 中,文件custom_class.rb应位于 lib / custom_gem / custom_class.rb
lib/custom_gem/custom_class.rb
\_/ \________________________/
| |
| \_ comes from your code: `require "custom_gem/custom_class"`
|
|
\_ comes from custom_gem.gempsec (the line `s.require_paths = ["lib"]`)
有关加载路径,文件层次结构和命名的更多信息,请查看此gem guide。