Robert Klemme wrote:
> ts wrote:
> 
>>>>>>>"D" == Damphyr  <damphyr / freemail.gr> writes:
>>
>>>I do something like the following
>>
>> Try something like this
>>
>>moulon% cat b.rb
>>#!/usr/bin/ruby
>>class Test
>>   def self.open
>>      tt = new
>>      yield tt
>>   ensure
>>      tt.close if tt
>>   end
>>
>>   def close
>>   end
>>end
>>
>>module SomeModule
>>   def some_module_method
>>      puts "some_module_method"
>>   end
>>end
>>
>>class DerivedTest<Test
>>   include SomeModule
>>end
>>
>>DerivedTest.open{|tt|
>>   tt.some_module_method
>>}
>>moulon%
>>
>>moulon% ./b.rb
>>some_module_method
>>moulon%
>>
>>
>>
>>Guy Decoux
> 
> 
> Guy, you were too fast again! :-)  So I cut out my similar example and
> just add what would have been my explanation:
> 
> The trick is not to do Test.new but to use just new (calls self.new which
> is DerivedTest in sub class).
> 
> Kind regards
> 
>     robert
I can always rely on Guy for a fast answer :).
Simple, when not very obvious. I guess I had to keep in mind that new is 
private and for private methods self. is implicit.
Thanks guys,
V.-
-- 
http://www.braveworld.net/riva

____________________________________________________________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.