NAME
Exobrain - Core Exobrain accessor class
VERSION
version 1.00
METHODS
watch_loop
$exobrain->watch_loop(
class => 'Measurement::Geo',
filter => sub { $_->is_me },
then => sub { ... },
);
When we see packets of a particular class, do a particular thing. The class
need not strictly be a class, but may also be a role
.
The 'Exobrain::' prefix should not be supplied to the class/roles you are searching for.
If the optional debug
option is passed with a coderef, that will be run for every event in the desired class, before the filter is evaluated.
The event is passed as the first argument to all coderefs. As a convenience, it is also placed inside $_
.
Never returns, just runs the loop forever.
notify
$exobrain->notify($msg
priority => -1,
);
Takes a mandatory message, and any arguments that can be passeed to Exobrain::Intent::Notify, and notifies the user. At the time of writing, notifications are done by the pushover end-point by default.
This is a thin wrapper around $exobrain-
intent('Notify', ... >.
message
$exobrain->message( ... );
Shortcut to create a 'raw' message. The exobrain parameter will be passed to the class constructor automatically.
The message will be sent automatically, unless the nosend
parameter is set to a true value.
measure
$exobrain->measure( 'Mailbox',
count => 42,
user => 'pjf',
server => 'imap.example.com',
fodler => 'INBOX',
)->send;
Preferred shortcut for creating a measurement of the desired class. The exobrain
parameter will be passed to the measurement class constructor automatically.
intent
my $intent = $exobrain->intent( 'Tweet',
tweet => 'Hello World',
);
Preferred shortcut for making an intent of the desired class. The exobrain
parameter will be passed to the intent class constructor automatically.
run
$exobrain->run($agent);
Runs the agent of the class specified. The agent name is automatically prepended with "Exobrain::Agent::" and loaded first. This method never returns.
This is usually called from the exobrain
cmdline program.
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.