目前我正在使用require命令将Ruby类加载到每个类文件中,例如:
require File.join(File.dirname(__FILE__), 'observation_worker')
require File.join(File.dirname(__FILE__), 'log_worker')
Run Code Online (Sandbox Code Playgroud)
对于每个类,我都在定义它需要的类.如果我可以在我的应用程序的入口点执行此操作,那将是很棒的.
有没有一种简单的方法可以在应用程序开始时加载所有Ruby类?
小智 11
如果你的代码所在的目录结构有点清晰,你可以将特定的目录路径添加到加载路径中
$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), 'lib' ) )
Run Code Online (Sandbox Code Playgroud)
然后在代码的其他部分,您可能需要从相对路径,如下所示:
require 'observation_worker'
require 'logger_worker'
Run Code Online (Sandbox Code Playgroud)
或者如果你在lib中有文件夹,你甚至可以做
require 'workers/observation'
require 'workers/logger'
Run Code Online (Sandbox Code Playgroud)
在我看来,这可能是处理库内容中最干净的方法.