On Sat, Apr 3, 2010 at 10:45 PM, Julian Leviston <[email protected]> wrote: > > On 04/04/2010, at 7:32 AM, David Chelimsky wrote: > >> On Sat, Apr 3, 2010 at 8:56 AM, Vojto Rinik <[email protected]> wrote: >>> Hello RSpec users! >>> I have one abstract class and a few classes that inherit from that abstract >>> one. >> >> Ruby doesn't have abstract classes. You can have a base class that you >> don't _intend_ to instantiate directly, but there's nothing stopping >> you from doing so, so it's not like an abstract class in java, which >> you actually can't instantiate directly. >> >> I've seen some cases where the initialize method is made private so >> you can't just call Foo.new, so it sort of feels like an abstract >> class, but even in that case you can still use send() to instantiate >> one in a test: >> >> AbstractIshClass.send(:new) >> > > How about if you overrode new and __new__ ?
Then override the override. AFAIK, there's really no preventing a client from using an object however it chooses in Ruby. You can make it difficult, but I'm pretty sure there's always a way around it. _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
