Alice
view release on metacpan or search on metacpan
lib/Alice/Window.pm view on Meta::CPAN
package Alice::Window;
use Encode;
use utf8;
use Alice::MessageBuffer;
use Text::MicroTemplate qw/encoded_string/;
use IRC::Formatting::HTML qw/irc_to_html/;
use Any::Moose;
use AnyEvent;
my $url_regex = qr/\b(https?:\/\/(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»ââââ]))/i;
has buffer => (
is => 'rw',
required => 1,
);
has title => (
is => 'ro',
isa => 'Str',
required => 1,
);
has topic => (
is => 'rw',
isa => 'HashRef[Str|Undef]',
default => sub {{
string => 'no topic set',
author => '',
time => time,
}}
);
has id => (
is => 'ro',
required => 1,
);
has disabled => (
is => 'rw',
default => 0,
);
has render => (
is => 'ro',
required => 1,
);
sub sort_name {
my $name = lc $_[0]->title;
$name =~ s/^[^\w\d]+//;
$name;
}
sub pretty_name {
my $self = shift;
if ($self->is_channel) {
return substr $self->title, 1;
}
return $self->title;
}
has type => (
is => 'ro',
( run in 0.891 second using v1.01-cache-2.11-cpan-39bf76dae61 )