Adam
view release on metacpan or search on metacpan
+ Fix a mistake we accidentally released in 0.07
0.07 2010-06-10
+ Fix _build__irc to pull from the bot configuration (stephan48)
+ Add RT Plugin example and netcat bot example
0.06 2009-10-30
+ Moses::Declare
MooseX::Declare derived syntax for writing Bots, very experimental.
+ Adam::Logger
Refactor of the logging API so that we can use alternate Logging
implementations, ie Log4perl support.
0.05 2009-09-24
+ Add missing build_requires for Test::Deep
0.04 2009-09-23
+ Remove dependency on MooseX::AttributeHelpers in favor of Moose's Native::Attributes
+ Add MooseX::Aliases dependency for nick/nickname
+ refactor code and clean up generally for release to CPAN
lib/Moses.pm
lib/Moses/Declare.pm
lib/Moses/Declare/Syntax/BotKeyword.pm
lib/Moses/Declare/Syntax/EventKeyword.pm
lib/Moses/Declare/Syntax/PluginKeyword.pm
lib/Moses/Plugin.pm
lib/oses.pm
t/00.load.t
t/01.simple.t
t/02.override.t
t/03.logger.t
t/04.declare.t
t/release-pod-syntax.t
ex/rt-plugin.pl view on Meta::CPAN
has rt => (
isa => 'RT::Client::REST',
is => 'ro',
lazy_build => 1,
handles => { show_ticket => [ 'show', ( type => 'ticket' ) ] },
);
sub _build_rt {
my $rt = RT::Client::REST->new( server => $_[0]->server );
$rt->login( username => $_[0]->user, password => $_[0]->pass, );
return $rt;
}
sub ticket {
my ( $self, $id ) = @_;
try {
if ( my $t = $self->show_ticket( id => $id ) ) {
return "$$t{Status} #${id}: $$t{Subject}";
}
return "Ticket $id not found";
lib/Adam.pm view on Meta::CPAN
);
use MooseX::Aliases;
use Adam::Logger::Default;
with qw(
MooseX::SimpleConfig
MooseX::Getopt
);
has logger => (
does => 'Adam::Logger::API',
is => 'ro',
traits => ['NoGetopt'],
lazy_build => 1,
handles => 'Adam::Logger::API',
);
sub _build_logger { Adam::Logger::Default->new() }
has nickname => (
isa => 'Str',
reader => 'get_nickname',
alias => 'nick',
traits => ['Getopt'],
cmd_flag => 'nickname',
required => 1,
builder => 'default_nickname',
);
lib/Adam/Logger/API.pm view on Meta::CPAN
package Adam::Logger::API;
BEGIN {
$Adam::Logger::API::VERSION = '0.91';
}
# ABSTRACT: API Role for the Adam logger
# Dist::Zilla: +PodWeaver
use Moose::Role;
use namespace::autoclean;
requires qw(
log
debug
info
notice
warning
error
critical
alert
emergency
);
1;
=pod
=head1 NAME
Adam::Logger::API - API Role for the Adam logger
=head1 VERSION
version 0.91
=head1 AUTHORS
=over 4
=item *
lib/Adam/Logger/Default.pm view on Meta::CPAN
package Adam::Logger::Default;
BEGIN {
$Adam::Logger::Default::VERSION = '0.91';
}
# ABSTRACT: Default logger for Adam bots
# Dist::Zilla: +PodWeaver
use Moose;
with qw(
Adam::Logger::API
MooseX::LogDispatch::Levels
);
1;
=pod
=head1 NAME
Adam::Logger::Default - Default logger for Adam bots
=head1 VERSION
version 0.91
=head1 AUTHORS
=over 4
=item *
lib/Adam/Plugin.pm view on Meta::CPAN
# Dist::Zilla: +PodWeaver
use Moose;
use namespace::autoclean;
has bot => (
isa => 'Adam',
is => 'ro',
required => 1,
handles => [
qw(
log
owner
irc
yield
privmsg
nick
)
],
);
has _events => (
lib/Adam/Plugin.pm view on Meta::CPAN
return 1;
}
sub PCI_unregister {
my ( $self, $irc ) = @_;
return 1;
}
sub _default {
my ( $self, $irc, $event ) = @_;
$self->log->notice("_default called for $event");
}
1;
=pod
=head1 NAME
( run in 0.730 second using v1.01-cache-2.11-cpan-49f99fa48dc )