[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

attributes ala java annotations or .Net attributes?

Kyle Schmitt

7/24/2007 7:21:00 PM

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?

Thanks,
Kyle

3 Answers

Trans

7/24/2007 7:34:00 PM

0



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.


Ben Bleything

7/24/2007 7:34:00 PM

0

On Wed, Jul 25, 2007, 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]/<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...

It's not exactly what you're looking for, but there's a library called
'deprecated' that can be used to achieve that sort of result:

http://rubyforge.org/projects/d...

Ben

Kyle Schmitt

7/24/2007 7:48:00 PM

0

Hum. OK, thanks you two. Maybe if I'm lucky it'll end up in ruby 2.0 ;)