From: Gavin Kistner Date: 2004-09-24T00:43:43+09:00 Subject: Re: Design Advice: Sub-Class 'Instances' On Sep 23, 2004, at 8:46 AM, Gavin Kistner wrote: > class Foo::Bar::DeviceType > def name; raise "Implement Me!"; end > def manufacturer; raise "Implement Me!"; end > def model; raise "Implement Me!"; end > > class Light > def turn_on; raise "Implement Me!"; end > def turn_off; raise "Implement Me!"; end > > class Dimmer > def level=(n); raise "Implement Me!"; end > def level; raise "Implement Me!"; end > end > end > end > > #Adaptor file > class Foo::Bar::DeviceType::Light::Dimmer::RadioRA > def name; 'Lutron RadioRA Wall Dimmer'; end > def manufacturer; 'Lutron'; end > def name; 'RA-ND6'; end > def turn_on; ...; end; > def turn_off; ...; end; > def level=(n); ...; end; > def level; ...; end; > Foo::Bar::DeviceType::add_device( self ) > end Oops. I confused inheritance hierarchy with namespace hierarchy. Sprinkle some "... < self" in there, along with a "... < Foo::Bar::DeviceType::Light::Dimmer"