Trans
7/24/2007 7:34:00 PM
On Jul 24, 3:21 pm, "Kyle Schmitt" <kyleaschm...@gmail.com> 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]/<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.