Here is a list and short description of each action available in Kwala.
code_change
Is a special action that compares two directories generated by ri and shows the differences between them. If you create ri documentation for a project and one week later create a new set of ri documentation for this project, you can then see what new classes and methods were added or removed.
code_duplication
Checks for duplicated code in your source base. It uses the Java program CPD from the PMD project to find duplicated code. In order to use this action all you need is a working Java VM as CPD itself comes bundled with Kwala.
cyclomatic
Checks the cyclomatic complexity of all the methods in a project. It will list the top 10 errors and warnings on the summary page. This action requires Saikuro (see http://saikuro.rubyforge.org) in order to run.
loc
Counts the lines of code/comments and test cases in a project.
code_coverage
Shows how much code is covered by the unit tests in a project. Require rcov to work.
formatting
Checks the project against various rules for how code should be formatted. Of course, these rules are a matter of opinion, so please change the parameters to your liking.
comment_check
Scans the project for special comment flags and generates summaries for
each comment and a link to the source code where the comment can be
found.
Flags searched for are:
BUG FIXME ??? TODO and XXX
outside_links
Generates links on the summary page to other web tools like: rdoc, viewvc and whatever you wish to add.
cycles
Checks the project for require commands that create a cycle (loop where one require winds up requiring itself through other files). Also generates a graph of the requires in the project. The output of the graph is feed into Prefuse's demo Java Applet for an interactive view of the graph structure.
requires
Checks and reports how files require each other. Useful for finding potentially awkward design decisions.
syntax_check
Runs ruby's syntax check on all Ruby files in the project.
unit_test
Runs the unit tests found in the project. The summary page will contain all failing tests or any tests that generated ruby warnings while running.
multiruby_unit_test
Runs the unit tests against multiple versions of the ruby interpreter. This requires multiruby, part of ZenTest: http://www.zenspider.com/ZSS/Products/ZenTest/