oop/prepend_private_visibility_parens.rb
tests/_examples/oop/prepend_private_visibility_parens.rb in the metorex repository.
module Wrapper
def wrapped
super + 1
end
end
class Counter
prepend Wrapper
def wrapped
1
end
private :wrapped
end
counter = Counter.new
puts(counter.wrapped)
module QuietWrapper
def hidden
:wrapped
end
private :hidden
end
class Vault
prepend QuietWrapper
def hidden
:own
end
end
begin
Vault.new.hidden
rescue NoMethodError => error
puts(error.message)
end
Output:
2
private method 'hidden' called for an instance of Vault