From: Ryan Davis Date: 2008-11-20T18:29:06+09:00 Subject: Re: Error message, hide class name On Nov 19, 2008, at 08:50 , Trans wrote: > irb(main):005:0> class X > irb(main):006:1> def inspect > irb(main):007:2> "hey" > irb(main):008:2> end > irb(main):009:1> end > => nil > irb(main):010:0> x = X.new.nomethod > NoMethodError: undefined method `nomethod' for hey:X > from (irb):10 > > Anyone know how I can get rid of the ':X' after 'hey'? I've tried: the problem isn't inspect or anything else to do with X, it is method_missing. the default method_missing is raising with a message like: "undefined method `#{msg}' for #{self.inspect}:#{self.class}" So you can attack the 'problem' at the source: > >> class Object; def method_missing(*a); raise NoMethodError, "haha! > stupid!"; end; end > => nil > >> bork > NoMethodError: haha! stupid! > from (irb):3:in `method_missing' > from (irb):4