App-JESP

 view release on metacpan or  search on metacpan

lib/App/JESP.pm  view on Meta::CPAN

                           return DBI->connect( $self->dsn(), $self->username(), $self->password(),
                                                { RaiseError => 1,
                                                  PrintError => 0,
                                                  AutoCommit => 1,
                                              });
                       };
                   });

has 'dbix_simple' => ( is => 'ro', isa => 'DBIx::Simple', lazy_build => 1);
has 'patches_table_name' => ( is => 'ro', isa => 'Str' , lazy_build => 1);
has 'meta_patches' => ( is => 'ro', isa => 'ArrayRef[HashRef]',
                        lazy_build => 1 );


has 'plan' => ( is => 'ro', isa => 'App::JESP::Plan', lazy_build => 1);
has 'driver' => ( is => 'ro', isa => 'App::JESP::Driver', lazy_build => 1 );

has 'interactive' => ( is => 'ro' , isa => 'Bool' , lazy_build => 1 );
has 'colorizer' => ( is => 'ro', isa => 'App::JESP::Colorizer', lazy_build => 1 );

has json => ( is => "ro", lazy_build => 1 );

lib/App/JESP/Plan.pm  view on Meta::CPAN


=head1 NAME

App::JESP::Plan - Represents a patching plan

=cut

has 'jesp' => ( is => 'ro' , isa => 'App::JESP', required => 1, weak_ref => 1);

has 'file' => ( is => 'ro', isa => 'Str', required => 1 );
has 'patches' => ( is => 'ro' , isa => 'ArrayRef[App::JESP::Patch]', lazy_build => 1 );

has 'raw_data' => ( is => 'ro', isa => 'HashRef' , lazy_build => 1);

sub _build_raw_data{
    my ($self) = @_;
    my $content = File::Slurp::read_file( $self->file() );
    return $self->jesp->json->decode( $content );
}

sub _build_patches{
    my ($self) = @_;
    unless( $self->raw_data()->{patches} ){

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 2.242 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-72ae3ad1e6da )