This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.

Listing Methods Unique to an Object
CodeExpectedActual
class Object
  def my_methods_only
    my_super = self.class.superclass
    return my_super ? methods - my_super.instance_methods : methods
  end
end
s = ''
s.methods.size
143 143
Object.instance_methods.size
41 41
s.my_methods_only.size
102 102
(s.methods - Object.instance_methods).size
102 102
def s.singleton_method()
end
s.methods.size
144 144
s.my_methods_only.size
103 103
class Object
  def new_object_method
  end
end
s.methods.size
145 145
s.my_methods_only.size
103 103
class MyString < String
  def my_string_method
  end
end
MyString.new.my_methods_only
["my_string_method"] ["my_string_method"]
class Object
  def my_methods_only_no_mixins
    m = my_methods_only
    self.class.ancestors.each do |ancestor| 
    m = m - ancestor.instance_methods unless ancestor.is_a?(Class) \
	 || ancestor == Kernel      
    end
    return m
  end  
end
[].methods.size
121 121
[].my_methods_only.size
78 78
[].my_methods_only_no_mixins.size
57 57