Based on Jacob's answer , I ended this redefinition require_relativeand require:
alias :old_require_relative :require_relative
def require_relative(arg)
puts "%s requires %s" % [ caller.first.split(/:\d+/,2).first, arg]
old_require_relative arg
end
alias :old_require :require
def require(arg)
puts "%s requires %s" % [ caller.first.split(/:\d+/,2).first, arg]
old_require arg
end
In a test test case with the following boot sequence:
test.rb
+- test1.rb
+- test1_a.rb
+ test2.rb
Next calls
require './test1'
require './test2'
or
require_relative 'test1'
require_relative 'test2'
lead to:
test.rb requires ./test1
C:/Temp/test1.rb requires test1_a
test.rb requires ./test2
You can also include an output string in the output.
source
share