[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

unused methods

Cheshire Cat

9/25/2006 2:56:00 PM

I'm wondering if there is a good, quick way to determine unused methods
in a large Ruby or Rails application. My situation is that I wrote a
Rails app sometime last year, when I was first learning both Ruby and
Rails, and coming back to it now, it looks like a PHP app that just
happens to be written in Ruby (I came from PHP). So, I'm refactoring a
lot of things to make it more modular and Ruby-esque, but I haven't
been deleting functionality along the way out of concern for keeping it
working while I update it. Now, though, I would like to be able to
have something parse my source and, for every method defined, have a
count of how many times it is used, where it is called, etc. Is there
a tool like this out there, or will I need to write such a beast?
Thanks!

2 Answers

Phlip

9/25/2006 3:08:00 PM

0

Cheshire Cat wrote:


> I'm wondering if there is a good, quick way to determine unused methods
> in a large Ruby or Rails application. My situation is that I wrote a
> Rails app sometime last year, when I was first learning both Ruby and
> Rails, and coming back to it now, it looks like a PHP app that just
> happens to be written in Ruby (I came from PHP). So, I'm refactoring a
> lot of things to make it more modular and Ruby-esque, but I haven't
> been deleting functionality along the way out of concern for keeping it
> working while I update it. Now, though, I would like to be able to
> have something parse my source and, for every method defined, have a
> count of how many times it is used, where it is called, etc. Is there
> a tool like this out there, or will I need to write such a beast?

Grab Watir, and write acceptance tests for each feature in your project.

Now start whacking lines, and each time you do, pass all the tests. If a
test fails unexpectedly, put the line back.

Another thing you brought from PHP is no unit tests, right?

Write them also, in the test folder.

--
Phlip
http://www.greencheese.u... <-- NOT a blog!!!


Jano Svitok

9/25/2006 3:30:00 PM

0

On 9/25/06, Cheshire Cat <cheshire137@gmail.com> wrote:
> I'm wondering if there is a good, quick way to determine unused methods
> in a large Ruby or Rails application. My situation is that I wrote a
> Rails app sometime last year, when I was first learning both Ruby and
> Rails, and coming back to it now, it looks like a PHP app that just
> happens to be written in Ruby (I came from PHP). So, I'm refactoring a
> lot of things to make it more modular and Ruby-esque, but I haven't
> been deleting functionality along the way out of concern for keeping it
> working while I update it. Now, though, I would like to be able to
> have something parse my source and, for every method defined, have a
> count of how many times it is used, where it is called, etc. Is there
> a tool like this out there, or will I need to write such a beast?
> Thanks!

rcov (gem install rcov) will give you coverage info (i.e. what lines
have been visited during a program run). Using it will of course
require that you have tests that will walk all the possible paths.

You could use ParseTree[1] to build call graphs, but it would be much
harder, so I say write the tests as well.

[1] http://www.zenspider.com/ZSS/Products/ParseTree/...