package Code::TidyAll::Result; use strict; use warnings; use Specio::Declare; use Specio::Library::Builtins; use Specio::Library::Path::Tiny; use Specio::Library::String; use Moo; our $VERSION = '0.84'; has error => ( is => 'ro', isa => t('NonEmptyStr'), ); has new_contents => ( is => 'ro', isa => t('Str'), ); has orig_contents => ( is => 'ro', isa => t('Str'), ); has path => ( is => 'ro', isa => t('Path'), ); has state => ( is => 'ro', isa => enum( values => [qw( cached checked error no_match tidied)] ), ); sub ok { return $_[0]->state ne 'error' } 1; # ABSTRACT: Result returned from processing a file/source __END__ =pod =encoding UTF-8 =head1 NAME Code::TidyAll::Result - Result returned from processing a file/source =head1 VERSION version 0.84 =head1 SYNOPSIS my $ct = Code::TidyAll->new(...); my $result = $ct->process_file($file); if ($result->error) { ... } =head1 DESCRIPTION Represents the result of C<< Code::TidyAll->process_file >> and C<< Code::TidyAll->process_file >>. A list of these is returned from C< Code::TidyAll->process_paths >>. =head1 METHODS This class provides the following methods: =head2 $result->path The path that was processed, relative to the root (e.g. "lib/Foo.pm") =head2 $result->state A string, one of =over 4 =item * C - No plugins matched this file =item * C - Cache hit (file had not changed since last processed) =item * C - An error occurred while applying one of the plugins =item * C - File was successfully checked and did not change =item * C - File was successfully checked and changed =back =head2 $result->orig_contents Contains the original contents if state is 'tidied' and with some errors (like when a file needs tidying in check-only mode) =head2 $result->new_contents Contains the new contents if state is 'tidied' =head2 $result->error Contains the error message if state is 'error' =head2 $result->ok Returns true iff state is not 'error' =head1 SUPPORT Bugs may be submitted at L. =head1 SOURCE The source code repository for Code-TidyAll can be found at L. =head1 AUTHORS =over 4 =item * Jonathan Swartz =item * Dave Rolsky =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2011 - 2023 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. The full text of the license can be found in the F file included with this distribution. =cut