NAME

Exobrain::Agent::Depends - Allow agents to declare run-time dependencies

VERSION

version 1.08

SYNOPSIS

use Moose;
with 'Exobrain::Agent::Depends';

sub depends { return qw(Measurement::Foo Intent::bar) }

DESCRIPTION

This role allows an agent to declare run-time dependencies. This has the following advantages:

  • It allows agents to be written which do not cause hard dependencies in their distribution. This avoids dependency bloat.

  • It allows the exobrain framework to determine if it could conceivably run an agent, allowing it not to be shown if the dependencies are not satisfied

  • It allows for all the dependencies to be pre-loaded upon agent creation, resulting in a "fail-fast" operation if goes awry.

All dependencies are currently prefixed with Exobrain::.

AUTHOR

Paul Fenwick <pjf@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Paul Fenwick.

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