Adam

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	+ 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

MANIFEST  view on Meta::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.746 second using v1.01-cache-2.11-cpan-49f99fa48dc )