【发布时间】:2016-10-04 18:09:51
【问题描述】:
我有一个 gem(例如mygem),通常情况下,我通过将require "mygem" 放在顶部来将mygem 添加到文件中。如果我在mygem 中有一个名为finish_jobs 的方法,我希望它在以下位置运行:
require "mygem"
# code, code code
finish_jobs
如果不强制用户在每次使用 gem 时添加方法,我该怎么做?
具体来说,我要做的是编写一个服务器应用程序(带机架),我需要在服务器启动之前处理文件正文中的方法。
【问题讨论】:
-
“代码代码代码”是您启动服务器的位置吗?
-
code code code如果我正在设置服务器的各个部分,必须在开始运行之前设置这些部分。 -
我觉得您应该编写一个 config.rb 来满足您的需求并对其进行重构。
-
在退出时任意运行这样的代码对于 gem 来说是非常粗鲁的除非你有一个非常具体的用例并且你的库的用户完全期待它。我能想到的一个例子是
test/unit,它默认运行测试只需要库。 -
@thesecretmaster 你如何启动服务器?也许您可以在您的 gem 中添加一个自动应用的机架中间件?
标签: ruby rubygems require rack