NAME

Devel::Examine::Subs::Engine - Provides core engine callbacks for Devel::Examine::Subs

SYNOPSIS

    use Devel::Examine::Subs::Engine;

    my $compiler = Devel::Examine::Subs::Engine->new;

    my $engine = 'has';

    if (! $compiler->exists($engine)){
        confess "engine $engine is not implemented.\n";
    }

    eval {
        $engine_cref = $compiler->{engines}{$engine}->();
    };

METHODS

All methods other than exists() takes an href of configuration data as its first parameter.

exists('engine')

Verifies whether the engine name specified as the string parameter exists and is valid.

all

Takes $struct params directly from the Processor module.

Returns an aref.

has

Takes $struct from the output of the 'file_lines_contain' Postprocessor.

Returns an aref.

missing

Data comes directly from the Processor.

Returns an aref.

lines

The module that passes data in is dependant on whether 'search' is set. Otherwise, it comes directly from the Processor.

Returns an href.

objects

Uses Devel::Examine::Subs::Sub to generate objects based on subs.

Returns an aref of said objects.

search_replace

Takes params, struct and a des object.

Returns aref of replaced lines if there are any.

inject_after

Returns aref of subs that had code injected.

AUTHOR

Steve Bertrand, <steveb at cpan.org>

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Devel::Examine::Subs

LICENSE AND COPYRIGHT

Copyright 2016-2020 Steve Bertrand.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.