VERSION
version 0.32SYNOPSIS
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.
- cache_model_class
- The cache model class. Defaults to "Code::TidyAll::CacheModel"
- cache
- The cache instance (e.g. an instance of "Code::TidyAll::Cache" or a "CHI" instance.) An instance of "Code::TidyAll::Cache" is automatically instantiated by default.
- backup_ttl
- check_only
- no_cleanup
- A boolean indicating if we should skip cleaning temporary files or not. Defaults to false.
- 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).
- msg_outputter
- This is a subroutine reference that is called whenever a message needs to be printed in some way. The sub receives a "sprintf()" format string followed by one or more parameters. The default sub used simply calls "printf "$format\n", @_" but Test::Code::TidyAll overrides this to use the "Test::Builder->diag" method.
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.
AUTHORS
- Jonathan Swartz <[email protected]>
- Dave Rolsky <[email protected]>
CONTRIBUTORS
- Andy Jack <[email protected]>
- George Hartzell <[email protected]>
- Gregory Oschwald <[email protected]>
- Joe Crotty <[email protected]>
- Mark Fowler <[email protected]>
- Mark Grimes <[email protected]>
- Olaf Alders <[email protected]>
- Pedro Melo <[email protected]>
- Sergey Romanov <[email protected]>
- timgimyee <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 - 2015 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.