Actions
Bug #11512
closedDelegateClass.#public_{instance_}methods are returning difference values.
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
Description
Is this intended behavior?
A patch is PR#926(https://github.com/ruby/ruby/pull/926)
require 'delegate'
class Parent
def parent_public; end
protected
def parent_protected; end
end
class Child < Parent
end
class DelegatorChild < DelegateClass(Parent)
end
class Parent
def parent_public_added; end
protected
def parent_protected_added; end
end
ignores = Object.public_instance_methods | Delegator.public_instance_methods
p(Child.public_instance_methods - ignores) #=> [:parent_public, :parent_public_added]
p(Child.new.public_methods - ignores) #=> [:parent_public, :parent_public_added]
p(DelegatorChild.public_instance_methods - ignores) #=> got: [:parent_public], expected: [:parent_public, :parent_public_added]
p(DelegatorChild.new(Parent.new).public_methods - ignores) #=> got: [:parent_public, :parent_public_added, :parent_protected]], expected: [:parent_public, :parent_public_added]
Files
Actions
Like0
Like0Like0