From: Ryan Davis Date: 2012-04-06T04:16:27+09:00 Subject: Re: Design pattern question On Apr 5, 2012, at 09:19 , Steve Klabnik wrote: >> True, but I want to document the API somewhere central. I raise exceptions saying the method must be implement. > > That's not very ruby-like at all. Yes it is, in that it is good design. Otherwise, why would we have NotImplementedError? We use it all the time in our projects that implement an abstract interface: graph/dev/lib/dep_analyzer.rb: raise NotImplementedError, "subclass responsibility" graph/dev/lib/dep_analyzer.rb: raise NotImplementedError, "subclass responsibility" graph/dev/lib/dep_analyzer.rb: raise NotImplementedError, "subclass responsibility"