From: tamouse mailing lists Date: 2013-02-03T14:00:21+09:00 Subject: Re: Problem redefining String::to_s If you're seriously going to monkey-patch String, then try this instead: class String def colourise(colour=nil) me = self.dup me.colourise!(colour) end def colourise!(colour=nil) return self unless colour # do some magic to make things look the way you want self end end then call: puts "Hello, world!".colourise :green (for example) But really, instead of that, take a look at the formatador gem. Great for colourising things already!!