byebug
byebug copied to clipboard
Invoking byebug inside DelegateClass definition throws the `cannot load such file -- .../core` error.
Addressing an undefined method inside initialize
throws a cryptic error message:
ArgumentError:
not delegated
so to find it out I wanted to use byebug, like this:
require "delegate"
MyClass = DelegateClass(Hash) do
def initialize
require "byebug"
byebug
undefined_variable_that_caused_error
super({ 1=>2 })
end
end
MyClass.new
but it throws:
Traceback (most recent call last):
8: from temp.rb:10:in `<main>'
7: from temp.rb:10:in `new'
6: from temp.rb:5:in `initialize'
5: from /home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/delegate.rb:86:in `method_missing'
4: from /home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/delegate.rb:86:in `bind_call'
3: from /home/.../.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/lib/byebug/attacher.rb:36:in `byebug'
2: from /home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/delegate.rb:86:in `method_missing'
1: from /home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/delegate.rb:86:in `bind_call'
/home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/delegate.rb:86:in `require_relative': cannot load such file -- /home/.../.rbenv/versions/2.7.8/lib/ruby/2.7.0/core (LoadError)
because there https://github.com/ruby/delegate/blob/1c9f9cb37de9c1baa31dad5f67b00f59b765e22a/lib/delegate.rb#L89 they recall your https://github.com/deivid-rodriguez/byebug/blob/7e7384836defcfb40b675f5405428515b48eea9e/lib/byebug/attacher.rb#L36
Not sure who is to blame.