Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.

- NAME
- DESCRIPTION
- COMPLETE CODE UP FRONT
- LINE BY LINE
- SEE ALSO
- SOURCE
- MAINTAINERS
- AUTHORS
- COPYRIGHT

# NAME

Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.

# DESCRIPTION

This tutorial helps you understand how to add behaviors that occur when a tool is done with its work. All tools need to acquire and then release a context, for this tutorial we make use of the release hooks that are called every time a tool releases the context object.

# COMPLETE CODE UP FRONT

    package Test2::Plugin::MyPlugin;

    use Test2::API qw{test2_add_callback_context_release};

    sub import {
        my $class = shift;

        test2_add_callback_context_release(sub {
            my $ctx_ref = shift;

            print "Context was released\n";
        });
    }

    1;

# LINE BY LINE

use Test2::API qw{test2_add_callback_context_release};

  This imports the `test2_add_callback_context_release()` callback.

test2_add_callback_context_release(sub { ... })
my $ctx_ref = shift

  The coderefs for test2_add_callback_context_release() will receive exactly 1 argument, the context being released.

print "Context was released\n"

  Print a notification whenever the context is released.

# SEE ALSO

Test2::Manual - Primary index of the manual.

# SOURCE

The source code repository for Test2-Manual can be found at https://github.com/Test-More/Test2-Suite/.

# MAINTAINERS

Chad Granum <exodist@cpan.org>

# AUTHORS

Chad Granum <exodist@cpan.org>

# COPYRIGHT

Copyright 2018 Chad Granum <exodist@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/

Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.