From: Jeremy Date: 2003-03-27T10:30:36+09:00 Subject: Re: Conditionally make a method private? Kent Dahl wrote: > They can, but remember that methods such as private are methods on the > Module and Class object instances, not your objects instances. They are > also private. > >> Is conditional hiding of methods like I want to do even possible? >> Any insight is appreciated, >> Jeremy > > class Hider > def initialize(val) > p self.type > class < private :method1 > end if val > class < private :method2 > end if not val > end > > def method1 > #... > end > > def method2 > #... > end > end > > ahider = Hider.new(true) > bhider = Hider.new(false) > ahider.method2 > bhider.method1 > > begin > ahider.method1 > rescue NameError => err > puts err > end > begin > bhider.method2 > rescue NameError => err > puts err > end Ah! I believe I understand. Thank you for this! Jeremy