Skip to content

Instantly share code, notes, and snippets.

@ged
Created March 11, 2009 18:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ged/77645 to your computer and use it in GitHub Desktop.
Save ged/77645 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
class A
def a; end
def b; end
end
class B < A
def a; end
end
class C < B; end
class D < A; end
class E < A;
def b; end
end
ObjectSpace.each_object( Class ) do |klass|
if klass < A
inherited_methods = A.instance_methods(false) - klass.instance_methods(false)
puts "#{klass} methods not overridden:", *inherited_methods
end
end
# B methods not overridden:
# b
# C methods not overridden:
# a
# b
# D methods not overridden:
# a
# b
# E methods not overridden:
# a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment