 
 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 | ||
|---|---|---|
| Code | Expected | Actual | 
| 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 |