Why not adopt me?
This distribution is up for adoption!
If you're interested then please contact the PAUSE module admins via
email.
NAME
IRC::Toolkit::Role::CaseMap - Role for classes that track IRC casemapping
SYNOPSIS
package MyIRC;
use Moo;
has casemap => (
is => 'rw',
default => sub { 'rfc1459' },
coerce => sub { lc $_[0] },
);
with 'IRC::Toolkit::Role::CaseMap';
sub mymeth {
my ($self, $nickname, $one, $two) = @_;
my $lowered = $self->lower( $nickname );
my $uppered = $self->upper( $nickname );
if ( $self->equal( $one, $two ) ) {
...
}
}
DESCRIPTION
A Role::Tiny role that provides convenient helper methods for classes that track IRC casemapping, such as IRC client libraries.
This role requires
a casemap attribute that returns one of 'rfc1459', 'ascii', or 'strict-rfc1459' -- see IRC::Toolkit::Case for details on IRC casemap issues.
lower
Returns the IRC-lowercased string.
upper
Returns the IRC-uppercased string.
equal
Expects two strings; returns true if they are equal per the current casemap rules. Returns empty list if the strings do not match.
AUTHOR
Jon Portnoy <avenj@cobaltirc.org>