fails:Module#public_method_defined? returns true if the named public method is defined by module or its ancestors
fails:Module#public_method_defined? returns false if method is not a public method
fails:Module#public_method_defined? returns false if the named method is not defined by the module or its ancestors
fails:Module#public_method_defined? accepts symbols for the method name
fails:Module#public_method_defined? raises a TypeError if passed a Fixnum
fails:Module#public_method_defined? raises a TypeError if passed nil
fails:Module#public_method_defined? raises a TypeError if passed false
fails:Module#public_method_defined? raises a TypeError if passed an object that does not defined #to_str
fails:Module#public_method_defined? raises a TypeError if passed an object that defines #to_sym
fails:Module#public_method_defined? calls #to_str to convert an Object
