加载任意代码并找到一个类

时间:2017-11-20 22:05:24

标签: ruby-on-rails ruby

我正在做一个实验,涉及接受任意位代码并确定哪个类刚刚从require <file>eval <file>语句加载。

所以,例如,如果我有:

module Foo
  class Bar < ExistingGemModule::ExistingGemClass

  end
end

我想提出Foo :: Bar

我有办法做到这一点吗?

这些可能是一种黑客的方法:

  • 在文件上使用正则表达式,包括接收模块/名称空间。
  • 查找语句之前加载的所有内容的索引,然后立即查找,并执行after - before

我真的在检查是否可以使用裸机Ruby基础架构/回调/中断/等来完成它。

是的,我知道在生产中要求任意代码是危险的。 :)

谢谢!

0 个答案:

没有答案