在执行``系统调用之前触发事件

Trigger an event before `` system call is carried out

我希望在执行使用 system 或 `` 的系统调用之前进行检查,以确保调用是从特定模块发出的。

我不想用它来清理或验证命令,只是确保只有一个模块可以进行这些调用。

谢谢。

找到解决方案:

module BacktickURI
  alias_method :standard_back_tick_call, :`  #` #Comment for fixing Notepad++ highlighting, needs even back ticks
  alias_method :standard_system_call, :system

  def `(uri)#`
      standard_back_tick_call(uri)
  end

  def system uri
     standard_system_call uri
 end
end

编辑:上面的代码不是完整的过程,它只是完成我正在寻找的任务的部分,更新系统和反引号方法。

Alias_method 使用 include 转移范围,防止循环引用或类似的东西。