Actions
Bug #10103
closedUnable to refine class with CONSTANT
Bug #10103:
Unable to refine class with CONSTANT
ruby -v:
2.1.1
Backport:
Description
When refining a class (such as String
in the following example) it is impossible to assign a constant. The constant will get attached to the module containing the refinement instead of the refined class. When inside of a refine
block constants should get assigned to that class.
module Foobar
refine String do
FOO = "BAR"
def foobar
"foobar"
end
end
end
using Foobar
puts "".class::FOO # => uninitialized constant String::FOO (NameError)
puts "".foobar # => "foobar"
Actions