NAME

Code::TidyAll - Engine for tidyall, your all-in-one code tidier and validator

VERSION

version 0.02

SYNOPSIS

use Code::TidyAll;

my $ct = Code::TidyAll->new(
    conf_file => '/path/to/conf/file'
);

# or

my $ct = Code::TidyAll->new(
    root_dir => '/path/to/root',
    plugins  => {
        perltidy => {
            select => qr/\.(pl|pm|t)$/,
            options => { argv => '-noll -it=2' },
        },
        ...
    }
);

# then...

$ct->process_files($file1, $file2);

# or

$ct->process_all();

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.

CONSTRUCTOR OPTIONS

You must either pass conf_file, or both plugins and root_dir.

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 tidyall.ini.

prefilter

A code reference that will be applied to code before processing. It is expected to take the full content as a string in its input, and output the transformed content.

postfilter

A code reference that will be applied to code after processing. It is expected to take the full content as a string in its input, and output the transformed content.

backup_ttl
check_only
conf_file
data_dir
mode
no_backups
no_cache
root_dir
quiet
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_all

Process all files; this implements the tidyall -a option.

process_files (file, ...)

Calls "process_file" on each file. 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 prefilters, appropriate matching plugins, and postfilters

  • Print success or failure result to STDOUT, depending on quiet/verbose settings

  • Write the cache if enabled

  • Return a Code::TidyAll::Result object

find_conf_file (start_dir)

Start in the start_dir and work upwards, looking for a tidyall.ini. Return the pathname if found or throw an error if not found.

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.