From: Trans Date: 2007-07-25T04:34:00+09:00 Subject: Re: attributes ala java annotations or .Net attributes? On Jul 24, 3:21 pm, "Kyle Schmitt" wrote: > Does ruby have attributes ala java annotations or .Net attributes? > I've never seen them in use, hence my wondering. > Right now I've got a pretty big test-suite written in ruby & watir, > and I've got alot of old code in it. It would be nice if I just was > able to put in something like an [obsolete]/ tag, and have > it just ignored, or have a warning popup automatically to say "Your'e > using an obsolete method, get with it!", or to bip me on the head... > > Is there anything like this? Facets has an annotations system, but of course it's not an built-in part of ruby. So it simply supplies a general way to tag you code. It's up to you to actually make it do something. Basic example: require 'facets/annotations' class Y ann :x, :obsolete => true def x ... end end Y.ann(:x, :obsolete) #=> true So to use that to ignore methods, I suppose you'd want to use ObjectSpect.each_object(Class) to loop through the classes and undefine obsolete methods. For warnings, you could wrap them instead. T.