From: Stefano Crocco Date: 2008-06-04T22:54:28+09:00 Subject: Re: Module philosophy On Wednesday 04 June 2008, Leslie Viljoen wrote: > modifies the one object. (2) Philosophically, is there any reason why > extend can't be used > in the same way on classes? (ie. String.extend(Crc)) Because String.extend(Crc) would add the instance methods of the Crc module as class methods of String, not as instance methods. This would mean you could do: String.method_defined_in_crc but not "hello".method_defined_in_crc If you don't like the idea of reopening the class, you can use include with send: String.send :include, Crc Stefano