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();

if (! $compiler->exists($engine)){
    croak "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 it's 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' Pre-filter.

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 2015 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.