Actions
Bug #16242
closedRefinements method call to failed
Bug #16242:
Refinements method call to failed
Description
Refinements method call to failed with prepend
.
No problem¶
module M
# Methods that you want to call only within this context
refine M do
def refine_method
"refine_method"
end
end
using M
def hoge
# OK: `refine_method` calls the method
refine_method
end
end
class X
include M
end
pp X.new.hoge
# => "refine_method"
Problem¶
- If
prepend
another module, the search forrefine_method
fails
module OtherM
end
module M
# Added prepend
prepend OtherM
refine M do
def refine_method
"refine_method"
end
end
using M
def hoge
# Error: `hoge': undefined local variable or method `refine_method' for #<X:0x00007fa05a024390> (NameError)
refine_method
end
end
class X
include M
end
# Error
pp X.new.hoge
Environment¶
Reproduced in the following environment.
RUBY_VERSION # => "2.7.0"
RUBY_REVISION # => "02dfa0f16361c498e0f529054b00e3e09730892b"
RUBY_PLATFORM # => "x86_64-darwin17"
You can also confirm that it is reproduced here.
https://wandbox.org/permlink/I6tQesDRntT7JZqB
Actions