我有一个我写的gem,它有许多处理程序,每个处理程序在gem中都有自己的ruby文件。我需要添加在命令行上指定文件的功能,该文件将以与这些其他处理程序相同的方式加载。该文件通常不在gem的默认加载路径中。
我不确定这样做的最好方法。我可以获取文件名,然后将包含目录添加到加载路径,然后加载文件。我可以让用户指定一个包含要读取的处理程序的目录,而不是指定文件,或者我确定有一种更好的方法可以做到这一点,我还没有想到。
答案 0 :(得分:0)
这是使用require_relative修复的,并使用Dir.pwd扩展文件路径:
req_path = File.expand_path(arg, Dir.pwd)
require_relative req_path