MooX-Async-Console
view release on metacpan or search on metacpan
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Future" : "0.33",
"IO::Async" : "0.71",
"Import::Into" : "1.002",
"List::Util" : "1.29",
"Modern::Perl" : "1.2017",
"Module::Runtime" : "0.016",
"Moo" : "2",
"MooX::Role::Logger" : "0.005",
"Syntax::Keyword::Try" : "0.09",
"curry" : "1",
"namespace::clean" : "0.27",
"perl" : "5.024",
"strictures" : "2"
}
}
name: MooX-Async-Console
no_index:
directory:
- t
- inc
requires:
Future: '0.33'
IO::Async: '0.71'
Import::Into: '1.002'
List::Util: '1.29'
Modern::Perl: '1.2017'
Module::Runtime: '0.016'
Moo: '2'
MooX::Role::Logger: '0.005'
Syntax::Keyword::Try: '0.09'
curry: '1'
namespace::clean: '0.27'
perl: '5.024'
strictures: '2'
version: '0.105'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
Makefile.PL view on Meta::CPAN
test => { TESTS => join ' ', find_tests },
VERSION_FROM => 'lib/MooX/Async/Console.pm',
PREREQ_PM => {
'perl' => '5.024', # 5.016 for S:K:T
'curry' => '1',
'IO::Async' => '0.71',
'Import::Into' => '1.002',
'List::Util' => '1.29',
'Future' => '0.33',
'Modern::Perl' => '1.2017',
'Moo' => '2',
'Module::Runtime' => '0.016',
'MooX::Role::Logger' => '0.005',
'namespace::clean' => '0.27',
'strictures' => '2',
'Syntax::Keyword::Try' => '0.09',
},
);
docs/Three.pm view on Meta::CPAN
package Three;
use Modern::Perl '2017';
use strictures 2;
use Moo;
use Exporter ();
use Guard qw(scope_guard);
use IO::Async::Loop;
use MooX::Async;
use Object::Tap;
use Proc::Daemon;
use namespace::clean;
docs/three.pl view on Meta::CPAN
#!/usr/bin/env perl
use Modern::Perl '2017';
use strictures 2;
use Three;
use Log::Any::Adapter 'Stderr',
log_level => 'inform';
$| = 1;
if (1) { # getop daemonise
exit 0+! daemonise ();
lib/MooX/Async.pm view on Meta::CPAN
Allows a L<Moo> class to extend a L<IO::Async::Notifier> subclass with
the L<MooX::Async> role and the magic necessary to make
L<IO::Async::Notifier> work as a L<Moo> object.
=head1 BUGS
Certainly.
=cut
use Modern::Perl '2017';
use strictures 2;
use Moo (); # For _install_tracked
use Moo::Role; # For me
use Module::Runtime qw(compose_module_name module_notional_filename);
use namespace::clean;
sub import {
my $pkg = caller;
my $has = $pkg->can('has') or return;
Moo::_install_tracked $pkg, event => sub {
lib/MooX/Async/Console.pm view on Meta::CPAN
and implements a L</ping> and L</quit> command. Another module such as
L<MooX::Async::Console::TCP> is responsible for managing the socket
and the framing protocol.
=head1 BUGS
Certainly.
=cut
use Modern::Perl '2017';
use strictures 2;
use Moo::Role;
use Future;
use Module::Runtime qw(compose_module_name use_module);
use MooX::Async;
use Scalar::Util qw(blessed weaken);
use Syntax::Keyword::Try;
use namespace::clean;
lib/MooX/Async/Console/TCP.pm view on Meta::CPAN
connection is created as a L<MooX::Async::Console::TCPClient> module
which interpets the byte stream and invokes L</on_command> when a
command is ready to be executed.
=head1 BUGS
Certainly.
=cut
use Modern::Perl '2017';
use strictures 2;
use Moo;
use Future;
use MooX::Async;
use MooX::Async::Console::TCPClient;
use Scalar::Util qw(blessed);
use namespace::clean;
extends MooXAsync('Listener');
lib/MooX/Async/Console/TCPClient.pm view on Meta::CPAN
A L<IO::Async::Stream> subclass which waits for a complete line of
text and invokes L</on_line>.
=head1 BUGS
Certainly.
=cut
use Modern::Perl '2017';
use strictures 2;
use Moo;
use MooX::Async;
use namespace::clean;
extends MooXAsync('Stream');
with 'MooX::Role::Logger';
( run in 0.629 second using v1.01-cache-2.11-cpan-a5abf4f5562 )