NAME¶
Code::TidyAll - Engine for tidyall, your all-in-one code tidier and validator
VERSION¶
version 0.20
SYNOPSIS¶
use Code::TidyAll;
my $ct = Code::TidyAll->new_from_conf_file(
'/path/to/conf/file',
...
);
# or
my $ct = Code::TidyAll->new(
root_dir => '/path/to/root',
plugins => {
perltidy => {
select => 'lib/**/*.(pl|pm)',
argv => '-noll -it=2',
},
...
}
);
# then...
$ct->process_paths($file1, $file2);
DESCRIPTION¶
This is the engine used by tidyall - read that first to get an overview.
You can call this API from your own program instead of executing
"tidyall".
CONSTRUCTION¶
Constructor methods¶
- new (%params)
- The regular constructor. Must pass at least plugins and
root_dir.
- new_with_conf_file ($conf_file, %params)
- Takes a conf file path, followed optionally by a set of key/value
parameters. Reads parameters out of the conf file and combines them with
the passed parameters (the latter take precedence), and calls the regular
constructor.
If the conf file or params defines tidyall_class, then that class is
constructed instead of "Code::TidyAll".
Constructor parameters¶
- plugins
- Specify a hash of plugins, each of which is itself a hash of options. This
is equivalent to what would be parsed out of the sections in the
configuration file.
- backup_ttl
- check_only
- data_dir
- iterations
- mode
- no_backups
- no_cache
- output_suffix
- quiet
- root_dir
- verbose
- These options are the same as the equivalent "tidyall"
command-line options, replacing dashes with underscore (e.g. the
"backup-ttl" option becomes "backup_ttl" here).
METHODS¶
- process_paths (path, ...)
- Call "process_file" on each file; descend recursively into each
directory if the "recursive" flag is on. Return a list of
Code::TidyAll::Result objects, one for each file.
- process_file (file)
- Process the file, meaning
- •
- Check the cache and return immediately if file has not changed
- •
- Apply appropriate matching plugins
- •
- Print success or failure result to STDOUT, depending on quiet/verbose
settings
- •
- Write the cache if enabled
- •
- Return a Code::TidyAll::Result object
- process_source (source, path)
- Like "process_file", but process the source string
instead of a file, and do not read from or write to the cache. You must
still pass the relative path from the root as the second argument,
so that we know which plugins to apply. Return a Code::TidyAll::Result
object.
- plugins_for_path (path)
- Given a relative path from the root, return a list of
Code::TidyAll::Plugin objects that apply to it, or an empty list if no
plugins apply.
- find_conf_file (conf_names, start_dir)
- Class method. Start in the start_dir and work upwards, looking for
one of the conf_names. Return the pathname if found or throw an
error if not found.
- find_matched_files
- Returns a list of sorted files that match at least one plugin in
configuration.
SEE ALSO¶
Code::TidyAll
AUTHOR¶
Jonathan Swartz <swartz@pobox.com>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2011 by Jonathan Swartz.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.