0

我使用 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

将其作为依赖项添加到另一个项目并通过捆绑程序安装它。

gem 'custom_gem', :git => 'git@bitbucket.org:dir/repo.git'

之后我尝试通过调用来使用它

CustomGem::CustomClass.custom_method

我收到以下错误:

未初始化的常量 CustomGem::CustomClass

有什么建议么?

可能是一件小事,但只是从 ruby​​ 开始,所以任何建议都会很棒。

4

2 回答 2

1

要检查的两件事:

  1. 运行 Bundle install 时会发生什么(gem 是否列为已安装?)
  2. 您是否需要正确地使用 gem(需要 'custom_gem')?Rails 在那里有一点魔力,但我不确定你是否在 Rails 应用程序中。
于 2013-04-20T14:39:42.520 回答
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 指南

于 2013-04-20T16:06:56.907 回答