This is the command roodi that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
roodi - Roodi stands for Ruby Object Oriented Design Inferometer.
SYNOPSIS
roodi [options] [pattern ...]
DESCRIPTION
Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and
warns you about design issues you have based on the checks that is has configured.
OPTIONS
-config=config-file
Provide your own config-file. The config-file is a YAML file that lists the checks
to be included. Each check can optionally include a hash of options that are passed
to the check to configure it. For example, the default config file looks like
this:
AssignmentInConditionalCheck: { }
CaseMissingElseCheck: { }
ClassLineCountCheck: { line_count: 300 }
ClassNameCheck: { pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/ }
CyclomaticComplexityBlockCheck: { complexity: 4 }
CyclomaticComplexityMethodCheck: { complexity: 8 }
EmptyRescueBodyCheck: { }
ForLoopCheck: { }
MethodLineCountCheck: { line_count: 20 }
MethodNameCheck: { pattern: !ruby/regexp /^[_a-
z<>=\[\]|+-\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/ }
ModuleLineCountCheck: { line_count: 300 }
ModuleNameCheck: { pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/ }
ParameterNumberCheck: { parameter_count: 5 }
EXAMPLE USAGE
Check all ruby files in a rails app:
roodi "rails_app/**/*.rb"
Check one controller and one model file in a rails app:
roodi app/controller/sample_controller.rb app/models/sample.rb
Check one controller and all model files in a rails app:
roodi app/controller/sample_controller.rb "app/models/*.rb"
Check all ruby files in a rails app with a custom configuration file:
roodi -config=my_roodi_config.yml "rails_app/**/*.rb"
If you're writing a check, it is useful to see the structure of a file the way that Roodi
tokenizes it (via ruby_parser). Use:
roodi-describe [filename]
Use roodi online using onworks.net services