Y
yrashk
I have the following code:
class ReturnSelfAfter
def initialize(context)
@context = context
end
def method_missing(sym,*args,&block)
@context.send sym, *args, &block
@context
end
end
class Object
def return_self_after
ReturnSelfAfter.new(self)
end
end
While it works fine proxying most of methods (not inclusive standard
ones, of course), it seems to fail on setters:
class C ; attr_accessor :abc ; end
=> 1
While #abc returns C class instance, of course:
=> #<C:0x705014>
So, is it a bug or a feature? Or am I just missing something?
(ruby 1.8.4 (2005-12-24) [i686-darwin8.7.1])
Thank you in advance
class ReturnSelfAfter
def initialize(context)
@context = context
end
def method_missing(sym,*args,&block)
@context.send sym, *args, &block
@context
end
end
class Object
def return_self_after
ReturnSelfAfter.new(self)
end
end
While it works fine proxying most of methods (not inclusive standard
ones, of course), it seems to fail on setters:
class C ; attr_accessor :abc ; end
=> 1
While #abc returns C class instance, of course:
=> #<C:0x705014>
So, is it a bug or a feature? Or am I just missing something?
(ruby 1.8.4 (2005-12-24) [i686-darwin8.7.1])
Thank you in advance