++ed by:
ZMUGHAL PJF TOBYINK ROMANF NGLENN

5 PAUSE users
1 non-PAUSE user.

Paul Jamieson Fenwick

NAME

Exobrain - Core Exobrain accessor class

VERSION

version 1.01

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.