在Ruby中初始化模块类

时间:2017-04-21 12:22:51

标签: ruby

我有一个包含一堆类的模块,其中一个类看起来像这样:

module ModularModule
  class ClassyClass

    def initialize(host, user, pass)
      $jenkins = JenkinsApi::Client.new(:server_ip => host, \
                         :username => user, \
                         :password => pass, \
                         :ssl => true, \
                         :server_port => 443)
    end

    ...

  end
end

我尝试像这样初始化类:

ModularModule::ClassyClass.new(JENKINS_HOST, JENKINS_USER, JENKINS_PASS)

我明白了:

ArgumentError: wrong number of arguments (3 for 0)

我可以看到它与"错误"初始化被调用,但我不能看到我应该如何创建我的班级的新实例?

1 个答案:

答案 0 :(得分:0)

TL; DR 上面的代码很好,应该适合任何阅读此内容的人。

哦,我的。对不起,经过一个多小时的拔毛,我沮丧地发布了这个,但事实证明这是荒谬的。

我在调用它的代码中有require ClassyClass,它正确地从已安装的Gem中提取旧代码,但我想调用已更改的代码(使用使用initialize添加require_relative path/to/new/code}的参数。

抱歉! :P